Struct rapier3d::geometry::ColliderBuilder [−][src]
#[must_use = "Builder functions return the updated builder"]pub struct ColliderBuilder {}Show fields
pub shape: SharedShape, pub density: Option<Real>, pub mass_properties: Option<MassProperties>, pub friction: Real, pub friction_combine_rule: CoefficientCombineRule, pub restitution: Real, pub restitution_combine_rule: CoefficientCombineRule, pub position: Isometry<Real>, pub is_sensor: bool, pub active_collision_types: ActiveCollisionTypes, pub active_hooks: ActiveHooks, pub active_events: ActiveEvents, pub user_data: u128, pub collision_groups: InteractionGroups, pub solver_groups: InteractionGroups,
Expand description
A structure responsible for building a new collider.
Fields
shape: SharedShape
The shape of the collider to be built.
density: Option<Real>
The uniform density of the collider to be built.
mass_properties: Option<MassProperties>
Overrides automatic computation of MassProperties
.
If None, it will be computed based on shape and density.
friction: Real
The friction coefficient of the collider to be built.
friction_combine_rule: CoefficientCombineRule
The rule used to combine two friction coefficients.
restitution: Real
The restitution coefficient of the collider to be built.
restitution_combine_rule: CoefficientCombineRule
The rule used to combine two restitution coefficients.
position: Isometry<Real>
The position of this collider.
is_sensor: bool
Is this collider a sensor?
active_collision_types: ActiveCollisionTypes
Contact pairs enabled for this collider.
active_hooks: ActiveHooks
Physics hooks enabled for this collider.
active_events: ActiveEvents
Events enabled for this collider.
user_data: u128
The user-data of the collider being built.
collision_groups: InteractionGroups
The collision groups for the collider being built.
solver_groups: InteractionGroups
The solver groups for the collider being built.
Implementations
impl ColliderBuilder
[src]
impl ColliderBuilder
[src]pub fn new(shape: SharedShape) -> Self
[src]
pub fn new(shape: SharedShape) -> Self
[src]Initialize a new collider builder with the given shape.
pub fn compound(shapes: Vec<(Isometry<Real>, SharedShape)>) -> Self
[src]
pub fn compound(shapes: Vec<(Isometry<Real>, SharedShape)>) -> Self
[src]Initialize a new collider builder with a compound shape.
pub fn ball(radius: Real) -> Self
[src]
pub fn ball(radius: Real) -> Self
[src]Initialize a new collider builder with a ball shape defined by its radius.
pub fn halfspace(outward_normal: Unit<Vector<Real>>) -> Self
[src]
pub fn halfspace(outward_normal: Unit<Vector<Real>>) -> Self
[src]Initialize a new collider build with a half-space shape defined by the outward normal of its planar boundary.
pub fn cylinder(half_height: Real, radius: Real) -> Self
[src]
pub fn cylinder(half_height: Real, radius: Real) -> Self
[src]Initialize a new collider builder with a cylindrical shape defined by its half-height (along along the y axis) and its radius.
pub fn round_cylinder(
half_height: Real,
radius: Real,
border_radius: Real
) -> Self
[src]
pub fn round_cylinder(
half_height: Real,
radius: Real,
border_radius: Real
) -> Self
[src]Initialize a new collider builder with a rounded cylindrical shape defined by its half-height (along along the y axis), its radius, and its roundedness (the radius of the sphere used for dilating the cylinder).
pub fn cone(half_height: Real, radius: Real) -> Self
[src]
pub fn cone(half_height: Real, radius: Real) -> Self
[src]Initialize a new collider builder with a cone shape defined by its half-height (along along the y axis) and its basis radius.
pub fn round_cone(half_height: Real, radius: Real, border_radius: Real) -> Self
[src]
pub fn round_cone(half_height: Real, radius: Real, border_radius: Real) -> Self
[src]Initialize a new collider builder with a rounded cone shape defined by its half-height (along along the y axis), its radius, and its roundedness (the radius of the sphere used for dilating the cylinder).
pub fn capsule_x(half_height: Real, radius: Real) -> Self
[src]
pub fn capsule_x(half_height: Real, radius: Real) -> Self
[src]Initialize a new collider builder with a capsule shape aligned with the x
axis.
pub fn capsule_y(half_height: Real, radius: Real) -> Self
[src]
pub fn capsule_y(half_height: Real, radius: Real) -> Self
[src]Initialize a new collider builder with a capsule shape aligned with the y
axis.
pub fn capsule_z(half_height: Real, radius: Real) -> Self
[src]
pub fn capsule_z(half_height: Real, radius: Real) -> Self
[src]Initialize a new collider builder with a capsule shape aligned with the z
axis.
pub fn cuboid(hx: Real, hy: Real, hz: Real) -> Self
[src]
pub fn cuboid(hx: Real, hy: Real, hz: Real) -> Self
[src]Initialize a new collider builder with a cuboid shape defined by its half-extents.
pub fn round_cuboid(hx: Real, hy: Real, hz: Real, border_radius: Real) -> Self
[src]
pub fn round_cuboid(hx: Real, hy: Real, hz: Real, border_radius: Real) -> Self
[src]Initialize a new collider builder with a round cuboid shape defined by its half-extents and border radius.
pub fn segment(a: Point<Real>, b: Point<Real>) -> Self
[src]
pub fn segment(a: Point<Real>, b: Point<Real>) -> Self
[src]Initializes a collider builder with a segment shape.
pub fn triangle(a: Point<Real>, b: Point<Real>, c: Point<Real>) -> Self
[src]
pub fn triangle(a: Point<Real>, b: Point<Real>, c: Point<Real>) -> Self
[src]Initializes a collider builder with a triangle shape.
pub fn round_triangle(
a: Point<Real>,
b: Point<Real>,
c: Point<Real>,
border_radius: Real
) -> Self
[src]
pub fn round_triangle(
a: Point<Real>,
b: Point<Real>,
c: Point<Real>,
border_radius: Real
) -> Self
[src]Initializes a collider builder with a triangle shape with round corners.
pub fn polyline(
vertices: Vec<Point<Real>>,
indices: Option<Vec<[u32; 2]>>
) -> Self
[src]
pub fn polyline(
vertices: Vec<Point<Real>>,
indices: Option<Vec<[u32; 2]>>
) -> Self
[src]Initializes a collider builder with a polyline shape defined by its vertex and index buffers.
pub fn trimesh(vertices: Vec<Point<Real>>, indices: Vec<[u32; 3]>) -> Self
[src]
pub fn trimesh(vertices: Vec<Point<Real>>, indices: Vec<[u32; 3]>) -> Self
[src]Initializes a collider builder with a triangle mesh shape defined by its vertex and index buffers.
pub fn convex_decomposition(
vertices: &[Point<Real>],
indices: &[[u32; 3]]
) -> Self
[src]
pub fn convex_decomposition(
vertices: &[Point<Real>],
indices: &[[u32; 3]]
) -> Self
[src]Initializes a collider builder with a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts.
pub fn round_convex_decomposition(
vertices: &[Point<Real>],
indices: &[[u32; 3]],
border_radius: Real
) -> Self
[src]
pub fn round_convex_decomposition(
vertices: &[Point<Real>],
indices: &[[u32; 3]],
border_radius: Real
) -> Self
[src]Initializes a collider builder with a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts dilated with round corners.
pub fn convex_decomposition_with_params(
vertices: &[Point<Real>],
indices: &[[u32; 3]],
params: &VHACDParameters
) -> Self
[src]
pub fn convex_decomposition_with_params(
vertices: &[Point<Real>],
indices: &[[u32; 3]],
params: &VHACDParameters
) -> Self
[src]Initializes a collider builder with a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts.
pub fn round_convex_decomposition_with_params(
vertices: &[Point<Real>],
indices: &[[u32; 3]],
params: &VHACDParameters,
border_radius: Real
) -> Self
[src]
pub fn round_convex_decomposition_with_params(
vertices: &[Point<Real>],
indices: &[[u32; 3]],
params: &VHACDParameters,
border_radius: Real
) -> Self
[src]Initializes a collider builder with a compound shape obtained from the decomposition of the given trimesh (in 3D) or polyline (in 2D) into convex parts dilated with round corners.
pub fn convex_hull(points: &[Point<Real>]) -> Option<Self>
[src]
pub fn convex_hull(points: &[Point<Real>]) -> Option<Self>
[src]Initializes a new collider builder with a 2D convex polygon or 3D convex polyhedron obtained after computing the convex-hull of the given points.
pub fn round_convex_hull(
points: &[Point<Real>],
border_radius: Real
) -> Option<Self>
[src]
pub fn round_convex_hull(
points: &[Point<Real>],
border_radius: Real
) -> Option<Self>
[src]Initializes a new collider builder with a round 2D convex polygon or 3D convex polyhedron
obtained after computing the convex-hull of the given points. The shape is dilated
by a sphere of radius border_radius
.
pub fn convex_mesh(
points: Vec<Point<Real>>,
indices: &[[u32; 3]]
) -> Option<Self>
[src]
pub fn convex_mesh(
points: Vec<Point<Real>>,
indices: &[[u32; 3]]
) -> Option<Self>
[src]Creates a new collider builder that is a convex polyhedron formed by the given triangle-mesh assumed to be convex (no convex-hull will be automatically computed).
pub fn round_convex_mesh(
points: Vec<Point<Real>>,
indices: &[[u32; 3]],
border_radius: Real
) -> Option<Self>
[src]
pub fn round_convex_mesh(
points: Vec<Point<Real>>,
indices: &[[u32; 3]],
border_radius: Real
) -> Option<Self>
[src]Creates a new collider builder that is a round convex polyhedron formed by the
given triangle-mesh assumed to be convex (no convex-hull will be automatically
computed). The triangle mesh shape is dilated by a sphere of radius border_radius
.
pub fn heightfield(heights: DMatrix<Real>, scale: Vector<Real>) -> Self
[src]
pub fn heightfield(heights: DMatrix<Real>, scale: Vector<Real>) -> Self
[src]Initializes a collider builder with a heightfield shape defined by its set of height and a scale factor along each coordinate axis.
pub fn default_friction() -> Real
[src]
pub fn default_friction() -> Real
[src]The default friction coefficient used by the collider builder.
pub fn default_density() -> Real
[src]
pub fn default_density() -> Real
[src]The default density used by the collider builder.
pub fn user_data(self, data: u128) -> Self
[src]
pub fn user_data(self, data: u128) -> Self
[src]Sets an arbitrary user-defined 128-bit integer associated to the colliders built by this builder.
pub fn collision_groups(self, groups: InteractionGroups) -> Self
[src]
pub fn collision_groups(self, groups: InteractionGroups) -> Self
[src]Sets the collision groups used by this collider.
Two colliders will interact iff. their collision groups are compatible. See InteractionGroups::test for details.
pub fn solver_groups(self, groups: InteractionGroups) -> Self
[src]
pub fn solver_groups(self, groups: InteractionGroups) -> Self
[src]Sets the solver groups used by this collider.
Forces between two colliders in contact will be computed iff their solver groups are compatible. See InteractionGroups::test for details.
pub fn sensor(self, is_sensor: bool) -> Self
[src]
pub fn sensor(self, is_sensor: bool) -> Self
[src]Sets whether or not the collider built by this builder is a sensor.
Sensors will have a default density of zero,
but if you call Self::mass_properties
you can assign a mass to a sensor.
pub fn active_hooks(self, active_hooks: ActiveHooks) -> Self
[src]
pub fn active_hooks(self, active_hooks: ActiveHooks) -> Self
[src]The set of physics hooks enabled for this collider.
pub fn active_events(self, active_events: ActiveEvents) -> Self
[src]
pub fn active_events(self, active_events: ActiveEvents) -> Self
[src]The set of events enabled for this collider.
pub fn active_collision_types(
self,
active_collision_types: ActiveCollisionTypes
) -> Self
[src]
pub fn active_collision_types(
self,
active_collision_types: ActiveCollisionTypes
) -> Self
[src]The set of active collision types for this collider.
pub fn friction(self, friction: Real) -> Self
[src]
pub fn friction(self, friction: Real) -> Self
[src]Sets the friction coefficient of the collider this builder will build.
pub fn friction_combine_rule(self, rule: CoefficientCombineRule) -> Self
[src]
pub fn friction_combine_rule(self, rule: CoefficientCombineRule) -> Self
[src]Sets the rule to be used to combine two friction coefficients in a contact.
pub fn restitution(self, restitution: Real) -> Self
[src]
pub fn restitution(self, restitution: Real) -> Self
[src]Sets the restitution coefficient of the collider this builder will build.
pub fn restitution_combine_rule(self, rule: CoefficientCombineRule) -> Self
[src]
pub fn restitution_combine_rule(self, rule: CoefficientCombineRule) -> Self
[src]Sets the rule to be used to combine two restitution coefficients in a contact.
pub fn density(self, density: Real) -> Self
[src]
pub fn density(self, density: Real) -> Self
[src]Sets the uniform density of the collider this builder will build.
This will be overridden by a call to Self::mass_properties
so it only makes sense to call
either Self::density
or Self::mass_properties
.
pub fn mass_properties(self, mass_properties: MassProperties) -> Self
[src]
pub fn mass_properties(self, mass_properties: MassProperties) -> Self
[src]Sets the mass properties of the collider this builder will build.
If this is set, Self::density
will be ignored, so it only makes sense to call
either Self::density
or Self::mass_properties
.
pub fn translation(self, translation: Vector<Real>) -> Self
[src]
pub fn translation(self, translation: Vector<Real>) -> Self
[src]Sets the initial translation of the collider to be created.
If the collider will be attached to a rigid-body, this sets the translation relative to the rigid-body it will be attached to.
pub fn rotation(self, angle: AngVector<Real>) -> Self
[src]
pub fn rotation(self, angle: AngVector<Real>) -> Self
[src]Sets the initial orientation of the collider to be created.
If the collider will be attached to a rigid-body, this sets the orientation relative to the rigid-body it will be attached to.
pub fn position(self, pos: Isometry<Real>) -> Self
[src]
pub fn position(self, pos: Isometry<Real>) -> Self
[src]Sets the initial position (translation and orientation) of the collider to be created.
If the collider will be attached to a rigid-body, this sets the position relative to the rigid-body it will be attached to.
pub fn position_wrt_parent(self, pos: Isometry<Real>) -> Self
[src]
👎 Deprecated: Use .position
instead.
pub fn position_wrt_parent(self, pos: Isometry<Real>) -> Self
[src]Use .position
instead.
Sets the initial position (translation and orientation) of the collider to be created, relative to the rigid-body it is attached to.
pub fn delta(self, delta: Isometry<Real>) -> Self
[src]
👎 Deprecated: Use .position
instead.
pub fn delta(self, delta: Isometry<Real>) -> Self
[src]Use .position
instead.
Set the position of this collider in the local-space of the rigid-body it is attached to.
pub fn components(
&self
) -> (ColliderChanges, ColliderPosition, ColliderBroadPhaseData, ColliderShape, ColliderType, ColliderMaterial, ColliderFlags, ColliderMassProps)
[src]
pub fn components(
&self
) -> (ColliderChanges, ColliderPosition, ColliderBroadPhaseData, ColliderShape, ColliderType, ColliderMaterial, ColliderFlags, ColliderMassProps)
[src]Builds all the components required by a collider.
Trait Implementations
impl Clone for ColliderBuilder
[src]
impl Clone for ColliderBuilder
[src]fn clone(&self) -> ColliderBuilder
[src]
fn clone(&self) -> ColliderBuilder
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl !RefUnwindSafe for ColliderBuilder
impl Send for ColliderBuilder
impl Sync for ColliderBuilder
impl Unpin for ColliderBuilder
impl !UnwindSafe for ColliderBuilder
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
[src]
impl<T> Downcast for T where
T: Any,
[src]pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
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 to_subset(&self) -> Option<SS>
[src]The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
[src]
pub fn is_in_subset(&self) -> bool
[src]Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
[src]
pub fn from_subset(element: &SS) -> SP
[src]The inclusion map: converts self
to the equivalent element of its superset.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more