pub struct ArrayConvexPolytope<const P: usize, const V: usize> {
pub planes: [(Vec3, f32); P],
pub vertices: [Vec3; V],
pub obb: Cuboid,
}Expand description
A convex polytope defined by half-planes and vertices, using const generics
so it can be constructed and stored in const / static contexts.
P is the number of half-planes, V is the number of vertices.
This is mostly meant for usage with codegen where you statically define obstacles based on
some sort of file at build time, and want to be able to use them in const contexts.
Fields§
§planes: [(Vec3, f32); P]§vertices: [Vec3; V]§obb: CuboidImplementations§
Source§impl<const P: usize, const V: usize> ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> ArrayConvexPolytope<P, V>
Sourcepub fn scale(&mut self, factor: f32)
pub fn scale(&mut self, factor: f32)
See Scalable::scale
Trait Implementations§
Source§impl<const P: usize, const V: usize> Clone for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Clone for ArrayConvexPolytope<P, V>
Source§fn clone(&self) -> ArrayConvexPolytope<P, V>
fn clone(&self) -> ArrayConvexPolytope<P, V>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const P: usize, const V: usize, PCL: PointCloudMarker> ColliderComponent<PCL> for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize, PCL: PointCloudMarker> ColliderComponent<PCL> for ArrayConvexPolytope<P, V>
fn add_to_shapes(self, c: &mut Collider<PCL>)
Source§impl<const V: usize, const P: usize, const PV: usize> Collides<ArrayConvexPolygon<V>> for ArrayConvexPolytope<P, PV>
impl<const V: usize, const P: usize, const PV: usize> Collides<ArrayConvexPolygon<V>> for ArrayConvexPolytope<P, PV>
Source§impl<const V: usize, const P: usize, const PV: usize> Collides<ArrayConvexPolytope<P, PV>> for ArrayConvexPolygon<V>
impl<const V: usize, const P: usize, const PV: usize> Collides<ArrayConvexPolytope<P, PV>> for ArrayConvexPolygon<V>
Source§impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for ConvexPolygon
impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for ConvexPolygon
Source§impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for ConvexPolytope
impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for ConvexPolytope
Source§impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for LineSegment
impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for LineSegment
Source§impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for Pointcloud
impl<const P: usize, const V: usize> Collides<ArrayConvexPolytope<P, V>> for Pointcloud
Source§impl<const P: usize, const V: usize, const P2: usize, const V2: usize> Collides<ArrayConvexPolytope<P2, V2>> for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize, const P2: usize, const V2: usize> Collides<ArrayConvexPolytope<P2, V2>> for ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> Collides<ConvexPolygon> for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Collides<ConvexPolygon> for ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> Collides<ConvexPolytope> for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Collides<ConvexPolytope> for ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> Collides<LineSegment> for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Collides<LineSegment> for ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> Collides<Pointcloud> for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Collides<Pointcloud> for ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> From<ArrayConvexPolytope<P, V>> for ConvexPolytope
impl<const P: usize, const V: usize> From<ArrayConvexPolytope<P, V>> for ConvexPolytope
Source§fn from(polytope: ArrayConvexPolytope<P, V>) -> Self
fn from(polytope: ArrayConvexPolytope<P, V>) -> Self
Converts to this type from the input type.
Source§impl<const P: usize, const V: usize> Stretchable for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Stretchable for ArrayConvexPolytope<P, V>
Source§impl<const P: usize, const V: usize> Transformable for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Transformable for ArrayConvexPolytope<P, V>
fn translate(&mut self, offset: Vec3A)
fn rotate_mat(&mut self, mat: Mat3A)
fn rotate_quat(&mut self, quat: Quat)
fn transform(&mut self, mat: Affine3A)
fn translated(self, offset: Vec3A) -> Self
fn translate_d(&mut self, offset: DVec3)
fn translated_d(self, offset: DVec3) -> Self
fn rotated_mat(self, mat: Mat3A) -> Self
fn rotate_mat_d(&mut self, mat: DMat3)
fn rotated_mat_d(self, mat: DMat3) -> Self
fn rotated_quat(self, quat: Quat) -> Self
fn rotate_quat_d(&mut self, quat: DQuat)
fn rotated_quat_d(self, quat: DQuat) -> Self
fn transformed(self, mat: Affine3A) -> Self
fn transform_d(&mut self, mat: DAffine3)
fn transformed_d(self, mat: DAffine3) -> Self
impl<const P: usize, const V: usize> Copy for ArrayConvexPolytope<P, V>
Auto Trait Implementations§
impl<const P: usize, const V: usize> Freeze for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> RefUnwindSafe for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Send for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Sync for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> Unpin for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> UnsafeUnpin for ArrayConvexPolytope<P, V>
impl<const P: usize, const V: usize> UnwindSafe for ArrayConvexPolytope<P, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more