Struct physx::articulation_link::PxArticulationLink
source · #[repr(transparent)]pub struct PxArticulationLink<L, Geom: Shape> { /* private fields */ }
Expand description
A new type wrapper for PxArticulationLink.
Parametrized by its user data type, and the type of its Shapes.
Trait Implementations§
source§impl<L, Geom: Shape> ArticulationLink for PxArticulationLink<L, Geom>
impl<L, Geom: Shape> ArticulationLink for PxArticulationLink<L, Geom>
source§unsafe fn from_raw(
ptr: *mut PxArticulationLink,
user_data: Self::UserData
) -> Option<Owner<Self>>
unsafe fn from_raw( ptr: *mut PxArticulationLink, user_data: Self::UserData ) -> Option<Owner<Self>>
Safety Read more
source§fn get_user_data(&self) -> &Self::UserData
fn get_user_data(&self) -> &Self::UserData
Get the user data.
source§fn get_user_data_mut(&mut self) -> &mut Self::UserData
fn get_user_data_mut(&mut self) -> &mut Self::UserData
Get the user data.
source§fn enable_collision(&mut self, enable: bool)
fn enable_collision(&mut self, enable: bool)
Enable collisions for this link. Equivalent to setting SimulationShape to false for all attached shapes.
source§fn get_link_index(&self) -> u32
fn get_link_index(&self) -> u32
Get the index of the this link in it’s parent articulation’s link list.
source§fn get_inbound_joint_dof(&self) -> u32
fn get_inbound_joint_dof(&self) -> u32
Get the degrees of freedom of the inbound joint.
source§fn get_nb_children(&self) -> u32
fn get_nb_children(&self) -> u32
Get the number of children links this link has.
source§fn get_children(&self) -> Vec<&Self>
fn get_children(&self) -> Vec<&Self>
Gets a Vec of the child links of this link.
source§impl<P, L, Geom: Shape> Class<P> for PxArticulationLink<L, Geom>where
PxArticulationLink: Class<P>,
impl<P, L, Geom: Shape> Class<P> for PxArticulationLink<L, Geom>where PxArticulationLink: Class<P>,
source§fn as_ptr(&self) -> *const P
fn as_ptr(&self) -> *const P
Returns a raw const pointer to the wrapped type.
Retrieving a raw pointer is safe. However, pretty much any use of a raw pointer is unsafe.
In particular: this pointer should not be used to construct a second owning wrapper around the pointer.
source§fn as_mut_ptr(&mut self) -> *mut P
fn as_mut_ptr(&mut self) -> *mut P
Returns a raw mut pointer to the wrapped type.
Retrieving a raw pointer is safe. However, pretty much any use of a raw pointer is unsafe.
In particular: this pointer should not be used to construct a second owning wrapper around the pointer.
source§impl<L, Geom: Shape> Drop for PxArticulationLink<L, Geom>
impl<L, Geom: Shape> Drop for PxArticulationLink<L, Geom>
source§impl<L, Geom: Shape> RigidActor for PxArticulationLink<L, Geom>
impl<L, Geom: Shape> RigidActor for PxArticulationLink<L, Geom>
type Shape = Geom
source§fn get_nb_constraints(&self) -> u32
fn get_nb_constraints(&self) -> u32
Get the number of constraints on this rigid actor.
source§fn get_constraints(&mut self) -> Vec<&mut Constraint>
fn get_constraints(&mut self) -> Vec<&mut Constraint>
Get the constraints effecting this rigid actor.
source§fn get_global_pose(&self) -> PxTransform
fn get_global_pose(&self) -> PxTransform
Get the global pose of this rigid actor. The scale is implicitly 1.0.
source§fn get_global_position(&self) -> PxVec3
fn get_global_position(&self) -> PxVec3
Get the global pose of this rigid actor.
source§fn get_global_rotation(&self) -> PxQuat
fn get_global_rotation(&self) -> PxQuat
Get the global rotation of this rigid actor.
source§fn set_global_pose(&mut self, pose: &PxTransform, autowake: bool)
fn set_global_pose(&mut self, pose: &PxTransform, autowake: bool)
Set the global pose of this rigid actor
source§fn get_nb_shapes(&self) -> u32
fn get_nb_shapes(&self) -> u32
Get number of attached shapes
source§fn get_shapes(&self) -> Vec<&Self::Shape>
fn get_shapes(&self) -> Vec<&Self::Shape>
Get a reference to every Shape attached to this actor.
source§fn get_shapes_mut(&mut self) -> Vec<&mut Self::Shape>
fn get_shapes_mut(&mut self) -> Vec<&mut Self::Shape>
Get a mutable reference to every Shape attached to this actor.
source§fn set_collision_filter(
&mut self,
this_layers: CollisionLayers,
other_layers: CollisionLayers,
word3: u32,
word4: u32
)
fn set_collision_filter( &mut self, this_layers: CollisionLayers, other_layers: CollisionLayers, word3: u32, word4: u32 )
Set the collision filter. Collisions will only occur if this_layers & other_layers != 0.
source§fn set_query_filter(&mut self, this_layers: CollisionLayers)
fn set_query_filter(&mut self, this_layers: CollisionLayers)
Set the query filter. Queries will only find this item if queried with one of the flags.
source§fn attach_shape(&mut self, shape: &mut Self::Shape) -> bool
fn attach_shape(&mut self, shape: &mut Self::Shape) -> bool
Attach a shape.
source§fn detach_shape(&mut self, shape: &mut Self::Shape)
fn detach_shape(&mut self, shape: &mut Self::Shape)
Detach a shape.
impl<L: Send, Geom: Shape + Send> Send for PxArticulationLink<L, Geom>
impl<L: Sync, Geom: Shape + Sync> Sync for PxArticulationLink<L, Geom>
Auto Trait Implementations§
impl<L, Geom> RefUnwindSafe for PxArticulationLink<L, Geom>where Geom: RefUnwindSafe, L: RefUnwindSafe,
impl<L, Geom> Unpin for PxArticulationLink<L, Geom>where Geom: Unpin, L: Unpin,
impl<L, Geom> UnwindSafe for PxArticulationLink<L, Geom>where Geom: UnwindSafe, L: UnwindSafe,
Blanket Implementations§
source§impl<T> Actor for Twhere
T: Class<PxActor> + Base,
impl<T> Actor for Twhere T: Class<PxActor> + Base,
source§fn get_world_bounds(&self, inflation: f32) -> PxBounds3
fn get_world_bounds(&self, inflation: f32) -> PxBounds3
Get the world bounds of this actor
source§fn set_actor_flag(&mut self, flag: ActorFlag, value: bool)
fn set_actor_flag(&mut self, flag: ActorFlag, value: bool)
Set a flag on this actor
source§fn set_actor_flags(&mut self, flags: ActorFlags)
fn set_actor_flags(&mut self, flags: ActorFlags)
Set the flags to the provided value
source§fn get_actor_flags(&self) -> ActorFlags
fn get_actor_flags(&self) -> ActorFlags
Get all actor flags
source§fn set_dominance_group(&mut self, group: u8)
fn set_dominance_group(&mut self, group: u8)
Set the dominance group
source§fn get_dominance_group(&self) -> u8
fn get_dominance_group(&self) -> u8
Read the dominance group
source§fn set_owner_client(&mut self, client: u8)
fn set_owner_client(&mut self, client: u8)
Set the owner client of this actor
source§fn get_owner_client(&self) -> u8
fn get_owner_client(&self) -> u8
Read the owner client of this actor
source§fn enable_visualization(&mut self, enable: bool)
fn enable_visualization(&mut self, enable: bool)
Enable visualization of this actor
source§fn enable_gravity(&mut self, enable: bool)
fn enable_gravity(&mut self, enable: bool)
set gravity state
source§impl<T> Base for Twhere
T: Class<PxBase>,
impl<T> Base for Twhere T: Class<PxBase>,
source§fn get_concrete_type_name(&self) -> Option<&str>
fn get_concrete_type_name(&self) -> Option<&str>
Get the name of the real type referenced by this pointer, or None if the returned string is not valid
source§fn get_concrete_type(&self) -> ConcreteType
fn get_concrete_type(&self) -> ConcreteType
Returns an enumerated value identifying the type. Read more
source§fn set_base_flag(&mut self, flag: BaseFlag, value: bool)
fn set_base_flag(&mut self, flag: BaseFlag, value: bool)
Set or unset the specified flag on this object.
source§fn set_base_flags(&mut self, in_flags: BaseFlags)
fn set_base_flags(&mut self, in_flags: BaseFlags)
Set the BaseFlags of this object. Note that replaces all flags currently
on the object. Use
set_base_flag
to set individual flags.source§fn get_base_flags(&self) -> BaseFlags
fn get_base_flags(&self) -> BaseFlags
Read the BaseFlags of this object
source§fn is_releasable(&self) -> bool
fn is_releasable(&self) -> bool
Returns true if this object can be released, i.e., it is not subordinate.
source§impl<T> RigidBody for Twhere
T: Class<PxRigidBody> + RigidActor,
impl<T> RigidBody for Twhere T: Class<PxRigidBody> + RigidActor,
source§fn get_angular_velocity(&self) -> PxVec3
fn get_angular_velocity(&self) -> PxVec3
Get the angular velocity.
source§fn get_linear_velocity(&self) -> PxVec3
fn get_linear_velocity(&self) -> PxVec3
Get the linear velocity.
source§fn get_velocities(&self) -> (PxVec3, PxVec3)
fn get_velocities(&self) -> (PxVec3, PxVec3)
Get the (linear, angular) velocities.
source§fn set_c_mass_local_pose(&mut self, pose: &PxTransform)
fn set_c_mass_local_pose(&mut self, pose: &PxTransform)
Set the pose of the position and orientation of the center of mass. This does not move tha body,
Setting the center of mass too far away may cause instability.
source§fn get_c_mass_local_pose(&self) -> PxTransform
fn get_c_mass_local_pose(&self) -> PxTransform
Get the pose of the center of mass.
source§fn get_inv_mass(&self) -> f32
fn get_inv_mass(&self) -> f32
Get the inverse of the mass of this body.
source§fn set_mass_space_inertia_tensor(&mut self, m: &PxVec3)
fn set_mass_space_inertia_tensor(&mut self, m: &PxVec3)
Sets the inertia tensor using mass space coordinates. Non-diagonal space inertia tensors
must be diagonalized, only the diagonal is passed in. The tensor elements must be non-negative.
Values of 0 represent infinite inertia along that axis, and are not permitted for
PxArticulationLink
s.source§fn get_mass_space_inertia_tensor(&self) -> PxVec3
fn get_mass_space_inertia_tensor(&self) -> PxVec3
Gets the diagonal of the inertia tensor relative to the body’s mass coordinate frame.
A value of 0 represents infinite inertia along that axis.
source§fn get_mass_space_inv_inertia_tensor(&self) -> PxVec3
fn get_mass_space_inv_inertia_tensor(&self) -> PxVec3
Gets the diagonal of the inverse inertia tensor relative to the body’s mass coordinate frame.
A value of 0 represents infinite inertia along that axis.
source§fn set_linear_damping(&mut self, lin_damp: f32)
fn set_linear_damping(&mut self, lin_damp: f32)
Sets the linear damping. Zero represents no damping. Values clamped to [0.0 .. ].
source§fn get_linear_damping(&self) -> f32
fn get_linear_damping(&self) -> f32
Gets the linear damping.
source§fn set_angular_damping(&mut self, ang_damp: f32)
fn set_angular_damping(&mut self, ang_damp: f32)
Sets the angular damping. Zero represents no damping. Values clamped to (0.0, .. ).
source§fn get_angular_damping(&self) -> f32
fn get_angular_damping(&self) -> f32
Get the angular damping.
source§fn set_max_angular_velocity(&mut self, max_ang_vel: f32)
fn set_max_angular_velocity(&mut self, max_ang_vel: f32)
Set the maximum angular velocity. Very rapid rotation can cause simulation errors, setting this value
will clamp velocty before the solver is ran (so velocty may briefly exceed this value).
source§fn get_max_angular_velocity(&self) -> f32
fn get_max_angular_velocity(&self) -> f32
Get the maximum angular velocity.
source§fn set_max_linear_velocity(&mut self, max_lin_vel: f32)
fn set_max_linear_velocity(&mut self, max_lin_vel: f32)
Set the maximum linear velocity. Very rapid movement can cause simulation errors, setting this value
will clamp velocty before the solver is ran (so velocty may briefly exceed this value).
source§fn get_max_linear_velocity(&self) -> f32
fn get_max_linear_velocity(&self) -> f32
Get the maximum linear velocity.
source§fn add_force(&mut self, force: &PxVec3, mode: ForceMode, autowake: bool)
fn add_force(&mut self, force: &PxVec3, mode: ForceMode, autowake: bool)
Apply a force to the actor. This will not cause torque. ForceMode determines how this force is applied.
ForceMode::Acceleration
and ForceMode::VelocityChange
directly effect the acceleration and velocity change
accumulators. ForceMode::Force
and ForceMode::Impulse
are multiplied by inverse mass first.source§fn add_torque(&mut self, torque: &PxVec3, mode: ForceMode, autowake: bool)
fn add_torque(&mut self, torque: &PxVec3, mode: ForceMode, autowake: bool)
Apply a torque to the actor. ForceMode determines how this force is applied.
ForceMode::Acceleration
and ForceMode::VelocityChange
directly effect the angular acceleration and angular velocity change
accumulators. ForceMode::Force
and ForceMode::Impulse
are multiplied by inverse mass first.source§fn clear_force(&mut self, mode: ForceMode)
fn clear_force(&mut self, mode: ForceMode)
Clear the accumulated acceleration or velocity change.
ForceMode::Acceleration
and ForceMode::Force
clear the same accumulator, as do ForceMode::VelocityChange
and ForceMode::Impulse
.source§fn clear_torque(&mut self, mode: ForceMode)
fn clear_torque(&mut self, mode: ForceMode)
Clear the accumulated angular acceleration or angular velocity change.
ForceMode::Acceleration
and ForceMode::Force
clear the same accumulator, as do ForceMode::VelocityChange
and ForceMode::Impulse
.source§fn set_force_and_torque(
&mut self,
force: &PxVec3,
torque: &PxVec3,
mode: ForceMode
)
fn set_force_and_torque( &mut self, force: &PxVec3, torque: &PxVec3, mode: ForceMode )
Set the force and torque accumulators.
source§fn set_rigid_body_flag(&mut self, flag: RigidBodyFlag, value: bool)
fn set_rigid_body_flag(&mut self, flag: RigidBodyFlag, value: bool)
Set a rigid body flag.
source§fn set_rigid_body_flags(&mut self, flags: RigidBodyFlags)
fn set_rigid_body_flags(&mut self, flags: RigidBodyFlags)
Set all the rigid body flags.
source§fn get_rigid_body_flags(&self) -> RigidBodyFlags
fn get_rigid_body_flags(&self) -> RigidBodyFlags
Get the rigid body flags.
source§fn set_min_ccd_advance_coefficient(&mut self, advance_coefficient: f32)
fn set_min_ccd_advance_coefficient(&mut self, advance_coefficient: f32)
Set the CCD advance coefficient, clamped to range [0.0 ..= 1.0]. Default is 0.15. Values near 1.0
ensures that some will be advanced, but objects may slowly drift through eachother. Values near 0.0
will never drift through eachother, but may “jam” ie. not advance through time during a given CCD pass.
source§fn get_min_ccd_advance_coefficient(&self) -> f32
fn get_min_ccd_advance_coefficient(&self) -> f32
Get the CCD advance coefficient.
source§fn set_max_depenetration_velocity(&mut self, bias_clamp: f32)
fn set_max_depenetration_velocity(&mut self, bias_clamp: f32)
sET the maximum allowed depenetration velocity
source§fn get_max_depenetration_velocity(&self) -> f32
fn get_max_depenetration_velocity(&self) -> f32
Get the maximum allowed depenetration velocity
source§fn set_max_contact_impulse(&mut self, max_impulse: f32)
fn set_max_contact_impulse(&mut self, max_impulse: f32)
Set the max number of contact impulses this body may experience
source§fn get_max_contact_impulse(&self) -> f32
fn get_max_contact_impulse(&self) -> f32
Get the max number of contact impulses this body may experience