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.

Get a reference to the user data.

Get a mutable reference to the user data.

Get the number of dofs for the body

Set an articulation flag

Set the articulation flags

Get the articulation flags

Teleport the whole body to the transform and and orientation given by Pose

Create a new cache for this articulation

Release the cache and free the memory

Get the memory size of this cache

Zero everything in the cache

Apply the cache to the articulation

Copy from the articulation to the cache based on the flags

Compute generalized gravity forces acting upon the body and store in cache

Compute the coriolis and centrifugal forces acting upon the multibody

Compute joint force changes caused by external forces

Compute joint acceleration caused by current joint forces

Compute joint force caused by changes in joint acceleration

Compute dense jacobian and store into the cache. Returns: (cols, rows)

Compute the coefficient matrix and store into cache

Compute the force needed to match the velocity and acceleration values given in initial_state

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.

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

Set the collision layer on all links and shapes of this body

Set the collision layer on all links and shapes of this body

Implementors