Trait physx::physics::Physics[][src]

pub trait Physics: Class<PxPhysics> + Sized {
    type Shape: Shape;
Show 26 methods fn create<Desc: Descriptor<Self>>(&mut self, desc: Desc) -> Desc::Target { ... }
fn create_scene<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>(
        &mut self,
        scene_descriptor: SceneDescriptor<U, L, S, D, T, C, OC, OT, OCB, OWS, OA>
    ) -> Option<Owner<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>
, { ... }
fn create_aggregate<L, S, D, T, C>(
        &mut self,
        max_size: u32,
        self_collision: bool
    ) -> Option<Owner<PxAggregate<L, S, D, T, C>>>
    where
        L: ArticulationLink,
        S: RigidStatic,
        D: RigidDynamic,
        T: Articulation,
        C: ArticulationReducedCoordinate
, { ... }
fn create_articulation<U, L: ArticulationLink>(
        &mut self,
        user_data: U
    ) -> Option<Owner<PxArticulation<U, L>>> { ... }
fn create_articulation_reduced_coordinate<U, L: ArticulationLink>(
        &mut self,
        user_data: U
    ) -> Option<Owner<PxArticulationReducedCoordinate<U, L>>> { ... }
fn create_bvh_structure(
        &mut self,
        stream: &mut PxInputStream
    ) -> Option<Owner<BvhStructure>> { ... }
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>> { ... }
fn create_convex_mesh(
        &mut self,
        stream: &mut PxInputStream
    ) -> Option<Owner<ConvexMesh>> { ... }
fn create_height_field(
        &mut self,
        stream: &mut PxInputStream
    ) -> Option<Owner<HeightField>> { ... }
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>> { ... }
fn create_pruning_structure(
        &mut self,
        actors: Vec<&mut impl RigidActor>
    ) -> Option<Owner<PruningStructure>> { ... }
fn create_dynamic<U>(
        &mut self,
        transform: &PxTransform,
        user_data: U
    ) -> Option<Owner<PxRigidDynamic<U, Self::Shape>>> { ... }
fn create_static<U>(
        &mut self,
        transform: PxTransform,
        user_data: U
    ) -> Option<Owner<PxRigidStatic<U, Self::Shape>>> { ... }
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>> { ... }
fn create_triangle_mesh(
        &mut self,
        stream: &mut PxInputStream
    ) -> Option<Owner<TriangleMesh>> { ... }
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>>> { ... }
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>>> { ... }
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>>> { ... }
fn get_bvh_structures(&self) -> Vec<&BvhStructure> { ... }
fn get_convex_meshes(&self) -> Vec<&ConvexMesh> { ... }
fn get_height_fields(&self) -> Vec<&HeightField> { ... }
fn get_materials(&self) -> Vec<&<Self::Shape as Shape>::Material> { ... }
fn get_shapes(&self) -> Vec<&Self::Shape> { ... }
fn get_triangle_meshes(&self) -> Vec<&TriangleMesh> { ... }
fn get_tolerances_scale(&self) -> Option<&PxTolerancesScale> { ... }
fn get_physics_insertion_callback(
        &mut self
    ) -> Option<&mut PxPhysicsInsertionCallback> { ... }
}

Associated Types

Provided methods

Create a new scene with from a descriptor.

Create a new aggregate. Must be added to a scene with the same actor user data types.

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

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

Create a new BVH structure. The BVH structure class-trait is not implemented yet.

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

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

Create a new height field.

Create a new material with ref count set to one.

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

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

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

Create a new shape.

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

Create a new rigid dynamic actor.

Create a new rigid static actor.

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

Get the BVH structures created by this physics object.

Get the convex meshes created by this physics object.

Get the height fields created by this physics object.

Get the height fields created by this physics object.

Get the shapes created by this physics object.

Get the triangle mesghes created by this object.

Get the tolerance scale.

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

Implementors