pub struct ConvexPolyhedron<S>where
    S: BaseFloat,
{ /* private fields */ }
Expand description

Convex polyhedron primitive.

Can contain any number of vertices, but a high number of vertices will affect performance of course. It is recommended for high vertex counts, to also provide the faces, this will cause the support function to use hill climbing on a half edge structure, resulting in better performance. The breakpoint is around 250 vertices, but the face version is only marginally slower on lower vertex counts (about 1-2%), while for higher vertex counts it’s about 2-5 times faster.

Implementations

Create a new convex polyhedron from the given vertices.

Create a new convex polyhedron from the given vertices and faces.

Create a new convex polyhedron from the given vertices and faces. Will remove any duplicate vertices.

Return an iterator that will yield tuples of the 3 vertices of each face

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Compute the bounding volume
Compute the bounding volume

Ray must be in object space

Result returned by the intersection test
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more

TODO: better algorithm for finding faces to intersect with?

Ray must be in object space

This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Point type
Get the support point on the shape in a given direction. Read more
Serialize this value into the given Serde serializer. Read more
Compute the mass of the shape based on its material

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.