#[repr(transparent)]
pub struct PxArticulationReducedCoordinate<U, Link: ArticulationLink> { /* private fields */ }
Expand description

A new type wrapper for PxArticulationReducedCoordinate.

Parametrized by its user data type, and the type of its ArticulationLinks.

Trait Implementations§

source§

impl<U, L: ArticulationLink> ArticulationReducedCoordinate for PxArticulationReducedCoordinate<U, L>

source§

unsafe fn from_raw( ptr: *mut PxArticulationReducedCoordinate, user_data: Self::UserData ) -> Option<Owner<Self>>

Safety Read more
source§

fn get_user_data(&self) -> &Self::UserData

Get a reference to the user data.
source§

fn get_user_data_mut(&mut self) -> &mut Self::UserData

Get a mutable reference to the user data.
source§

fn common_init(&mut self)

source§

fn get_dofs(&self) -> usize

Get the number of dofs for the body
source§

fn set_articulation_flag(&mut self, flag: ArticulationFlag, value: bool)

Set an articulation flag
source§

fn set_articulation_flags(&mut self, flags: ArticulationFlags)

Set the articulation flags
source§

fn get_articulation_flags(&self) -> ArticulationFlags

Get the articulation flags
Get the total number of links on this articulation
Get a reference the root link of this articulation if it has one
source§

fn set_root_global_pose(&mut self, pose: &PxTransform)

source§

fn get_root_global_pose(&self) -> PxTransform

See physx_sys::PxArticulationReducedCoordinate_getRootGlobalPose, prefer using [ArticulationCache::get_root_link_data]
source§

fn create_cache(&self) -> Option<ArticulationCache>

Create a new cache for this articulation
source§

fn get_cache_data_size(&self) -> u32

Get the memory size of this cache
source§

fn apply_cache( &mut self, cache: &mut ArticulationCache, flags: ArticulationCacheFlags, autowake: bool )

Apply the cache to the articulation
source§

fn copy_internal_state_to_cache( &self, cache: &mut ArticulationCache, flags: ArticulationCacheFlags )

Copy from the articulation to the cache based on the flags
source§

fn compute_generalized_gravity_force(&self, cache: &mut ArticulationCache)

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

fn compute_coriolis_and_centrifugal_force(&self, cache: &mut ArticulationCache)

Compute the coriolis and centrifugal forces acting upon the multibody
source§

fn compute_generalized_external_force(&self, cache: &mut ArticulationCache)

Compute joint force changes caused by external forces
source§

fn compute_joint_acceleration(&self, cache: &mut ArticulationCache)

Compute joint acceleration caused by current joint forces
source§

fn compute_joint_force(&self, cache: &mut ArticulationCache)

Compute joint force caused by changes in joint acceleration
source§

fn compute_dense_jacobian(&self, cache: &mut ArticulationCache) -> (u32, u32)

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

fn compute_coefficient_matrix(&self, cache: &mut ArticulationCache)

Compute the coefficient matrix and store into cache
source§

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
source§

fn compute_generalized_mass_matrix(&self, cache: &mut ArticulationCache)

Compute the generalized mass matrix and store into the cache
source§

fn pack_joint_data(&self, maximum: &[f32], reduced: &mut [f32])

Pack the maximum coordinates data in maximum into the reduced coordinates data.
source§

fn unpack_joint_data(&self, reduced: &[f32], maximum: &mut [f32])

Unpack the reduced/generalized coordinates data in reduced into maximum. Maximum needs to have six slots for every joint.
source§

fn get_center_of_mass(&self) -> PxVec3

Compute the total center of mass w.r.t. all attached shapes
source§

fn get_center_of_mass_and_velocity(&self) -> (PxVec3, PxVec3)

Compute the total center of mass and velocity w.r.t. all attached shapes
source§

fn set_collision_filter( &mut self, this_layer: CollisionLayers, other_layer: CollisionLayers )

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

fn set_query_filter(&mut self, this_layer: CollisionLayers)

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

fn set_solver_iteration_counts( &mut self, min_position_iters: u32, min_velocity_iters: u32 )

Sets the number of iterations the solver should perform. If the articulation is behaving erratically, increasing the iteration counts may improve stability.
source§

fn get_solver_iteration_counts(&self) -> (u32, u32)

Get the number of (position, velocity) iterations the solver will perform.
Get a vec of all the links
Get a mutable vec of all the links
source§

impl<S, U, Link: ArticulationLink> Class<S> for PxArticulationReducedCoordinate<U, Link>where PxArticulationReducedCoordinate: Class<S>,

source§

fn as_ptr(&self) -> *const S

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 S

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<U, Link: ArticulationLink> Drop for PxArticulationReducedCoordinate<U, Link>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<U: Send, Link: ArticulationLink + Send> Send for PxArticulationReducedCoordinate<U, Link>

source§

impl<U: Sync, Link: ArticulationLink + Send> Sync for PxArticulationReducedCoordinate<U, Link>

Auto Trait Implementations§

§

impl<U, Link> RefUnwindSafe for PxArticulationReducedCoordinate<U, Link>where Link: RefUnwindSafe, U: RefUnwindSafe,

§

impl<U, Link> Unpin for PxArticulationReducedCoordinate<U, Link>where Link: Unpin, U: Unpin,

§

impl<U, Link> UnwindSafe for PxArticulationReducedCoordinate<U, Link>where Link: UnwindSafe, U: UnwindSafe,

Blanket Implementations§

source§

impl<T> Actor for Twhere T: Class<PxActor> + Base,

source§

fn get_type(&self) -> ActorType

Get the concrete type of the actor
source§

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)

Set a flag on this actor
source§

fn set_actor_flags(&mut self, flags: ActorFlags)

Set the flags to the provided value
source§

fn get_actor_flags(&self) -> ActorFlags

Get all actor flags
source§

fn set_dominance_group(&mut self, group: u8)

Set the dominance group
source§

fn get_dominance_group(&self) -> u8

Read the dominance group
source§

fn set_owner_client(&mut self, client: u8)

Set the owner client of this actor
source§

fn get_owner_client(&self) -> u8

Read the owner client of this actor
source§

fn enable_visualization(&mut self, enable: bool)

Enable visualization of this actor
source§

fn enable_gravity(&mut self, enable: bool)

set gravity state
source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Base for Twhere T: Class<PxBase>,

source§

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

Returns an enumerated value identifying the type. Read more
source§

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)

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

Read the BaseFlags of this object
source§

fn is_releasable(&self) -> bool

Returns true if this object can be released, i.e., it is not subordinate.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.