Struct parry2d::transformation::vhacd::VHACD [−][src]
pub struct VHACD { /* fields omitted */ }
Approximate convex decomposition using the VHACD algorithm.
Implementations
impl VHACD
[src]
impl VHACD
[src]pub fn decompose(
params: &VHACDParameters,
points: &[Point<Real>],
indices: &[[u32; 2]],
keep_voxel_to_primitives_map: bool
) -> Self
[src]
params: &VHACDParameters,
points: &[Point<Real>],
indices: &[[u32; 2]],
keep_voxel_to_primitives_map: bool
) -> Self
Decompose the given polyline (in 2D) or triangle mesh (in 3D).
Parameters
params
- The parameters for the VHACD algorithm execution.points
- The vertex buffer of the polyline (in 2D) or triangle mesh (in 3D).indices
- The index buffer of the polyline (in 2D) or triangle mesh (in 3D).keep_voxel_to_primitives_map
- If set totrue
then a map between the voxels computed during the decomposition, and the primitives (triangle or segment) they intersect will be computed. This is required in order to compute the convex-hulls using the original polyline/trimesh primitives afterwards (otherwise the convex hulls resulting from the convex decomposition will use the voxels vertices).
pub fn from_voxels(params: &VHACDParameters, voxels: VoxelSet) -> Self
[src]
Perform an approximate convex decomposition of a set of voxels.
pub fn voxel_parts(&self) -> &[VoxelSet]
[src]
The almost-convex voxelized parts computed by the VHACD algorithm.
pub fn compute_primitive_intersections(
&self,
points: &[Point<Real>],
indices: &[[u32; 2]]
) -> Vec<Vec<Point<Real>>>
[src]
&self,
points: &[Point<Real>],
indices: &[[u32; 2]]
) -> Vec<Vec<Point<Real>>>
Compute the intersections between the voxelized convex part of this decomposition, and all the primitives from the original decomposed polyline/trimesh,
This will panic if keep_voxel_to_primitives_map
was set to false
when initializing
self
.
pub fn compute_exact_convex_hulls(
&self,
points: &[Point<Real>],
indices: &[[u32; 2]]
) -> Vec<Vec<Point<Real>>>
[src]
&self,
points: &[Point<Real>],
indices: &[[u32; 2]]
) -> Vec<Vec<Point<Real>>>
Compute the convex-hulls of the parts computed by this approximate convex-decomposition, taking into account the primitives from the original polyline/trimesh being decomposed.
This will panic if keep_voxel_to_primitives_map
was set to false
when initializing
self
.
pub fn compute_convex_hulls(&self, downsampling: u32) -> Vec<Vec<Point<Real>>>
[src]
Compute the convex hulls of the voxelized approximately-convex parts
computed by self
on the voxelized model.
Use compute_exact_convex_hulls
instead if the original polyline/trimesh geometry
needs to be taken into account.
Auto Trait Implementations
impl RefUnwindSafe for VHACD
impl RefUnwindSafe for VHACD
impl UnwindSafe for VHACD
impl UnwindSafe for VHACD
Blanket Implementations
impl<T> CheckedAs for T
[src]
impl<T> CheckedAs for T
[src]pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]pub fn lossless_try_into(self) -> Option<Dst>
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]pub fn lossy_into(self) -> Dst
[src]
impl<T> OverflowingAs for T
[src]
impl<T> OverflowingAs for T
[src]pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatingAs for T
[src]
impl<T> SaturatingAs for T
[src]pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> UnwrappedAs for T
[src]
impl<T> UnwrappedAs for T
[src]pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<T> WrappingAs for T
[src]
impl<T> WrappingAs for T
[src]pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,