Trait physx::articulation_reduced_coordinate::ArticulationReducedCoordinate [−][src]
pub trait ArticulationReducedCoordinate: Class<PxArticulationReducedCoordinate> + ArticulationBase + UserData {}Show 30 methods
unsafe fn from_raw(
ptr: *mut PxArticulationReducedCoordinate,
user_data: Self::UserData
) -> Option<Owner<Self>> { ... } fn get_user_data(&self) -> &Self::UserData { ... } fn get_user_data_mut(&mut self) -> &mut Self::UserData { ... } fn common_init(&mut self) { ... } fn get_dofs(&self) -> usize { ... } fn set_articulation_flag(&mut self, flag: ArticulationFlag, value: bool) { ... } fn set_articulation_flags(&mut self, flag: ArticulationFlag) { ... } fn get_articulation_flags(&self) -> ArticulationFlags { ... } fn teleport_to(&mut self, pose: &PxTransform) { ... } fn create_cache(&self) -> Option<ArticulationCache> { ... } fn release_cache(&self, cache: ArticulationCache) { ... } fn get_cache_data_size(&self) -> u32 { ... } fn zero_cache(&mut self, cache: &mut ArticulationCache) { ... } fn apply_cache(
&mut self,
cache: &mut ArticulationCache,
flag: BitFlags<ArticulationCacheFlag>,
autowake: bool
) { ... } fn copy_internal_state_to_cache(
&self,
cache: &mut ArticulationCache,
flag: BitFlags<ArticulationCacheFlag>
) { ... } fn compute_generalized_gravity_force(&self, cache: &mut ArticulationCache) { ... } fn compute_coriolis_and_centrifugal_force(
&self,
cache: &mut ArticulationCache
) { ... } fn compute_generalized_external_force(&self, cache: &mut ArticulationCache) { ... } fn compute_joint_acceleration(&self, cache: &mut ArticulationCache) { ... } fn compute_joint_force(&self, cache: &mut ArticulationCache) { ... } fn compute_dense_jacobian(
&self,
cache: &mut ArticulationCache
) -> (u32, u32) { ... } fn compute_coefficient_matrix(&self, cache: &mut ArticulationCache) { ... } fn compute_lambda(
&self,
cache: &mut ArticulationCache,
initial_state: &mut ArticulationCache,
joint_torques: &[f32],
max_iter: u32
) -> bool { ... } fn compute_generalized_mass_matrix(&self, cache: &mut ArticulationCache) { ... } fn pack_joint_data(&self, maximum: &[f32], reduced: &mut [f32]) { ... } fn unpack_joint_data(&self, reduced: &[f32], maximum: &mut [f32]) { ... } fn get_center_of_mass(&self) -> PxVec3 { ... } fn get_center_of_mass_and_velocity(&self) -> (PxVec3, PxVec3) { ... } fn set_collision_filter(
&mut self,
this_layer: BitFlags<CollisionLayer>,
other_layer: BitFlags<CollisionLayer>
) { ... } fn set_query_filter(&mut self, this_layer: BitFlags<CollisionLayer>) { ... }
Provided methods
Safety
Owner’s own the pointer they wrap, using the pointer after dropping the Owner,
or creating multiple Owners from the same pointer will cause UB. Use into_ptr
to
retrieve the pointer and consume the Owner without dropping the pointee.
This also sets the user data field, all constructors must initialize user data.
fn get_user_data(&self) -> &Self::UserData
fn get_user_data(&self) -> &Self::UserData
Get a reference to the user data.
fn get_user_data_mut(&mut self) -> &mut Self::UserData
fn get_user_data_mut(&mut self) -> &mut Self::UserData
Get a mutable reference to the user data.
fn common_init(&mut self)
fn set_articulation_flag(&mut self, flag: ArticulationFlag, value: bool)
fn set_articulation_flag(&mut self, flag: ArticulationFlag, value: bool)
Set an articulation flag
fn set_articulation_flags(&mut self, flag: ArticulationFlag)
fn set_articulation_flags(&mut self, flag: ArticulationFlag)
Set the articulation flags
fn get_articulation_flags(&self) -> ArticulationFlags
fn get_articulation_flags(&self) -> ArticulationFlags
Get the articulation flags
fn teleport_to(&mut self, pose: &PxTransform)
fn teleport_to(&mut self, pose: &PxTransform)
Teleport the whole body to the transform and and orientation given by Pose
fn create_cache(&self) -> Option<ArticulationCache>
fn create_cache(&self) -> Option<ArticulationCache>
Create a new cache for this articulation
fn release_cache(&self, cache: ArticulationCache)
fn release_cache(&self, cache: ArticulationCache)
Release the cache and free the memory
fn get_cache_data_size(&self) -> u32
fn get_cache_data_size(&self) -> u32
Get the memory size of this cache
fn zero_cache(&mut self, cache: &mut ArticulationCache)
fn zero_cache(&mut self, cache: &mut ArticulationCache)
Zero everything in the cache
fn apply_cache(
&mut self,
cache: &mut ArticulationCache,
flag: BitFlags<ArticulationCacheFlag>,
autowake: bool
)
fn apply_cache(
&mut self,
cache: &mut ArticulationCache,
flag: BitFlags<ArticulationCacheFlag>,
autowake: bool
)
Apply the cache to the articulation
fn copy_internal_state_to_cache(
&self,
cache: &mut ArticulationCache,
flag: BitFlags<ArticulationCacheFlag>
)
fn copy_internal_state_to_cache(
&self,
cache: &mut ArticulationCache,
flag: BitFlags<ArticulationCacheFlag>
)
Copy from the articulation to the cache based on the flags
fn compute_generalized_gravity_force(&self, cache: &mut ArticulationCache)
fn compute_generalized_gravity_force(&self, cache: &mut ArticulationCache)
Compute generalized gravity forces acting upon the body and store in cache
fn compute_coriolis_and_centrifugal_force(&self, cache: &mut ArticulationCache)
fn compute_coriolis_and_centrifugal_force(&self, cache: &mut ArticulationCache)
Compute the coriolis and centrifugal forces acting upon the multibody
fn compute_generalized_external_force(&self, cache: &mut ArticulationCache)
fn compute_generalized_external_force(&self, cache: &mut ArticulationCache)
Compute joint force changes caused by external forces
fn compute_joint_acceleration(&self, cache: &mut ArticulationCache)
fn compute_joint_acceleration(&self, cache: &mut ArticulationCache)
Compute joint acceleration caused by current joint forces
fn compute_joint_force(&self, cache: &mut ArticulationCache)
fn compute_joint_force(&self, cache: &mut ArticulationCache)
Compute joint force caused by changes in joint acceleration
fn compute_dense_jacobian(&self, cache: &mut ArticulationCache) -> (u32, u32)
fn compute_dense_jacobian(&self, cache: &mut ArticulationCache) -> (u32, u32)
Compute dense jacobian and store into the cache. Returns: (cols, rows)
fn compute_coefficient_matrix(&self, cache: &mut ArticulationCache)
fn compute_coefficient_matrix(&self, cache: &mut ArticulationCache)
Compute the coefficient matrix and store into cache
fn compute_lambda(
&self,
cache: &mut ArticulationCache,
initial_state: &mut ArticulationCache,
joint_torques: &[f32],
max_iter: u32
) -> bool
fn compute_lambda(
&self,
cache: &mut ArticulationCache,
initial_state: &mut ArticulationCache,
joint_torques: &[f32],
max_iter: u32
) -> bool
Compute the force needed to match the velocity and acceleration values given in initial_state
fn compute_generalized_mass_matrix(&self, cache: &mut ArticulationCache)
fn compute_generalized_mass_matrix(&self, cache: &mut ArticulationCache)
Compute the generalized mass matrix and store into the cache
Pack the maximum coordinates data in maximum
into the reduced
coordinates data.
Unpack the reduced/generalized coordinates data in reduced
into maximum
. Maximum needs to have six slots for every joint.
fn get_center_of_mass(&self) -> PxVec3
fn get_center_of_mass(&self) -> PxVec3
Compute the total center of mass w.r.t. all attached shapes
Compute the total center of mass and velocity w.r.t. all attached shapes
fn set_collision_filter(
&mut self,
this_layer: BitFlags<CollisionLayer>,
other_layer: BitFlags<CollisionLayer>
)
fn set_collision_filter(
&mut self,
this_layer: BitFlags<CollisionLayer>,
other_layer: BitFlags<CollisionLayer>
)
Set the collision layer on all links and shapes of this body
fn set_query_filter(&mut self, this_layer: BitFlags<CollisionLayer>)
fn set_query_filter(&mut self, this_layer: BitFlags<CollisionLayer>)
Set the collision layer on all links and shapes of this body
Implementors
impl<U, L: ArticulationLink> ArticulationReducedCoordinate for PxArticulationReducedCoordinate<U, L>