[−][src]Struct parry2d::transformation::vhacd::VHACD
Approximate convex decomposition using the VHACD algorithm.
Implementations
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
[src]
impl Send for VHACD
[src]
impl Sync for VHACD
[src]
impl Unpin for VHACD
[src]
impl UnwindSafe for VHACD
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]
Dst: LosslessTryFrom<Src>,
pub fn lossless_try_into(self) -> Option<Dst>
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]
Dst: LossyFrom<Src>,
pub fn lossy_into(self) -> Dst
[src]
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
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, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,