pub trait IsometryGroup: Space {
type Iso: Copy + Send + Sync + 'static;
// Required methods
fn iso_identity(&self) -> Self::Iso;
fn iso_compose(&self, a: Self::Iso, b: Self::Iso) -> Self::Iso;
fn iso_inverse(&self, a: Self::Iso) -> Self::Iso;
fn iso_apply(&self, iso: Self::Iso, p: Self::Point) -> Self::Point;
fn iso_transport(
&self,
iso: Self::Iso,
at: Self::Point,
v: Self::Vector,
) -> Self::Vector;
}Required Associated Types§
Required Methods§
fn iso_identity(&self) -> Self::Iso
Sourcefn iso_compose(&self, a: Self::Iso, b: Self::Iso) -> Self::Iso
fn iso_compose(&self, a: Self::Iso, b: Self::Iso) -> Self::Iso
a ∘ b, apply b first, then a.