The Geometry trait is used to specify the geometric attributes associated with topological structures in a MeshGraph:
pub trait Geometry {
type Vertex: Attribute;
type Arc: Attribute + Default;
type Edge: Attribute + Default;
type Face: Attribute + Default;
}
Each associated type requires the Attribute trait. This trait provides no methods and only requires Clone. This trait should be removed, because it provides virtually no functionality and disallows users from using types outside of their own crate as attributes due to coherence rules. For example, this test uses f32 for face geometry and could not be written outside of the Plexus crate, because it would not be possible to implement Attribute for f32.
The
Geometry
trait is used to specify the geometric attributes associated with topological structures in aMeshGraph
:Each associated type requires the
Attribute
trait. This trait provides no methods and only requiresClone
. This trait should be removed, because it provides virtually no functionality and disallows users from using types outside of their own crate as attributes due to coherence rules. For example, this test usesf32
for face geometry and could not be written outside of the Plexus crate, because it would not be possible to implementAttribute
forf32
.