#[repr(transparent)]pub struct PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,{ /* private fields */ }
Expand description
A new type wrapper for PxScene. Parametrized by it’s user data type, the ArticulationLink, RigidStatic, and RigidDynamic actors, Articulation, and ArticulationReducedCoordinate articulations, and Collision, Trigger, ConstraintBreak, WakeSleep and Advance Callbacks. Due to the number of generic type parameters, creating a type alias is recommended.
Trait Implementations
sourceimpl<P, U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Class<P> for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
PxScene: Class<P>,
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
impl<P, U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Class<P> for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
PxScene: Class<P>,
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
sourcefn 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. Read more
sourcefn 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. Read more
sourceimpl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Drop for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Drop for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
sourceimpl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Scene for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Scene for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink,
S: RigidStatic,
D: RigidDynamic,
T: Articulation,
C: ArticulationReducedCoordinate,
OC: CollisionCallback,
OT: TriggerCallback,
OCB: ConstraintBreakCallback,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
type ArticulationLink = L
type RigidStatic = S
type RigidDynamic = D
type Articulation = T
type ArticulationReducedCoordinate = C
type ActorMap = ActorMap<L, S, D>
type ArticulationMap = ArticulationMap<T, C>
type Aggregate = PxAggregate<L, S, D, T, C>
sourcefn get_user_data(&self) -> &Self::UserData
fn get_user_data(&self) -> &Self::UserData
Get the user data.
sourcefn get_user_data_mut(&mut self) -> *mut Self::UserData
fn get_user_data_mut(&mut self) -> *mut Self::UserData
Get the user data.
sourcefn get_pvd_client(&mut self) -> Option<&mut PvdSceneClient>
fn get_pvd_client(&mut self) -> Option<&mut PvdSceneClient>
Get the visual debugger client
sourcefn create_controller_manager<C: Controller>(
&mut self,
locking_enabled: bool
) -> Option<Owner<PxControllerManager<C>>>
fn create_controller_manager<C: Controller>(
&mut self,
locking_enabled: bool
) -> Option<Owner<PxControllerManager<C>>>
Create a controller manager.
sourcefn add_dynamic_actor(&mut self, actor: Owner<Self::RigidDynamic>)
fn add_dynamic_actor(&mut self, actor: Owner<Self::RigidDynamic>)
Add a dynamic actor to the world.
sourcefn add_dynamic_actors(&mut self, actors: Vec<Owner<Self::RigidDynamic>>)
fn add_dynamic_actors(&mut self, actors: Vec<Owner<Self::RigidDynamic>>)
Add dynamic actors to the world.
sourcefn add_static_actor(&mut self, actor: Owner<Self::RigidStatic>)
fn add_static_actor(&mut self, actor: Owner<Self::RigidStatic>)
Add a static actor to the world.
sourcefn add_static_actors(&mut self, actors: Vec<Owner<Self::RigidStatic>>)
fn add_static_actors(&mut self, actors: Vec<Owner<Self::RigidStatic>>)
Add dynamic actors to the world.
sourcefn add_articulation_link(&mut self, actor: Owner<Self::ArticulationLink>)
fn add_articulation_link(&mut self, actor: Owner<Self::ArticulationLink>)
Add an articulation link to the world.
sourcefn add_articulation_links(&mut self, actors: Vec<Owner<Self::ArticulationLink>>)
fn add_articulation_links(&mut self, actors: Vec<Owner<Self::ArticulationLink>>)
Add articulation links to the world.
sourcefn remove_actor(&mut self, actor: &mut impl Actor, wake_touching: bool)
fn remove_actor(&mut self, actor: &mut impl Actor, wake_touching: bool)
Remove an actor from the scene.
sourcefn remove_actors(&mut self, actors: Vec<&mut impl Actor>, wake_touching: bool)
fn remove_actors(&mut self, actors: Vec<&mut impl Actor>, wake_touching: bool)
Remove actors from the scene.
sourcefn add_articulation(&mut self, articulation: Owner<impl ArticulationBase>)
fn add_articulation(&mut self, articulation: Owner<impl ArticulationBase>)
Add an articulation to the scene.
sourcefn remove_articulation(
&mut self,
articulation: &mut impl ArticulationBase,
wake_touching: bool
)
fn remove_articulation(
&mut self,
articulation: &mut impl ArticulationBase,
wake_touching: bool
)
Remove an articulation from the scene.
sourcefn add_aggregate(&mut self, aggregate: Owner<Self::Aggregate>)
fn add_aggregate(&mut self, aggregate: Owner<Self::Aggregate>)
Add an aggregate to the scene.
sourcefn remove_aggregate(
&mut self,
aggregate: &mut Self::Aggregate,
wake_touching: bool
)
fn remove_aggregate(
&mut self,
aggregate: &mut Self::Aggregate,
wake_touching: bool
)
Remove an aggregate from the scene.
sourcefn add_pruning_structure(&mut self, pruning_structure: Owner<PruningStructure>)
fn add_pruning_structure(&mut self, pruning_structure: Owner<PruningStructure>)
Add a rpuning structure to the scene.
sourcefn simulate(
&mut self,
time_step: f32,
completion_task: Option<&mut PxBaseTask>,
scratch: Option<&mut ScratchBuffer>
)
fn simulate(
&mut self,
time_step: f32,
completion_task: Option<&mut PxBaseTask>,
scratch: Option<&mut ScratchBuffer>
)
Run a simulation update step.
sourcefn fetch_results(&mut self, block: bool) -> Result<(), u32>
fn fetch_results(&mut self, block: bool) -> Result<(), u32>
Check if or wait until
simulate
has completed. Returns Ok(()) when it has, Err otherwise.sourcefn step(
&mut self,
time_step: f32,
completion_task: Option<&mut PxBaseTask>,
scratch: Option<&mut ScratchBuffer>,
block: bool
) -> Result<(), u32>
fn step(
&mut self,
time_step: f32,
completion_task: Option<&mut PxBaseTask>,
scratch: Option<&mut ScratchBuffer>,
block: bool
) -> Result<(), u32>
Combines
simulate
and fetch_results
into one call.sourcefn get_static_structure(&self) -> PruningStructureType
fn get_static_structure(&self) -> PruningStructureType
Get the pruning structure type for static physics objects that was set when creating the scene.
sourcefn get_dynamic_structure(&self) -> PruningStructureType
fn get_dynamic_structure(&self) -> PruningStructureType
Get the pruning structure type for dynamic physics objects that was set when creating the scene.
sourcefn flush_query_updates(&mut self)
fn flush_query_updates(&mut self)
Fluish any changes to the scene query represenation, forcing any buffered changes to be applied now,
rather than when the next scene query is executed. Read more
sourcefn get_articulations(&mut self) -> Vec<&mut Self::ArticulationMap>
fn get_articulations(&mut self) -> Vec<&mut Self::ArticulationMap>
Get a Vec of the articulations in the scene.
sourcefn get_actors(&mut self, actor_type: ActorTypeFlags) -> Vec<&mut Self::ActorMap>
fn get_actors(&mut self, actor_type: ActorTypeFlags) -> Vec<&mut Self::ActorMap>
Get the actors in the scene, filtered by ActorTypeFlags.
sourcefn get_active_actors(&mut self) -> &mut [&mut Self::ActorMap]
fn get_active_actors(&mut self) -> &mut [&mut Self::ActorMap]
Get the active actor buffer of actors that were updated during the last
simulate
call.sourcefn get_static_actors(&mut self) -> Vec<&mut Self::RigidStatic>
fn get_static_actors(&mut self) -> Vec<&mut Self::RigidStatic>
Get the static actors in the scene.
sourcefn get_dynamic_actors(&mut self) -> Vec<&mut Self::RigidDynamic>
fn get_dynamic_actors(&mut self) -> Vec<&mut Self::RigidDynamic>
Get the dynamic actors in the scene.
sourcefn get_aggregates(&mut self) -> Vec<&mut Self::Aggregate>
fn get_aggregates(&mut self) -> Vec<&mut Self::Aggregate>
Get the aggregates in the scene.
sourcefn get_constraints(&mut self) -> Vec<&mut Constraint>
fn get_constraints(&mut self) -> Vec<&mut Constraint>
Get all the constraints currently in this scene.
sourceunsafe fn set_contact_modify_callback(
&mut self,
callback: &mut PxContactModifyCallback
)
unsafe fn set_contact_modify_callback(
&mut self,
callback: &mut PxContactModifyCallback
)
Safety Read more
sourceunsafe fn get_contact_modify_callback(&self) -> &PxContactModifyCallback
unsafe fn get_contact_modify_callback(&self) -> &PxContactModifyCallback
Safety Read more
sourceunsafe fn set_ccd_contact_modify_callback(
&mut self,
callback: &mut PxCCDContactModifyCallback
)
unsafe fn set_ccd_contact_modify_callback(
&mut self,
callback: &mut PxCCDContactModifyCallback
)
Safety Read more
sourceunsafe fn get_ccd_contact_callback(&self) -> &PxCCDContactModifyCallback
unsafe fn get_ccd_contact_callback(&self) -> &PxCCDContactModifyCallback
Safety Read more
sourceunsafe fn set_broad_phase_callback(
&mut self,
callback: &mut PxBroadPhaseCallback
)
unsafe fn set_broad_phase_callback(
&mut self,
callback: &mut PxBroadPhaseCallback
)
Safety Read more
sourceunsafe fn get_broad_phase_callback(&self) -> &PxBroadPhaseCallback
unsafe fn get_broad_phase_callback(&self) -> &PxBroadPhaseCallback
Safety Read more
sourcefn reset_filtering(&mut self, actor: &mut impl Actor)
fn reset_filtering(&mut self, actor: &mut impl Actor)
Reset the collision filtering for an actor.
sourcefn reset_rigid_actor_filtering<R: RigidActor>(
&mut self,
actor: &mut R,
shapes: &[&mut R::Shape]
)
fn reset_rigid_actor_filtering<R: RigidActor>(
&mut self,
actor: &mut R,
shapes: &[&mut R::Shape]
)
Reset collision filtering for a RigidActor and shapes.
sourcefn get_kinematic_kinematic_filtering_mode(&self) -> PairFilteringMode
fn get_kinematic_kinematic_filtering_mode(&self) -> PairFilteringMode
Get the kinematic-kinematic filtering mode.
sourcefn get_static_kinematic_filtering_mode(&self) -> PairFilteringMode
fn get_static_kinematic_filtering_mode(&self) -> PairFilteringMode
Get the static-kinematic filtering mode.
sourcefn set_gravity(&mut self, x: f32, y: f32, z: f32)
fn set_gravity(&mut self, x: f32, y: f32, z: f32)
Sets the gravity vector.
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Send for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink + Send,
S: RigidStatic + Send,
D: RigidDynamic + Send,
T: Articulation + Send,
C: ArticulationReducedCoordinate + Send,
OC: CollisionCallback + Send,
OT: TriggerCallback + Send,
OCB: ConstraintBreakCallback + Send,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Sync for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
L: ArticulationLink + Sync,
S: RigidStatic + Sync,
D: RigidDynamic + Sync,
T: Articulation + Sync,
C: ArticulationReducedCoordinate + Sync,
OC: CollisionCallback + Sync,
OT: TriggerCallback + Sync,
OCB: ConstraintBreakCallback + Sync,
OWS: WakeSleepCallback<L, S, D>,
OA: AdvanceCallback<L, D>,
Auto Trait Implementations
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> RefUnwindSafe for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
C: RefUnwindSafe,
D: RefUnwindSafe,
L: RefUnwindSafe,
OA: RefUnwindSafe,
OC: RefUnwindSafe,
OCB: RefUnwindSafe,
OT: RefUnwindSafe,
OWS: RefUnwindSafe,
S: RefUnwindSafe,
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> Unpin for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
C: Unpin,
D: Unpin,
L: Unpin,
OA: Unpin,
OC: Unpin,
OCB: Unpin,
OT: Unpin,
OWS: Unpin,
S: Unpin,
T: Unpin,
U: Unpin,
impl<U, L, S, D, T, C, OC, OT, OCB, OWS, OA> UnwindSafe for PxScene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>where
C: UnwindSafe,
D: UnwindSafe,
L: UnwindSafe,
OA: UnwindSafe,
OC: UnwindSafe,
OCB: UnwindSafe,
OT: UnwindSafe,
OWS: UnwindSafe,
S: UnwindSafe,
T: UnwindSafe,
U: UnwindSafe,
Blanket Implementations
sourceimpl<T> Actor for Twhere
T: Class<PxActor> + Base,
impl<T> Actor for Twhere
T: Class<PxActor> + Base,
sourcefn get_world_bounds(&self, inflation: f32) -> PxBounds3
fn get_world_bounds(&self, inflation: f32) -> PxBounds3
Get the world bounds of this actor
sourcefn 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
sourcefn set_actor_flags(&mut self, flags: BitFlags<ActorFlag>)
fn set_actor_flags(&mut self, flags: BitFlags<ActorFlag>)
Set the flags to the provided value
sourcefn get_actor_flags(&self) -> BitFlags<ActorFlag>
fn get_actor_flags(&self) -> BitFlags<ActorFlag>
Get all actor flags
sourcefn set_dominance_group(&mut self, group: u8)
fn set_dominance_group(&mut self, group: u8)
Set the dominance group
sourcefn get_dominance_group(&self) -> u8
fn get_dominance_group(&self) -> u8
Read the dominance group
sourcefn set_owner_client(&mut self, client: u8)
fn set_owner_client(&mut self, client: u8)
Set the owner client of this actor
sourcefn get_owner_client(&self) -> u8
fn get_owner_client(&self) -> u8
Read the owner client of this actor
sourcefn enable_visualization(&mut self, enable: bool)
fn enable_visualization(&mut self, enable: bool)
Enable visualization of this actor
sourcefn enable_gravity(&mut self, enable: bool)
fn enable_gravity(&mut self, enable: bool)
set gravity state
sourceimpl<T> Base for Twhere
T: Class<PxBase>,
impl<T> Base for Twhere
T: Class<PxBase>,
sourcefn 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
sourcefn get_concrete_type(&self) -> ConcreteType
fn get_concrete_type(&self) -> ConcreteType
Returns an enumerated value identifying the type. This may return ConcreteType::Undefined
in surprising situations, notably this does not seem to work with
get_active_actors
. Use
get_type
for actors if possible. Read moresourcefn 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.
sourcefn set_base_flags(&mut self, in_flags: BitFlags<BaseFlag>)
fn set_base_flags(&mut self, in_flags: BitFlags<BaseFlag>)
Set the BaseFlags of this object. Note that replaces all flags currently
on the object. Use
set_base_flag
to set individual flags. Read moresourcefn get_base_flags(&self) -> BitFlags<BaseFlag>
fn get_base_flags(&self) -> BitFlags<BaseFlag>
Read the BaseFlags of this object
sourcefn is_releasable(&self) -> bool
fn is_releasable(&self) -> bool
Returns true if this object can be released, i.e., it is not subordinate.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more