Cargo Features

[dependencies]
parry3d = { version = "0.28.0", default-features = false, features = ["std", "required-features", "dim3", "f32", "serde-serialize", "rkyv", "bytemuck-serialize", "simd-stable", "simd-nightly", "enhanced-determinism", "parallel", "wavefront", "alloc", "spade", "improved_fixed_point_support", "encase", "simd-is-enabled"] }
default = required-features, spade, std

These default features are set whenever parry3d is added without default-features = false somewhere in the dependency tree.

std default = ena, slab

Enables std of arrayvec, glamx, simba, optional spade, and thiserror

glamx:

Standard library support

Affects validation::check_convex_hull

required-features default = dim3, f32
dim3 required-features

Affects aabb_utils::support_map_aabb, mass_properties::MassProperties.principal_inertia_local_frame, math::DIM, math::orthonormal_subspace_basis, contact_manifold::ContactManifold.points, contact_manifolds_capsule_capsule::contact_manifold_capsule_capsule, epa::epa3, nonlinear_rigid_motion::NonlinearRigidMotion.angvel, ray_triangle::local_ray_intersection_with_triangle, sat_cuboid_cuboid::cuboid_cuboid_compute_separation_wrt_local_line, sat_cuboid_cuboid::cuboid_cuboid_find_local_separating_edge_twoway, sat_cuboid_segment::cuboid_segment_find_local_separating_edge_twoway, sat_cuboid_support_map::cuboid_support_map_compute_separation_wrt_local_line, sat_cuboid_support_map::cuboid_support_map_find_local_separating_edge_twoway, sat_cuboid_triangle::cuboid_triangle_find_local_separating_edge_twoway, sat_cuboid_triangle::triangle_cuboid_find_local_separating_normal_oneway, shape_cast_heightfield_shape::cast_shapes_heightfield_shape, shape::RoundCylinder, shape::RoundCone, trimesh::TriMeshPseudoNormals

f32 required-features

Affects math::ivect_to_vect, math::ivect_to_vect, math::vect_to_ivect, math::vect_to_ivect

serde-serialize = serde, serde_arrays

Enables serde of bitflags, glamx, optional hashbrown, and optional spade

glamx:

Serialization features

Affects hashmap::serialize_hashmap_capacity, hashmap::deserialize_hashmap_capacity, hashset::serialize_hashset_capacity, hashset::deserialize_hashset_capacity

rkyv

Enables rkyv and rkyv of glamx

glamx:

Rkyv serialization

bytemuck-serialize = bytemuck

Enables bytemuck of glamx

glamx:

Bytemuck support

simd-stable = simd-is-enabled

Enables wide of simba

simd-nightly = simd-is-enabled

Enables portable_simd of simba

enhanced-determinism = indexmap

Enables libm_force of simba and libm of glamx

glamx:

Math library features

Affects hashmap::FxHashMap32, hashset::FxHashSet32

parallel = rayon
wavefront = obj

Adds TriMesh:to_obj_file function.

alloc spade = downcast-rs, hashbrown, rstar, smallvec

Enables approx of glamx

glamx:

Approx is always available via re-export

Affects parry3d::transformation, query::epa, query_dispatcher::PersistentQueryDispatcher, composite_shape::CompositeShape, composite_shape::TypedCompositeShape, shape::composite_shape, shape::Shape.clone_box, shape::Shape.clone_dyn, shape::Shape.scale_dyn, shape::Shape.as_composite_shape, utils::hashmap, utils::hashset, shape::RoundConvexPolyhedron, shape::RoundConvexPolygon

spade default = alloc

Enables spade

improved_fixed_point_support
encase

Enables encase, encase of glamx

simd-is-enabled simd-nightly? simd-stable?

Do not enable this feature directly. It is automatically enabled with the "simd-stable" or "simd-nightly" feature.

Affects wops::simd_swap

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

downcast-rs alloc?
slab std
serde serde-serialize?
serde_arrays serde-serialize?
indexmap enhanced-determinism?
hashbrown alloc?
rayon parallel?
bytemuck bytemuck-serialize?
rstar alloc?
obj wavefront?
ena std
smallvec alloc?