Skip to main content

FlatTorus3

Struct FlatTorus3 

Source
pub struct FlatTorus3 { /* private fields */ }
Expand description

Rectangular torus with canonical representatives in [-cᵢ/2, cᵢ/2).

Implementations§

Source§

impl FlatTorus3

Source

pub fn new(cell: Vec3) -> Self

Panics unless every side is finite and positive.

Source

pub fn cube(side: f32) -> Self

Source

pub fn cell(&self) -> Vec3

Source

pub fn injectivity_radius(&self) -> f32

Trait Implementations§

Source§

impl Clone for FlatTorus3

Source§

fn clone(&self) -> FlatTorus3

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CoveringSpace for FlatTorus3

Source§

type CoverIso = Iso3

Source§

fn cover_identity(&self) -> Iso3

Source§

fn cover_compose(&self, a: Iso3, b: Iso3) -> Iso3

Source§

fn cover_inverse(&self, a: Iso3) -> Iso3

Source§

fn cover_apply(&self, iso: Iso3, p: Vec3) -> Vec3

Source§

fn cover_transport(&self, iso: Iso3, _at: Vec3, v: Vec3) -> Vec3

Source§

impl Debug for FlatTorus3

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for FlatTorus3

Source§

fn eq(&self, other: &FlatTorus3) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl QuotientSpace for FlatTorus3

Source§

fn face_pairings(&self) -> impl Iterator<Item = Iso3>

Iteration order is part of the contract.
Source§

fn in_fundamental_domain(&self, p: Vec3) -> bool

Source§

fn wrap_to_domain(&self, p: Vec3) -> (Vec3, Iso3)

Source§

impl Space for FlatTorus3

Source§

type Point = Vec3

Source§

type Vector = Vec3

Source§

type Frame = Quat

Source§

fn frame_at(&self, _at: Vec3) -> Quat

Source§

fn distance(&self, a: Vec3, b: Vec3) -> f32

Source§

fn exp(&self, at: Vec3, v: Vec3) -> Vec3

Advances for unit time along the geodesic with initial velocity v.
Source§

fn log(&self, from: Vec3, to: Vec3) -> Vec3

Source§

fn parallel_transport(&self, _from: Vec3, _to: Vec3, v: Vec3) -> Vec3

Source§

fn is_chart_flat(&self) -> bool

True when chart arithmetic respects the global geometry, including identifications.
Source§

fn chart_envelope(&self) -> f32

Geodesic distance from the chart origin beyond which Self::valid_point refuses a point.
Source§

fn valid_point(&self, p: Vec3) -> bool

Finite, inside the chart, and within Self::chart_envelope of the origin.
Source§

fn parallel_transport_along( &self, path: &[Self::Point], v: Self::Vector, ) -> Self::Vector

Composes transport along consecutive points; fewer than two points leave v unchanged.
Source§

impl WgslSpace for FlatTorus3

Source§

fn wgsl_impl(&self) -> Cow<'static, str>

Emits loam_distance, loam_origin_distance, loam_exp, loam_log, loam_geodesic_step, and LOAM_MAX_ARC over the space’s point type.
Source§

fn wgsl_accuracy(&self) -> WgslAccuracy

Source§

impl Copy for FlatTorus3

Source§

impl StructuralPartialEq for FlatTorus3

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more