pub trait ExpMap<P: Point, V: Tensor>: Chart<P, V> {
// Provided methods
fn base_point(&self) -> P { ... }
fn check_base_point_is_origin(&self) -> bool
where V: Form { ... }
fn check_preservation_of_origin(&self) -> bool
where V: Form { ... }
fn check_chart_at_base_point(&self) -> bool
where V: Form { ... }
}Expand description
By implementing ExpMap you certify that for C<P, V>: ExpMap<P, V> that straight lines through the origin in R^N map to geodesics on M, and that distances from the origin equal arc lengths along those geodesics.
Additionally, you certify that Self::chart_at(&self.base_point()) == self
Provided Methods§
fn base_point(&self) -> P
fn check_base_point_is_origin(&self) -> boolwhere
V: Form,
fn check_preservation_of_origin(&self) -> boolwhere
V: Form,
Sourcefn check_chart_at_base_point(&self) -> boolwhere
V: Form,
fn check_chart_at_base_point(&self) -> boolwhere
V: Form,
If a chart centred at p exists, chart_at(p) returns it.
Formally: chart_at(p).base_point() == p whenever p is
the base point of some valid chart in this atlas.
This is weaker than the TangentBundle centring invariant,
which requires this to hold for all p. Here it is only
required when p is already a base point of some chart —
i.e. chart_at correctly identifies the chart when queried
at a known base point.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".