Struct physx::physics::PxPhysics

source ·
#[repr(transparent)]
pub struct PxPhysics<Geom: Shape> { /* private fields */ }
Expand description

A new type wrapper for PxPhysics.

Parametrized by the type of the Shapes it can create.

Implementations§

source§

impl<Geom: Shape> PxPhysics<Geom>

source

pub fn new(foundation: &mut impl Foundation) -> Option<Owner<Self>>

Trait Implementations§

source§

impl<T, Geom: Shape> Class<T> for PxPhysics<Geom>where PxPhysics: Class<T>,

source§

fn as_ptr(&self) -> *const T

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 T

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<Geom: Shape> Drop for PxPhysics<Geom>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<Geom: Shape> Physics for PxPhysics<Geom>

§

type Shape = Geom

source§

fn create<Desc: Descriptor<Self>>(&mut self, desc: Desc) -> Desc::Target

source§

fn create_scene<U, L, S, D, C, OC, OT, OCB, OWS, OA>( &mut self, scene_descriptor: SceneDescriptor<U, L, S, D, C, OC, OT, OCB, OWS, OA> ) -> Option<Owner<PxScene<U, L, S, D, C, OC, OT, OCB, OWS, OA>>>where L: ArticulationLink, S: RigidStatic, D: RigidDynamic, C: ArticulationReducedCoordinate, OC: CollisionCallback, OT: TriggerCallback, OCB: ConstraintBreakCallback, OWS: WakeSleepCallback<L, S, D>, OA: AdvanceCallback<L, D>,

Create a new scene with from a descriptor.
source§

fn create_aggregate<L, S, D, C>( &mut self, max_actors: u32, max_shapes: u32, filter_hint: AggregateFilterHint ) -> Option<Owner<PxAggregate<L, S, D, C>>>where L: ArticulationLink, S: RigidStatic, D: RigidDynamic, C: ArticulationReducedCoordinate,

Create a new aggregate. Read more
source§

fn create_articulation_reduced_coordinate<U, L: ArticulationLink>( &mut self, user_data: U ) -> Option<Owner<PxArticulationReducedCoordinate<U, L>>>

Create a new articulation. Must be added to a scene with the same user data types.
source§

fn create_bvh(&mut self, stream: &mut PxInputStream) -> Option<Owner<Bvh>>

Create a new BVH.
source§

fn create_constraint( &mut self, first_actor: &mut impl RigidActor, second_actor: &mut impl RigidActor, connector: &mut PxConstraintConnector, shaders: &PxConstraintShaderTable, data_size: u32 ) -> Option<Owner<Constraint>>

Create a new constraint. The constraint class-trait is not implemented yet.
source§

fn create_convex_mesh( &mut self, stream: &mut PxInputStream ) -> Option<Owner<ConvexMesh>>

Create a new convex mesh. The convex mesh class-trait is not implemented yet.
source§

fn create_height_field( &mut self, stream: &mut PxInputStream ) -> Option<Owner<HeightField>>

Create a new height field.
source§

fn create_material( &mut self, static_friction: f32, dynamic_friction: f32, restitution: f32, user_data: <<Self::Shape as Shape>::Material as UserData>::UserData ) -> Option<Owner<<Self::Shape as Shape>::Material>>

Create a new material with ref count set to one.
source§

fn create_pruning_structure( &mut self, actors: Vec<&mut impl RigidActor> ) -> Option<Owner<PruningStructure>>

Create a new pruning structure. The pruning structure class-trait is not implemented yet.
source§

fn create_dynamic<U>( &mut self, transform: &PxTransform, user_data: U ) -> Option<Owner<PxRigidDynamic<U, Self::Shape>>>

Create a dynamic actor with given transform and user data. Other fields are initialized to their defaults.
source§

fn create_static<U>( &mut self, transform: PxTransform, user_data: U ) -> Option<Owner<PxRigidStatic<U, Self::Shape>>>

Create a static actor with given transform and user data. Other fields are initialized to their defaults.
source§

fn create_shape( &mut self, geometry: &impl Geometry, materials: &mut [&mut <Self::Shape as Shape>::Material], is_exclusive: bool, shape_flags: ShapeFlags, user_data: <Self::Shape as UserData>::UserData ) -> Option<Owner<Self::Shape>>

Create a new shape.
source§

fn create_triangle_mesh( &mut self, stream: &mut PxInputStream ) -> Option<Owner<TriangleMesh>>

Create a new pruning structure. The pruning structure class-trait is not implemented yet.
source§

fn create_rigid_dynamic<U>( &mut self, transform: PxTransform, geometry: &impl Geometry, material: &mut <Self::Shape as Shape>::Material, density: f32, shape_transform: PxTransform, user_data: U ) -> Option<Owner<PxRigidDynamic<U, Self::Shape>>>

Create a new rigid dynamic actor.
source§

fn create_rigid_static<U>( &mut self, transform: PxTransform, geometry: &impl Geometry, material: &mut <Self::Shape as Shape>::Material, shape_transform: PxTransform, user_data: U ) -> Option<Owner<PxRigidStatic<U, Self::Shape>>>

Create a new rigid static actor.
source§

fn create_plane<U>( &mut self, normal: PxVec3, offset: f32, material: &mut <Self::Shape as Shape>::Material, user_data: U ) -> Option<Owner<PxRigidStatic<U, Self::Shape>>>

Create a plane, with plane equation normal.dot(v) + offset = 0.
source§

fn get_bvhs(&self) -> Vec<&Bvh>

Get the BVHs created by this physics object.
source§

fn get_convex_meshes(&self) -> Vec<&ConvexMesh>

Get the convex meshes created by this physics object.
source§

fn get_height_fields(&self) -> Vec<&HeightField>

Get the height fields created by this physics object.
source§

fn get_materials(&self) -> Vec<&<Self::Shape as Shape>::Material>

Get the height fields created by this physics object.
source§

fn get_shapes(&self) -> Vec<&Self::Shape>

Get the shapes created by this physics object.
source§

fn get_triangle_meshes(&self) -> Vec<&TriangleMesh>

Get the triangle mesghes created by this object.
source§

fn get_tolerances_scale(&self) -> Option<&PxTolerancesScale>

Get the tolerance scale.
source§

fn get_physics_insertion_callback(&mut self) -> Option<&mut PxInsertionCallback>

Get the physics insertion callback, used for real-time cooking of physics meshes.
source§

impl<Geom: Shape + Send> Send for PxPhysics<Geom>

source§

impl<Geom: Shape + Sync> Sync for PxPhysics<Geom>

Auto Trait Implementations§

§

impl<Geom> RefUnwindSafe for PxPhysics<Geom>where Geom: RefUnwindSafe,

§

impl<Geom> Unpin for PxPhysics<Geom>where Geom: Unpin,

§

impl<Geom> UnwindSafe for PxPhysics<Geom>where Geom: UnwindSafe,

Blanket Implementations§

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> 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.