Trait physx::articulation_base::ArticulationBase
source · [−]pub trait ArticulationBase: Class<PxArticulationBase> + Base {
type ArticulationLink: ArticulationLink;
Show 20 methods
fn set_solver_iteration_counts(
&mut self,
min_position_iters: u32,
min_velocity_iters: u32
) { ... }
fn get_solver_iteration_counts(&self) -> (u32, u32) { ... }
fn is_sleeping(&self) -> bool { ... }
fn set_sleep_threshold(&mut self, threshold: f32) { ... }
fn get_sleep_threshold(&self) -> f32 { ... }
fn set_stabilization_threshold(&mut self, threshold: f32) { ... }
fn get_stabilization_threshold(&self) -> f32 { ... }
fn set_wake_counter(&mut self, threshold: f32) { ... }
fn get_wake_counter(&self) -> f32 { ... }
fn wake_up(&mut self) { ... }
fn put_to_sleep(&mut self) { ... }
fn get_nb_links(&self) -> usize { ... }
fn root_link(&self) -> Option<&Self::ArticulationLink> { ... }
fn root_link_mut(&mut self) -> Option<&mut Self::ArticulationLink> { ... }
fn get_links(&self) -> Vec<&Self::ArticulationLink> { ... }
fn get_links_mut(&mut self) -> Vec<&mut Self::ArticulationLink> { ... }
fn get_world_bounds(&self, inflation: f32) -> PxBounds3 { ... }
fn create_link(
&mut self,
parent: Option<&mut Self::ArticulationLink>,
pose: &PxTransform,
user_data: <Self::ArticulationLink as UserData>::UserData
) -> Option<&mut Self::ArticulationLink> { ... }
fn create_articulation_joint<J: ArticulationJointBase>(
&mut self,
parent: &mut Self::ArticulationLink,
parent_frame: &PxTransform,
child: &mut Self::ArticulationLink,
child_frame: &PxTransform
) -> Option<&mut J> { ... }
unsafe fn release_articulation_joint(
&mut self,
joint: &mut impl ArticulationJointBase
) { ... }
}
Required Associated Types
Provided Methods
sourcefn set_solver_iteration_counts(
&mut self,
min_position_iters: u32,
min_velocity_iters: u32
)
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.
sourcefn get_solver_iteration_counts(&self) -> (u32, u32)
fn get_solver_iteration_counts(&self) -> (u32, u32)
Get the number of (position, velocity) iterations the solver will perform.
sourcefn is_sleeping(&self) -> bool
fn is_sleeping(&self) -> bool
Check if the articulation is sleeping
sourcefn set_sleep_threshold(&mut self, threshold: f32)
fn set_sleep_threshold(&mut self, threshold: f32)
Set the inactivity threshold for sleeping this articulation
sourcefn get_sleep_threshold(&self) -> f32
fn get_sleep_threshold(&self) -> f32
Read back the inactivity threshold
sourcefn set_stabilization_threshold(&mut self, threshold: f32)
fn set_stabilization_threshold(&mut self, threshold: f32)
Set the stabilization threshold for this articulation
sourcefn get_stabilization_threshold(&self) -> f32
fn get_stabilization_threshold(&self) -> f32
Get the stabilization threshold for this articulation
sourcefn set_wake_counter(&mut self, threshold: f32)
fn set_wake_counter(&mut self, threshold: f32)
Set the counter for how many steps more the articulation will be awake if below the energy threshold. When this is non-zero, the articulation may sleep but is not required to do so depending on other factors.
sourcefn get_wake_counter(&self) -> f32
fn get_wake_counter(&self) -> f32
Get the counter for how many steps more the agent will be awake if below the energy threshold.
sourcefn put_to_sleep(&mut self)
fn put_to_sleep(&mut self)
Put the articulation to sleep immediately
sourcefn get_nb_links(&self) -> usize
fn get_nb_links(&self) -> usize
Get the total number of links on this articulation
sourcefn root_link(&self) -> Option<&Self::ArticulationLink>
fn root_link(&self) -> Option<&Self::ArticulationLink>
Get a reference the root link of this articulation if it has one
sourcefn root_link_mut(&mut self) -> Option<&mut Self::ArticulationLink>
fn root_link_mut(&mut self) -> Option<&mut Self::ArticulationLink>
Get a mutable reference to the root link of this articulation if it has one
sourcefn get_links(&self) -> Vec<&Self::ArticulationLink>
fn get_links(&self) -> Vec<&Self::ArticulationLink>
Get a vec of all the links
sourcefn get_links_mut(&mut self) -> Vec<&mut Self::ArticulationLink>
fn get_links_mut(&mut self) -> Vec<&mut Self::ArticulationLink>
Get a mutable vec of all the links
sourcefn get_world_bounds(&self, inflation: f32) -> PxBounds3
fn get_world_bounds(&self, inflation: f32) -> PxBounds3
Get the world bounds of this articulation
sourcefn create_link(
&mut self,
parent: Option<&mut Self::ArticulationLink>,
pose: &PxTransform,
user_data: <Self::ArticulationLink as UserData>::UserData
) -> Option<&mut Self::ArticulationLink>
fn create_link(
&mut self,
parent: Option<&mut Self::ArticulationLink>,
pose: &PxTransform,
user_data: <Self::ArticulationLink as UserData>::UserData
) -> Option<&mut Self::ArticulationLink>
Add a link to this articulation
sourcefn create_articulation_joint<J: ArticulationJointBase>(
&mut self,
parent: &mut Self::ArticulationLink,
parent_frame: &PxTransform,
child: &mut Self::ArticulationLink,
child_frame: &PxTransform
) -> Option<&mut J>
fn create_articulation_joint<J: ArticulationJointBase>(
&mut self,
parent: &mut Self::ArticulationLink,
parent_frame: &PxTransform,
child: &mut Self::ArticulationLink,
child_frame: &PxTransform
) -> Option<&mut J>
Create a joint between two articulation Links
sourceunsafe fn release_articulation_joint(
&mut self,
joint: &mut impl ArticulationJointBase
)
unsafe fn release_articulation_joint(
&mut self,
joint: &mut impl ArticulationJointBase
)
Release an articulation joint, freeing it.
Safety
attempting to use the joint after this call is invalid.