Expand description
🎳 physx-sys
Unsafe automatically-generated Rust bindings for NVIDIA PhysX 4.1 C++ API.
Please also see the repository containing a work-in-progress safe wrapper.
Presentation
Tomasz Stachowiak did a presentation at the Stockholm Rust Meetup on October 2019
about this project that goes through the tecnical details of how C++ to Rust bindings of physx-sys
works:
Basic usage
unsafe {
let foundation = physx_create_foundation();
let physics = physx_create_physics(foundation);
let mut scene_desc = PxSceneDesc_new(PxPhysics_getTolerancesScale(physics));
scene_desc.gravity = PxVec3 {
x: 0.0,
y: -9.81,
z: 0.0,
};
let dispatcher = PxDefaultCpuDispatcherCreate(2, null_mut());
scene_desc.cpuDispatcher = dispatcher as *mut PxCpuDispatcher;
scene_desc.filterShader = Some(PxDefaultSimulationFilterShader);
let scene = PxPhysics_createScene_mut(physics, &scene_desc);
// Your physics simulation goes here
}
Examples
Ball
A simple example to showcase how to use physx-sys. It can be run with cargo run --examples ball
.
o
o
o
o
ooooooooo
o oo oo
o o
o o o
o oo
o o o
o ooooooo
o o oo oo
o o o oo oo
o o o o ooooooooo
o o o oo oooooooooo oo
How it works
The binding is generated using a custom C++ app written against clang’s libtooling. It queries the compiler’s abstract syntax tree, and maps the C++ PhysX functions and types to Rust using heuristics chosen specifically for this SDK. It is not a general C++ <-> Rust binding generator, and using it on other projects will likely crash and burn.
Since C++ does not have a standardized and stable ABI, it’s generally not safe to call it from Rust code; since
PhysX exposes a C++ interface, we can’t use it directly. That’s why physx-sys
generates both a Rust interface as
well as a plain C wrapper. The C code is compiled into a static library at build time, and Rust then talks to C.
In order to minimize the amount of work required to marshall data between the C wrapper and the original C++ API, we generate a bespoke C wrapper for each build target. The wrapper is based on metadata about structure layout extracted directly from compiling and running a tiny program against the PhysX SDK using the specific C++ compiler used in the build process.
The build process comprises a few steps:
- The
pxbind
utility usesclang
to extract metadata about PhysX functions and types, and generates partial Rust and C bindings asphysx_generated.hpp
andphysx_generated.rs
. Those contain all function definitions, and a small subset of types. It also generates a C++ utility calledstructgen
by emittingstructgen.cpp
. structgen
is compiled against the PhysX SDK, and generates all the remaining type wrappers. For each struct, it queries the size and offset of its members, and generatesstructgen_out.hpp
andstructgen_out.rs
. The types are “plain old data” structs which will perfectly match the memory layout of the C++ types.- All the generated C types are compiled together to form
physx_api
, a static library for Rust to link with. - The Rust wrapper is compiled, and linked with PhysX and the C wrapper.
Steps 2..4 are performed completely automatically from within build.rs
, while step 1 is only necessary when
upgrading the PhysX SDK or modifying the generator. As such, building and running pxbind
is a manual task, and is
currently only supported on *nix systems.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Note that the PhysX C++ SDK has it’s own BSD 3 license and depends on additional C++ third party libraries.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Structs
- Flags for
Px1DConstraintFlag
- Flags for
PxActorCacheFlag
- Flags for
PxActorFlag
- Flags for
PxActorTypeFlag
- Flags for
PxArticulationCacheFlag
- Flags for
PxArticulationFlag
- Flags for
PxArticulationKinematicFlag
- Flags for
PxArticulationMotion
- Flags for
PxArticulationSensorFlag
- Flags for
PxBaseFlag
- Flags for
PxConstraintFlag
- Flags for
PxContactPairFlag
- Flags for
PxContactPairHeaderFlag
- Flags for
PxControllerBehaviorFlag
- Flags for
PxControllerCollisionFlag
- Flags for
PxControllerDebugRenderFlag
- Flags for
PxConvexFlag
- Flags for
PxConvexMeshGeometryFlag
- Flags for
PxD6JointDriveFlag
- Flags for
PxDataAccessFlag
- Flags for
PxDeletionEventFlag
- Flags for
PxDistanceJointFlag
- Flags for
PxFilterFlag
- Flags for
PxGeometryQueryFlag
- Flags for
PxHairSystemData
- Flags for
PxHairSystemFlag
- Flags for
PxHeightFieldFlag
- Flags for
PxHitFlag
- Flags for
PxMaterialFlag
- Flags for
PxMeshFlag
- Flags for
PxMeshGeometryFlag
- Flags for
PxMeshMeshQueryFlag
- Flags for
PxMeshPreprocessingFlag
- Flags for
PxPairFlag
- Flags for
PxParticleBufferFlag
- Flags for
PxParticlePhaseFlag
- Flags for
PxPrismaticJointFlag
- Flags for
PxPvdInstrumentationFlag
- Flags for
PxPvdSceneFlag
- Flags for
PxQueryFlag
- Flags for
PxRevoluteJointFlag
- Flags for
PxRigidBodyFlag
- Flags for
PxRigidDynamicLockFlag
- Flags for
PxSceneFlag
- Flags for
PxShapeFlag
- Flags for
PxSoftBodyData
- Flags for
PxSoftBodyFlag
- Flags for
PxSphericalJointFlag
- Flags for
PxTetrahedronMeshFlag
- Flags for
PxTriangleMeshFlag
- Flags for
PxTriggerPairFlag
Enums
- Data structure used for preparing constraints before solving them
- Constraint descriptor used inside the solver
- Constraint row flags
- Identifies each type of information for retrieving from actor.
- Flags which control the behavior of an actor.
- Identifies each type of actor.
- Identifies each type of actor for retrieving actors from a scene.
- @ {
- These flags determine what data is read or written to the internal articulation data via cache.
- A description of the types of articulation data that may be directly written to and read from the GPU using the functions PxScene::copyArticulationData() and PxScene::applyArticulationData(). Types that are read-only may only be used in conjunction with PxScene::copyArticulationData(). Types that are write-only may only be used in conjunction with PxScene::applyArticulationData(). A subset of data types may be used in conjunction with both PxScene::applyArticulationData() and PxScene::applyArticulationData().
- Flag that configures articulation-state updates by PxArticulationReducedCoordinate::updateKinematic.
- Flags to configure the forces reported by articulation link sensors.
- Desired build strategy for PxMeshMidPhase::eBVH34
- Desired build strategy for bounding-volume hierarchies
- Flags for PxBase.
- Broad phase algorithm used in the simulation
- Specifies memory space for a PxBuffer instance.
- Enumeration that determines the way in which two material properties will be combined to yield a friction or restitution coefficient for a collision.
- an enumeration of concrete classes inheriting from PxBase
- Unique identifiers for extensions classes which implement a constraint based on PxConstraint.
- constraint flags
- Constraint type hints which the solver uses to optimize constraint handling
- Flags for determining which components of the constraint should be visualized.
- Extra data item types for contact pairs.
- Collection of flags providing information on contact report pairs.
- Collection of flags providing information on contact report pairs.
- Header for a contact patch where all points share same material and normal
- specifies controller behavior
- specifies which sides a character is colliding with.
- specifies debug-rendering flags
- specifies how a CCT interacts with non-walkable parts.
- The type of controller, eg box, sphere or capsule.
- Flags which describe the format and behavior of a convex mesh.
- Result from convex cooking.
- Enumeration for convex mesh cooking algorithms.
- Flags controlling the simulated behavior of the convex mesh geometry.
- Used to specify one of the degrees of freedom of a D6 joint.
- Used to specify which axes of a D6 joint are driven.
- flags for configuring the drive model of a PxD6Joint
- Used to specify the range of motions allowed for a degree of freedom in a D6 joint.
- Default color values used for debug rendering.
- If a thread ends up waiting for work it will find itself in a spin-wait loop until work becomes available. Three strategies are available to limit wasted cycles. The strategies are as follows: a) wait until a work task signals the end of the spin-wait period. b) yield the thread by providing a hint to reschedule thread execution, thereby allowing other threads to run. c) yield the processor by informing it that it is waiting for work and requesting it to more efficiently use compute resources.
- Flags specifying deletion event types.
- flags for configuring the drive of a PxDistanceJoint
- Secondary pruning structure used for newly added objects in dynamic trees.
- enum for empty constructor tag
- Error codes
- Collection of flags describing the filter actions to take for a collision pair.
- Identifies each type of filter object.
- Collision filtering operations.
- Parameter to addForce() and addTorque() calls, determines the exact operation that is carried out.
- Enum for selecting the friction algorithm used for simulation.
- Geometry-level query flags.
- A geometry type.
- Identifies input and output buffers for PxHairSystem
- Binary settings for hair system simulation
- Enum with flag values to be used in PxHeightFieldDesc.flags.
- Describes the format of height field samples.
- Special material index values for height field samples.
- Determines the tessellation of height field cells.
- Scene query and geometry query behavior flags.
- enum for identity constructor flag for quaternions, transforms, and matrices
- an enumeration for specifying one or other of the actors referenced by a joint
- an enumeration of PhysX’ built-in joint types
- Flags which control the behavior of a material.
- Enum with flag values to be used in PxSimpleTriangleMesh::flags.
- Defines the tetrahedron structure of a mesh.
- Flags controlling the simulated behavior of the triangle mesh geometry.
- Mesh midphase structure. This enum is used to select the desired acceleration structure for midphase queries (i.e. raycasts, overlaps, sweeps vs triangle meshes).
- Enum for the set of mesh pre-processing parameters.
- Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines.
- Collection of flags describing the actions to take for a collision pair.
- Identifies dirty particle buffers that need to be updated in the particle system.
- Identifies per-particle behavior for a PxParticleSystem.
- Identifies the solver to use for a particle system.
- Flags specific to the prismatic joint.
- Pruning structure used to accelerate scene queries.
- types of instrumentation that PVD can do.
- PVD scene Flags. They are disabled by default, and only works if PxPvdInstrumentationFlag::eDEBUG is set.
- Flags for determining how PVD should serialize a constraint update
- Filtering flags for scene queries.
- Classification of scene query hits (intersections).
- Flags specific to the Revolute Joint.
- Collection of flags describing the behavior of a rigid body.
- Collection of flags providing a mechanism to lock motion along/around a specific axis.
- flags for configuring properties of the scene
- Built-in enum for default PxScene pruners
- Scene query update mode
- Defines the number of bits per subgrid pixel
- Flags which affect the behavior of PxShapes.
- Identifies input and output buffers for PxSoftBody.
- These flags determine what data is read or written to the gpu softbody.
- Flags to enable or disable special modes of a SoftBody
- Enum for selecting the type of solver used for the simulation.
- Flags specific to the spherical joint.
- Identifies the type of each heavyweight PxTask object
- Result from triangle mesh cooking
- Flags for the mesh geometry properties.
- Collection of flags providing information on trigger report pairs.
- Debug visualization parameters.
- enum for zero constructor tag for vectors and matrices
- Different types of rigid body collision pair statistics.
- A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats.
Functions
- Adds an object to the manager.
- Retrieves the broadphase results after an update.
- Retrieves the managed bounds.
- Retrieves the underlying broadphase.
- Retrieves the managed buffers’ capacity.
- Retrieves the managed distances.
- Retrieves the managed filter groups.
- Removes an object from the manager.
- Updates an object in the manager.
- Updates the broadphase and computes the lists of created/deleted pairs.
- Helper for single-threaded updates.
- Reads the PxActor flags.
- Retrieves the aggregate the actor might be a part of.
- Retrieves the value set with setDominanceGroup().
- Retrieves the name string set with setName().
- Returns the owner client that was specified at creation time.
- Retrieves the scene which this actor belongs to.
- Retrieves the type of actor.
- Retrieves the axis aligned bounding box enclosing the actor.
- Deletes the actor.
- Raises or clears a particular actor flag.
- Sets the actor flags.
- Assigns dynamic actors a dominance group identifier.
- Sets a name string for the object that can be retrieved with getName().
- Sets the owner client of an actor.
- Adds an actor to the aggregate object.
- Adds an articulation to the aggregate object.
- Retrieve all actors contained in the aggregate.
- Retrieves max amount of shapes that can be contained in the aggregate.
- Returns the number of actors contained in the aggregate.
- Retrieves the scene which this aggregate belongs to.
- Retrieves aggregate’s self-collision flag.
- Deletes the aggregate object.
- Removes an actor from the aggregate object.
- Removes an articulation from the aggregate object.
- callback when memory is allocated.
- callback when memory is deallocated.
- Allocates size bytes of memory, which must be 16-byte aligned.
- Frees memory previously allocated by allocate().
- Gets the attachment coefficient.
- Returns the string name of the dynamic type.
- Gets the low and high limit on the length of the sub-tendon from the root to this leaf attachment.
- Gets the articulation link.
- Gets the parent attachment.
- Gets the attachment’s relative offset in the link actor frame.
- Gets the spring rest length for the sub-tendon from the root to this leaf attachment.
- Gets the spatial tendon that the attachment is a part of.
- Indicates that this attachment is a leaf, and thus defines a sub-tendon from the root to this attachment.
- Releases the attachment.
- Sets the attachment coefficient.
- Sets the low and high limit on the length of the sub-tendon from the root to this leaf attachment.
- Sets the attachment’s relative offset in the link actor frame.
- Sets the spring rest length for the sub-tendon from the root to this leaf attachment.
- Releases an articulation cache.
- Creates an articulation tendon joint and adds it to the list of children in the parent tendon joint.
- Returns the string name of the dynamic type.
- Gets the low and high limit on the length of the tendon.
- Returns the number of tendon joints in the tendon.
- Gets the spring rest length of the tendon.
- Fills a user-provided buffer of tendon-joint pointers with the set of tendon joints.
- Sets the low and high limit on the length of the tendon.
- Sets the spring rest length of the tendon.
- Gets the joint armature for the given axis.
- Gets the child articulation link of this joint.
- Gets the joint pose in the child link actor frame.
- Returns the string name of the dynamic type.
- Gets the joint drive configuration for the given axis.
- Returns the joint drive position target for the given axis.
- Returns the joint drive velocity target for the given axis.
- Gets the joint friction coefficient.
- Gets the joint position for the given axis, i.e. joint degree of freedom (DOF).
- Gets the joint type.
- Gets the joint velocity for the given axis.
- Returns the joint limits for a given axis.
- Gets the maximal joint velocity enforced for all axes.
- Returns the joint motion for the given axis.
- Gets the parent articulation link of this joint.
- Gets the joint pose in the parent link actor frame.
- Sets the joint armature for the given axis.
- Sets the joint pose in the child link actor frame.
- Configures a joint drive for the given axis.
- Sets the joint drive position target for the given axis.
- Sets the joint drive velocity target for the given axis.
- Sets the joint friction coefficient, which applies to all joint axes.
- Sets the joint position for the given axis.
- Sets the joint type (e.g. revolute).
- Sets the joint velocity for the given axis.
- Sets the joint limits for a given axis.
- Sets the maximal joint velocity enforced for all axes.
- Sets the joint motion for a given axis.
- Sets the joint pose in the parent link actor frame.
- Get the angular velocity of the link.
- Gets the articulation that the link is a part of.
- Get the constraint-force-mixing scale term.
- Retrieves the child links.
- Returns the string name of the dynamic type.
- Gets the joint which connects this link to its parent.
- Gets the number of degrees of freedom of the joint which connects this link to its parent.
- Get the linear velocity of the link.
- Gets the low-level link index that may be used to index into members of PxArticulationCache.
- Gets the number of child links.
- Releases the link from the articulation.
- Set the constraint-force-mixing scale term.
- Adds a loop joint to the articulation system for inverse dynamics.
- Applies the data in the cache to the articulation.
- Prepares common articulation data based on articulation pose for inverse dynamics calculations.
- Computes the coefficient matrix for contact forces.
- Computes the joint DOF forces required to counteract Coriolis and centrifugal forces for the given articulation state.
- Compute the dense Jacobian for the articulation in world space, including the DOFs of a potentially floating base.
- Computes the joint DOF forces required to counteract external spatial forces applied to articulation links.
- Computes the joint DOF forces required to counteract gravitational forces for the given articulation pose.
- Compute the joint-space inertia matrix that maps joint accelerations to joint forces: forces = M * accelerations.
- Computes the joint accelerations for the given articulation state and joint forces.
- Computes the joint forces for the given articulation state and joint accelerations, not considering gravity.
- Computes the lambda values when the test impulse is 1.
- Copies internal data of the articulation to the cache.
- Creates an articulation cache that can be used to read and write internal articulation data.
- Creates a fixed tendon to attach to the articulation with default attribute values.
- Adds a link to the articulation with default attribute values.
- Creates a force sensor attached to a link of the articulation.
- Creates a spatial tendon to attach to the articulation with default attribute values.
- Returns the aggregate the articulation might be a part of.
- Returns the articulation’s flags.
- Returns the size of the articulation cache in bytes.
- Returns the required size of the coefficient matrix in the articulation.
- Returns the total number of joint degrees-of-freedom (DOFs) of the articulation.
- Returns the fixed tendons attached to the articulation.
- Returns the GPU articulation index.
- Returns the (classical) link acceleration in world space for the given low-level link index.
- Returns the set of links in the articulation in the order that they were added to the articulation using createLink.
- Returns the set of loop constraints (i.e. joints) in the articulation.
- Gets the limit on the magnitude of the angular velocity at the articulation’s center of mass.
- Gets the limit on the magnitude of the linear velocity of the articulation’s center of mass.
- Returns the name string set with setName().
- Returns the number of fixed tendons in the articulation.
- Returns the number of links in the articulation.
- Returns the number of loop joints in the articulation for inverse dynamics.
- Returns the number of sensors in the articulation.
- Returns the number of shapes in the articulation.
- Returns the number of spatial tendons in the articulation.
- Gets the root link angular velocity.
- Returns the root link transform (world to actor frame).
- Gets the root link center-of-mass linear velocity.
- Returns the scene which this articulation belongs to.
- Returns the sensors attached to the articulation.
- Returns the mass-normalized energy below which the articulation may go to sleep.
- Returns the solver iteration counts.
- Returns the spatial tendons attached to the articulation.
- Returns the mass-normalized kinetic energy below which the articulation may participate in stabilization.
- Returns the wake counter of the articulation in seconds.
- Returns the axis-aligned bounding box enclosing the articulation.
- Returns true if this articulation is sleeping.
- Converts maximal-coordinate joint DOF data to reduced coordinates.
- Forces the articulation to sleep.
- Releases the articulation, and all its links and corresponding joints.
- Removes a loop joint from the articulation for inverse dynamics.
- Raises or clears a flag on the articulation.
- Sets flags on the articulation.
- Sets the limit on the magnitude of the angular velocity at the articulation’s center of mass.
- Sets the limit on the magnitude of the linear velocity of the articulation’s center of mass.
- Sets a name string for the articulation that can be retrieved with getName().
- Sets the root link angular velocity.
- Sets the root link transform (world to actor frame).
- Sets the root link linear center-of-mass velocity.
- Sets the mass-normalized energy threshold below which the articulation may go to sleep.
- Sets the solver iteration counts for the articulation.
- Sets the mass-normalized kinetic energy threshold below which the articulation may participate in stabilization.
- Sets the wake counter for the articulation in seconds.
- Converts reduced-coordinate joint DOF data to maximal coordinates.
- Update link velocities and/or positions in the articulation.
- Wakes up the articulation if it is sleeping.
- Zeroes all data in the articulation cache, except user-provided and scratch memory, and cache version.
- Returns the articulation that this sensor is part of.
- Returns the string name of the dynamic type.
- Returns the sensor’s flags.
- Returns the spatial force in the local frame of the sensor.
- Returns the index of this sensor inside the articulation.
- Returns the link that this sensor is attached to.
- Returns the relative pose between this sensor and the body frame of the link that the sensor is attached to.
- Releases the sensor.
- Sets a flag of the sensor.
- Sets the relative pose between this sensor and the body frame of the link that the sensor is attached to.
- Creates an articulation attachment and adds it to the list of children in the parent attachment.
- Fills a user-provided buffer of attachment pointers with the set of attachments.
- Returns the string name of the dynamic type.
- Returns the number of attachments in the tendon.
- Gets the tendon joint coefficient.
- Returns the string name of the dynamic type.
- Gets the articulation link.
- Gets the parent tendon joint.
- Gets the tendon that the joint is a part of.
- Releases a tendon joint.
- Sets the tendon joint coefficient.
- Gets the articulation that the tendon is a part of.
- Gets the damping term acting both on the tendon length and tendon-length limits.
- Gets the limit stiffness term acting on the tendon’s length limits.
- Gets the length offset term for the tendon.
- Gets the spring stiffness of the tendon.
- Releases a tendon to remove it from the articulation and free its associated memory.
- Sets the damping term acting both on the tendon length and tendon-length limits.
- Sets the limit stiffness term acting on the tendon’s length limits.
- Sets the length offset term for the tendon.
- Sets the spring stiffness term acting on the tendon length.
- Returns true if the descriptor is valid.
- Desc initialization to default value.
- Returns true if the descriptor is valid.
- Initialize the BVH descriptor
- Frustum culling test against a BVH.
- Retrieve the read-only bounds in the BVH.
- Retrieve the bounds in the BVH.
- Returns the number of bounds in the BVH.
- Overlap test against a BVH.
- Refits subset of marked nodes.
- Raycast test against a BVH.
- Refit the BVH.
- Sweep test against a BVH.
- Generic BVH traversal function.
- Update single bounds.
- Implemented by derived implementation classes
- Return a user-provided task name for profiling purposes.
- Implemented by derived implementation classes
- Return PxTaskManager to which this task was submitted
- Implemented by derived implementation classes
- Implemented by derived implementation classes
- The user-implemented run method where the task’s work should be performed
- Returns PxBaseFlags
- Returns concrete type of object.
- Returns string name of dynamic type.
- Whether the object is subordinate.
- Releases the PxBase instance, please check documentation of release in derived class.
- Set PxBaseFlag
- Set PxBaseFlags
- Performs an overlap test of a given geometry against objects in the scene.
- Performs a raycast against objects in the scene.
- Performs a sweep test against objects in the scene.
- Construct from center, extent, and (not necessarily orthogonal) basis
- returns the AABB containing v0 and v1.
- returns the AABB from center and extents vectors.
- Finds the closest point in the box to the point p. If p is contained, this will be p, otherwise it will be the closest point on the surface of the box.
- indicates if these bounds contain v.
- Return empty bounds.
- fattens the AABB in all 3 dimensions by the given distance.
- fattens the AABB in all 3 dimensions by the given distance.
- returns the center of this axis aligned box.
- get component of the box’s center along a given axis
- returns the dimensions (width/height/depth) of this axis aligned box.
- get component of the box’s extents along a given axis
- returns the extents, which are half of the width/height/depth.
- expands the volume to include v
- expands the volume to include b.
- indicates whether the intersection of this and b is empty or not.
- computes the 1D-intersection between two AABBs, on a given axis.
- checks that the AABB values are not NaN
- checks a box is inside another box.
- checks that the AABB values describe a valid configuration.
- Default constructor, not performing any initialization for performance reason.
- Construct from two bounding points
- Construct from pose and extent
- scales the AABB.
- scales the AABB.
- Sets empty to true
- Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].
- gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
- gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
- gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
- gets the transformed bounds of the passed AABB (resulting in a bigger AABB).
- returns true if the current settings are valid
- constructor sets to default.
- (re)sets the structure to the default.
- Gets controller’s half forward extent.
- Gets controller’s half height.
- Gets controller’s half side extent.
- Sets controller’s half forward extent.
- Sets controller’s half height.
- Sets controller’s half side extent.
- Returns true if the geometry is valid.
- Constructor to initialize half extents from scalar parameters.
- Constructor to initialize half extents from vector parameter.
- Out-of-bounds notification.
- Out-of-bounds notification.
- Creates regions for PxSceneDesc, from a global box.
- Adds a new broad-phase region.
- Returns number of regions currently registered in the broad-phase.
- Gets broad-phase regions.
- Removes a broad-phase region.
- Retrieves the broadphase results after an update.
- Retrieves the broadphase allocator.
- Gets broad-phase caps.
- Retrieves the profiler’s context ID.
- Retrieves the regions API if applicable.
- Gets the broadphase type.
- Sets a scratch buffer
- Updates the broadphase and computes the lists of created/deleted pairs.
- Helper for single-threaded updates.
- Allocates size bytes of memory, which must be 16-byte aligned.
- Frees memory previously allocated by allocate().
- The default constructor.
- The default constructor.
- The default destructor.
- The default constructor.
- Reports an error code.
- Passes modifiable arrays of contacts to the application.
- returns true if the current settings are valid
- constructor sets to default.
- (re)sets the structure to the default.
- Gets controller’s climbing mode.
- Gets controller’s height.
- Gets controller’s radius.
- Sets controller’s climbing mode.
- Resets controller’s height.
- Sets controller’s radius.
- Returns true if the geometry is valid.
- Constructor, initializes to a capsule with passed radius and half height.
- Adds an id to a member PxBase object.
- Adds a PxBase object to the collection.
- Adds all PxBase objects and their ids of collection to this collection.
- Returns whether the collection contains a certain PxBase object.
- Looks for a PxBase object given a PxSerialObjectId value.
- Gets the PxSerialObjectId name of a PxBase object within the collection.
- Copies member PxSerialObjectId values to a user specified buffer.
- Gets number of PxSerialObjectId names in this collection.
- Gets number of PxBase objects in this collection.
- Gets the PxBase object of this collection given its index.
- Copies member PxBase pointers to a user specified buffer.
- Deletes a collection object.
- Removes id from a contained PxBase object.
- Removes a PxBase member object from the collection.
- Removes all PxBase objects of collection from this collection.
- Allocates constraint data. It is the application’s responsibility to release this memory after PxSolveConstraints has completed.
- Allocates friction data. Friction data can be retained by the application for a given pair and provided as an input to PxSolverContactDesc to improve simulation stability. It is the application’s responsibility to release this memory. If this memory is released, the application should ensure it does not pass pointers to this memory to PxSolverContactDesc.
- Let the connector know it has been connected to a constraint.
- virtual destructor
- Obtain the pointer to the constraint’s constant data
- Obtain a reference to a PxBase interface if the constraint has one.
- Center-of-mass shift callback
- Constraint release callback
- Origin shift callback
- Pre-simulation data preparation when the constraint is marked dirty, this function is called at the start of the simulation step for the SDK to copy the constraint data block.
- Visualize joint angular limit
- Visualize joint double cone
- Visualize joint frames
- Visualize limit cone
- Visualize line
- Visualize joint linear limit
- Retrieves the actors for this constraint.
- Retrieve the constraint break force and torque thresholds
- Fetch external owner of the constraint.
- Retrieve the flags for this constraint
- Retrieve the constraint force most recently applied to maintain this constraint.
- Retrieve the constraint break force and torque thresholds
- Retrieves the scene which this constraint belongs to.
- whether the constraint is valid.
- Notify the scene that the constraint shader data has been updated by the application
- Releases a PxConstraint instance.
- Sets the actors for this constraint.
- Set the break force and torque thresholds for this constraint.
- Set the constraint functions for this constraint
- Set a flag for this constraint
- Set the flags for this constraint
- Set the minimum response threshold for a constraint row
- Returns string name of PxContactJoint, used for serialization
- Return the current contact of the joint
- Return the current contact normal of the joint
- Return the current penetration value of the joint
- Set the current contact normal of the joint
- Set the current contact of the joint
- Set the current penetration of the joint
- Passes modifiable arrays of contacts to the application.
- Constructor
- Advances the iterator to next set of extra data items.
- Helper method to clone the contact pair and copy the contact data stream into a user buffer.
- Extracts the contact points from the stream and stores them in a convenient format.
- Get the static friction coefficient for a specific contact point in the set.
- Get the face index with respect to the first shape of the pair for a specific contact point in the set.
- Get the face index with respect to the second shape of the pair for a specific contact point in the set.
- Returns the invInertiaScale of body 0
- Returns the invInertiaScale of body 1
- Returns the invMassScale of body 0
- Returns the invMassScale of body 1
- Get the maximum impulse for a specific contact point in the set.
- Get the contact normal of a specific contact point in the set.
- Get the position of a specific contact point in the set.
- Get the restitution coefficient for a specific contact point in the set.
- Get the separation distance of a specific contact point in the set.
- Get the static friction coefficient for a specific contact point in the set.
- Get the target velocity of a specific contact point in the set.
- Ignore the contact point.
- Alter the static dynamic coefficient for a specific contact point in the set.
- Sets the invInertiaScale of body 0
- Sets the invInertiaScale of body 1
- Sets the invMassScale of body 0
- Sets the invMassScale of body 1
- Alter the maximum impulse for a specific contact point in the set.
- Alter the contact normal of a specific contact point in the set.
- Alter the position of a specific contact point in the set.
- Alter the restitution coefficient for a specific contact point in the set.
- Alter the separation of a specific contact point in the set.
- Alter the static friction coefficient for a specific contact point in the set.
- Alter the target velocity of a specific contact point in the set.
- The number of contact points in the set.
- Advances the contact stream iterator to a specific contact index.
- Gets the current contact’s normal
- Gets the contact’s contact point.
- Gets the contact’s damping value.
- Gets the contact’s dynamic friction coefficient.
- Gets the contact’s face index for shape 0.
- Gets the contact’s face index for shape 1.
- Gets the inverse inertia scale for body 0.
- Gets the inverse inertia scale for body 1.
- Gets the inverse mass scale for body 0.
- Gets the inverse mass scale for body 1.
- Gets the contact’s material flags.
- Gets the contact’s material index for shape 0.
- Gets the contact’s material index for shape 1.
- Gets the contact’s max impulse.
- Gets the contact’s restitution coefficient.
- Gets the contact’s separation.
- Gets the contact’s static friction coefficient.
- Gets the contact’s target velocity.
- Returns the total contact count.
- Returns the total patch count.
- Returns if the current patch has more contacts.
- Returns whether there are more patches in this stream.
- Constructor
- Advances to the next contact in the patch.
- Advances iterator to next contact patch.
- Retrieve behavior flags for a shape.
- Retrieve behavior flags for a controller.
- Retrieve behavior flags for an obstacle.
- Returns the character controller type
- returns true if the current settings are valid
- Filtering method for CCT-vs-CCT.
- Computes character-character interactions.
- Creates a new character controller.
- Creates an obstacle context.
- Retrieve one of the controllers in the manager.
- Returns the number of controllers that are being managed.
- Returns the number of obstacle contexts that are being managed.
- Retrieve one of the obstacle contexts in the manager.
- Retrieves debug data.
- Returns the scene the manager is adding the controllers to.
- Releases all the controllers that are being managed.
- Releases the controller manager.
- Sets debug rendering flags
- Enables or disables the overlap recovery module.
- Enables or disables the precise sweeps.
- Enables or disables vertical sliding against ceilings.
- Enables or disables runtime tessellation.
- Shift the origin of the character controllers and obstacle objects by the specified vector.
- Get the rigid body actor associated with this controller (see PhysX documentation). The behavior upon manually altering this actor is undefined, you should primarily use it for reading const properties.
- Retrieve the contact offset.
- Retrieve the “foot” position of the controller, i.e. the position of the bottom of the CCT’s shape.
- Retrieves the non-walkable mode for the CCT.
- Retrieve the raw position of the controller.
- Retrieve the scene associated with the controller.
- Retrieve the slope limit.
- Returns information about the controller’s internal state.
- Returns the controller’s internal statistics.
- Retrieve the step height.
- Return the type of controller
- Retrieve the ‘up’ direction.
- Returns the user data associated with this controller.
- Flushes internal geometry cache.
- Moves the character using a “collide-and-slide” algorithm.
- Releases the controller.
- Resizes the controller.
- Sets the contact offset.
- Set controller’s foot position.
- Sets the non-walkable mode for the CCT.
- Sets controller’s position.
- Sets the slope limit.
- The step height.
- Sets the ‘up’ direction.
- Sets the user data associated with this controller.
- Returns true if the descriptor is valid.
- constructor sets to default.
- (re)sets the structure to the default.
- Returns true if the geometry is valid.
- Constructor. By default creates an empty object with a NULL mesh and identity scale.
- Returns the index buffer.
- Returns the local-space (vertex space) AABB from the convex mesh.
- Returns the mass properties of the mesh assuming unit density.
- Returns the number of polygons.
- Returns the number of vertices.
- Returns the polygon data.
- Returns the local-space Signed Distance Field for this mesh if it has one.
- Returns the vertices.
- This method decides whether a convex mesh is gpu compatible. If the total number of vertices are more than 64 or any number of vertices in a polygon is more than 32, or convex hull data was not cooked with GPU data enabled during cooking or was loaded from a serialized collection, the convex hull is incompatible with GPU collision detection. Otherwise it is compatible.
- Decrements the reference count of a convex mesh and releases it if the new reference count is zero.
- Returns the number of available worker threads for this dispatcher.
- Called by the TaskManager when a task is to be queued for execution.
- Compute custom geometry mass properties. For geometries usable with dynamic rigidbodies.
- Return custom type. The type purpose is for user to differentiate custom geometries. Not used by PhysX.
- Return local bounds.
- Overlap. Test if geometries overlap.
- Raycast. Cast a ray against the geometry in given pose.
- Sweep. Sweep one geometry against the other.
- Compatible with PhysX’s PCM feature. Allows to optimize contact generation.
- Invalid type
- Default constructor
- Returns the custom type of the custom geometry.
- Returns true if the geometry is valid.
- Default constructor.
- Constructor.
- Gets a pruner index for an actor/shape.
- Pruner filtering callback.
- Adds a pruner to the system.
- Perform a custom build-step for a given pruner.
- Finish custom build-steps
- Start custom build-steps for all pruners
- returns true if the drive is valid
- default constructor for PxD6JointDrive.
- constructor a PxD6JointDrive.
- Returns string name of PxD6Joint, used for serialization
- Get the distance limit for the joint.
- Get the drive parameters for the specified drive type.
- Get the drive goal pose.
- Get the target goal velocity for joint drive.
- Get the linear limit for a given linear axis.
- Get the motion type around the specified axis.
- Get the angular tolerance threshold for projection.
- Get the linear tolerance threshold for projection.
- Get the pyramidal swing limit for the joint.
- Get the cone limit for the joint.
- get the swing angle of the joint from the Y axis
- get the swing angle of the joint from the Z axis
- get the twist angle of the joint, in the range (-2Pi, 2Pi]
- Get the twist limit for the joint.
- Set the distance limit for the joint.
- Set the drive goal pose
- Set the target goal velocity for drive.
- Set the drive parameters for the specified drive type.
- Set the linear limit for a given linear axis.
- Set the motion type around the specified axis.
- Set the angular tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
- Set the linear tolerance threshold for projection. Projection is enabled if PxConstraintFlag::ePROJECTION is set for the joint.
- Set a pyramidal swing limit for the joint.
- Set the swing cone limit for the joint.
- Set the twist limit for the joint.
- Checks if profiling is enabled at task level.
- Deletes the dispatcher.
- Enables profiling at task level.
- Notification if an object or its memory gets released
- Function to align the extra data stream to a power of 2 alignment
- Helper function to read a name from the extra data during deserialization.
- Retrieves a pointer to a deserialized PxBase object given a corresponding deserialized reference value
- Construct parameters with default values.
- (re)sets the structure to the default.
- Returns string name of PxDistanceJoint, used for serialization
- Get the contact distance.
- Get the damping of the joint spring.
- Return the current distance of the joint
- Get the flags specific to the Distance Joint.
- Get the allowed maximum distance for the joint.
- Get the allowed minimum distance for the joint.
- Get the strength of the joint spring.
- Get the error tolerance of the joint.
- Set the contact distance for the min & max distance limits.
- Set the damping of the joint spring.
- Set a single flag specific to a Distance Joint to true or false.
- Set the flags specific to the Distance Joint.
- Set the allowed maximum distance for the joint.
- Set the allowed minimum distance for the joint.
- Set the strength of the joint spring.
- Set the error tolerance of the joint.
- Reports an error code.
- Retrieves the dynamic friction value
- Retrieves the Poisson’s ratio.
- Retrieves the young’s modulus value.
- Sets the dynamic friction value which defines the strength of resistance when two objects slide relative to each other while in contact.
- Sets the Poisson’s ratio which defines the body’s volume preservation. Completely incompressible materials have a poisson ratio of 0.5. Its value should not be set to exactly 0.5 because this leads to numerical problems.
- Sets young’s modulus which defines the body’s stiffness
- Default constructor.
- Constructor to set filter data initially.
- (re)sets the structure to the default.
- Returns string name of PxFixedJoint, used for serialization
- Retrieves the allocator this object was created with.
- retrieves error callback
- Retrieves mask of errors to be reported.
- Retrieves if allocation names are being passed to allocator callback.
- Destroys the instance it is called on.
- Sets mask of errors to report.
- Set if allocation names are being passed to allocator callback.
- Get the gear ratio.
- Set the desired gear ratio.
- Set the hinge/revolute joints connected by the gear joint.
- computes the bounds for a geometry object
- Compute minimum translational distance (MTD) between two geometry objects.
- Checks if provided geometry is valid.
- Overlap test for two geometry objects.
- Computes distance between a point and a geometry object.
- Raycast test against a geometry object.
- Sweep a specified geometry object in space and test for collision with a given object.
- Returns the type of the geometry.
- Returns true if the geometry is valid.
- Default constructor.
- Returns true if the descriptor is valid.
- Constructor sets to default.
- (re)sets the structure to the default.
- Returns true if the geometry is valid.
- Constructor.
- Retrieves the convex edge threshold.
- Retrieves the flags bits, combined from values of the enum ::PxHeightFieldFlag.
- Retrieves the format of the sample data.
- Retrieves the height at the given coordinates in grid space.
- Retrieves the number of sample columns in the samples array.
- Retrieves the number of sample rows in the samples array.
- Returns heightfield sample of given row and column
- Retrieves the offset in bytes between consecutive samples in the array.
- Returns the number of times the heightfield data has been modified
- Returns material table index of given triangle
- Returns a triangle face normal for a given triangle index
- Replaces a rectangular subfield in the sample data array.
- Decrements the reference count of a height field and releases it if the new reference count is zero.
- Writes out the sample data array.
- return the length of the input data
- seek to the given offset from the start of the data.
- return the current offset from the start of the data
- read from the stream. The number of bytes read may be less than the number requested.
- Builds object (TriangleMesh, Heightfield, ConvexMesh or BVH) from given data in PxPhysics.
- Returns true if the limit is valid.
- construct an angular hard limit pair.
- construct an angular soft limit pair.
- Returns true if the limit is valid.
- Construct a cone hard limit.
- Construct a cone soft limit.
- Returns true if the current settings are valid.
- Returns true if the limit is valid.
- Construct a pyramid hard limit.
- Construct a pyramid soft limit.
- Returns true if the limit is valid.
- Construct a linear hard limit pair. The lower distance value must be less than the upper distance value.
- construct a linear soft limit pair
- Returns true if the limit is valid
- construct a linear hard limit
- construct a linear soft limit
- Get the actors for this joint.
- Put class meta data in stream, used for serialization
- get the break force for this joint.
- Retrieves the PxConstraint corresponding to this joint.
- get the constraint flags for this joint.
- get the inverse inertia scale for actor0.
- get the inverse inertia scale for actor1.
- get the inverse mass scale for actor0.
- get the inverse mass scale for actor1.
- get the joint local pose for an actor.
- Retrieves the name string set with setName().
- get the relative angular velocity of the joint
- get the relative linear velocity of the joint
- get the relative pose for this joint
- Retrieves the scene which this joint belongs to.
- Deletes the joint.
- Set the actors for this joint.
- set the break force for this joint.
- set a constraint flags for this joint to a specified value.
- set the constraint flags for this joint.
- set the inverse inertia scale for actor0.
- set the inverse inertia scale for actor1.
- set the inverse mass scale for actor0.
- set the inverse mass scale for actor1.
- Set the joint local pose for an actor.
- Sets a name string for the object that can be retrieved with getName().
- Manually increment this task’s reference count. The task will not be allowed to run until removeReference() is called.
- Retrieves continuation task
- Return the ref-count for this task
- called by CpuDispatcher after run method has completed
- Manually decrement this task’s reference count. If the reference count reaches zero, the task will be dispatched.
- Initialize this task and specify the task that will have its ref count decremented on completion.
- Initialize this task and specify the task that will have its ref count decremented on completion.
- For raycast hits: true for shapes overlapping with raycast origin.
- virtual destructor
- Any combination of PxDataAccessFlag::eREADABLE and PxDataAccessFlag::eWRITABLE
- Unlocks the bulk data.
- Get the entries of the diagonalized inertia tensor and the corresponding reference rotation.
- Default constructor.
- Construct from individual elements.
- Compute mass properties based on a provided geometry structure.
- Rotate an inertia tensor around the center of mass
- Non-uniform scaling of the inertia tensor
- Sum up individual mass properties.
- Translate an inertia tensor using the parallel axis theorem
- Translate the center of mass by a given vector and adjust the inertia tensor accordingly.
- Construct from diagonal, off-diagonals are zero.
- Get determinant
- Get the real inverse
- Get transposed matrix
- Default constructor
- identity constructor
- zero constructor
- Construct from three base vectors
- constructor from a scalar, which generates a multiple of the identity matrix
- Construct from float[9]
- Construct from a quaternion
- Computes the outer product of two vectors
- Transform vector by matrix, equal to v’ = M*v
- Transform vector by matrix transpose, v’ = M^t*v
- Get transposed matrix
- Default constructor
- identity constructor
- zero constructor
- Construct from four 4-vectors
- constructor that generates a multiple of the identity matrix
- Construct from three base vectors and a translation
- Construct from float[16]
- Construct from a quaternion
- Construct from a diagonal vector
- Construct from Mat33 and a translation
- Rotate vector by matrix, equal to v’ = M*v
- Rotate vector by matrix, equal to v’ = M*v
- Transform vector by matrix, equal to v’ = M*v
- Transform vector by matrix, equal to v’ = M*v
- Retrieves the coefficient of damping.
- Retrieves the DynamicFriction value.
- Retrieves the flags. See
PxMaterialFlag
. - Retrieves the friction combine mode.
- Retrieves the coefficient of restitution.
- Retrieves the restitution combine mode.
- Retrieves the coefficient of static friction.
- Sets the coefficient of damping
- Sets the coefficient of dynamic friction.
- Raises or clears a particular material flag.
- sets all the material flags.
- Sets the friction combine mode.
- Sets the restitution combine mode.
- Sets the coefficient of restitution
- Sets the coefficient of static friction
- Find the mesh triangles which touch the specified geometry object.
- Find the height field triangles which touch the specified geometry object.
- Retrieves number of triangle indices after a findOverlap call.
- Retrieves array of triangle indices after a findOverlap call.
- Find the height field triangles which touch the specified geometry object.
- Find the mesh triangles which touch the specified geometry object.
- Retrieves triangle data from a triangle ID.
- Retrieves triangle data from a triangle ID.
- Sweep a specified geometry object in space and test for collision with a set of given triangles.
- Returns the inverse of this scaling transformation.
- Returns true if combination of negative scale components will cause the triangle normal to flip. The SDK will flip the normals internally.
- Returns true if the scaling is an identity transformation.
- Constructor initializes to identity scale.
- Constructor from scalar.
- Constructor to initialize to arbitrary scale and identity scale rotation.
- Constructor to initialize to arbitrary scaling.
- Converts this transformation to a 3x3 matrix representation.
- Returns type of midphase mesh structure.
- Returns true if the descriptor is valid.
- Initialize the midphase mesh structure descriptor
- The destructor for Mutex deletes the mutex.
- Size of this class.
- Acquire (lock) the mutex. If the mutex is already locked by another thread, this method blocks until the mutex is unlocked.
- The constructor for Mutex creates a mutex. It is initially unlocked.
- Acquire (lock) the mutex. If the mutex is already locked by another thread, this method returns false without blocking.
- Release (unlock) the mutex.
- Adds an obstacle to the context.
- Retrieves the controller manager associated with this context.
- Retrieves number of obstacles in the context.
- Retrieves desired obstacle.
- Retrieves desired obstacle by given handle.
- Releases the context.
- Removes an obstacle from the context.
- Updates data for an existing obstacle.
- write to the stream. The number of bytes written may be less than the number sent.
- Retrieves the adhesion term
- Retrieves the adhesion radius scale.
- Retrieves the velocity damping term
- Retrieves the friction value.
- Retrieves the gravity scale term
- Sets material adhesion radius scale. This is multiplied by the particle rest offset to compute the fall-off distance at which point adhesion ceases to operate.
- Sets adhesion term
- Sets velocity damping term
- Sets friction
- Sets gravity scale term
- Returns true if the geometry is valid.
- Default constructor.
- Creates an aggregate with the specified maximum size and filtering hint.
- Creates a reduced-coordinate articulation with all fields initialized to their default values.
- Creates a bounding volume hierarchy.
- Creates a constraint shader.
- Creates a convex mesh object.
- Creates a heightfield object from previously cooked stream.
- Creates a new rigid body material with certain default properties.
- Creates a pruning structure from actors.
- Creates a dynamic rigid actor with the specified pose and all other fields initialized to their default values.
- Creates a static rigid actor with the specified pose and all other fields initialized to their default values.
- Creates a scene.
- Creates a shape which may be attached to multiple actors
- Creates a shape which may be attached to multiple actors
- Creates a softbody mesh object.
- Creates a tetrahedron mesh object.
- Creates a triangle mesh object.
- Writes the array of bounding volume hierarchy pointers to a user buffer.
- Writes the array of convex mesh pointers to a user buffer.
- Retrieves the Foundation instance.
- Writes the array of heightfield pointers to a user buffer.
- Writes the array of rigid body material pointers to a user buffer.
- Return the number of bounding volume hierarchies that currently exist.
- Return the number of convex meshes that currently exist.
- Return the number of heightfields that currently exist.
- Return the number of rigid body materials that currently exist.
- Gets number of created scenes.
- Return the number of shapes that currently exist.
- Return the number of tetrahedron meshes that currently exist.
- Return the number of triangle meshes that currently exist.
- Gets PxPhysics object insertion interface.
- Writes the array of scene pointers to a user buffer.
- Writes the array of shape pointers to a user buffer.
- Writes the array of tetrahedron mesh pointers to a user buffer.
- Returns the simulation tolerance parameters.
- Writes the array of triangle mesh pointers to a user buffer.
- Register specific objects for deletion events.
- Register a deletion listener. Listeners will be called whenever an object is deleted.
- Destroys the instance it is called on.
- Unregister specific objects for deletion events.
- Unregister a deletion listener.
- Returns true if the geometry is valid.
- Constructor.
- inverse-transform plane
- Constructor
- Constructor from a normal and a distance
- Constructor from a normal and a distance
- Constructor from a point on the plane and a normal
- Constructor from three points
- equivalent plane with unit normal
- find an arbitrary point in the plane
- projects p into the plane
- transform plane
- Adds new Poisson Samples inside the box specified
- Adds new Poisson Samples inside the sphere specified
- Sets the sampling radius
- Returns string name of PxPrismaticJoint, used for serialization
- gets the joint limit parameters.
- returns the displacement of the joint along its axis.
- Get the flags specific to the Prismatic Joint.
- returns the velocity of the joint along its axis
- sets the joint limit parameters.
- Set a single flag specific to a Prismatic Joint to true or false.
- Set the flags specific to the Prismatic Joint.
- Mark the end of a nested profile block
- Mark the beginning of a nested profile block
- Gets the merge data for dynamic actors
- Returns the number of rigid actors in the pruning structure.
- Retrieve rigid actors in the pruning structure.
- Gets the merge data for static actors
- Release this object.
- draw lines on PVD application’s render window
- draw points on PVD application’s render window
- draw text on PVD application’s render window
- draw triangles on PVD application’s render window
- Retrieves the PVD flags. See PxPvdSceneFlags.
- Sets the PVD flag. See PxPvdSceneFlag.
- Sets the PVD flags. See PxPvdSceneFlags.
- update camera on PVD application’s render window
- Connects to the Visual Debugger application. return True if success
- Disconnects from the Visual Debugger application. If we are still connected, this will kill the entire debugger connection.
- send any data and block until we know it is at least on the wire.
- Return size of written data.
- Return if connection to PVD is created.
- write bytes to the other endpoint of the connection. should lock before witre. If an error occurs this connection will assume to be dead.
- Connects the SDK to the PhysX Visual Debugger application.
- Disconnects the SDK from the PhysX Visual Debugger application. If we are still connected, this will kill the entire debugger connection.
- Retrieves the PVD flags. See PxPvdInstrumentationFlags.
- returns the PVD data transport returns NULL if no transport is present.
- Return if connection to PVD is created.
- Releases the pvd instance.
- returns the scalar product of this and other.
- Gets the angle between this quat and the identity quaternion.
- Gets the angle between this quat and the argument
- brief computes rotation of x-axis
- brief computes rotation of y-axis
- brief computes rotation of z-axis
- returns true if all elements are finite (not NAN or INF, etc.)
- returns true if quat is identity
- returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid
- returns true if finite and magnitude is close to unit
- This is the squared 4D vector length, should be 1 for unit quaternions.
- Default constructor, does not do any initialization.
- identity constructor
- Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero
- Constructor. Take note of the order of the elements!
- Creates from angle-axis representation.
- Creates from orientation matrix.
- maps to the closest unit quaternion.
- rotates passed vec by this (assumed unitary)
- inverse rotates passed vec by this (assumed unitary)
- converts this quaternion to angle-axis representation
- constructor sets to default
- constructor to set properties
- virtual destructor
- This filter callback is executed if the exact intersection test returned true and PxQueryFlag::ePOSTFILTER flag was set.
- This filter callback is executed before the exact intersection test if PxQueryFlag::ePREFILTER flag was set.
- default constructor
- constructor to set both filter data and filter flags
- constructor to set filter flags only
- Get the ratio.
- Set the desired ratio indirectly.
- Set the hinge & prismatic joints connected by the rack & pinion joint.
- Set the desired ratio directly.
- Acquires a counted reference to this object.
- Returns the reference count of the object.
- Decrements the reference count of the object and releases it if the new reference count is zero.
- Convert from a descriptor to a live object. Must be an object of this Serializer type.
- The type this Serializer is meant to operate on.
- Convert from a RepX object to a key-value pair hierarchy
- return the angle of the joint, in the range (-2Pi, 2Pi]
- Returns string name of PxRevoluteJoint, used for serialization
- gets the maximum torque the drive can exert.
- gets the gear ratio.
- gets the target velocity for the drive model.
- get the joint limit parameters.
- gets the flags specific to the Revolute Joint.
- return the velocity of the joint
- sets the maximum torque the drive can exert.
- sets the gear ratio for the drive.
- set the target velocity for the drive model.
- set the joint limit parameters.
- sets a single flag specific to a Revolute Joint.
- sets the flags specific to the Revolute Joint.
- Convenience function to create a PxBVH object from a PxRigidActor.
- Creates a new shape with default properties and a list of materials and adds it to the list of shapes of this actor.
- Creates a new shape with default properties and a single material adds it to the list of shapes of this actor.
- Gets a list of bounds based on shapes in rigid actor. This list can be used to cook/create bounding volume hierarchy though PxCooking API.
- Attach a shape to an actor
- Detach a shape from an actor.
- Retrieve all the constraint shader pointers belonging to the actor.
- Retrieves the actors world space transform.
- Returns the internal actor index.
- Returns the number of constraint shaders attached to the actor.
- Returns the number of shapes assigned to the actor.
- Retrieve all the shape pointers belonging to the actor.
- Deletes the rigid actor object.
- Method for setting an actor’s pose in the world.
- Applies a force (or impulse) defined in the global coordinate frame, acting at a particular point in local coordinates, to the actor.
- Applies a force (or impulse) defined in the global coordinate frame, acting at a particular point in global coordinates, to the actor.
- Applies a force (or impulse) defined in the actor local coordinate frame, acting at a particular point in local coordinates, to the actor.
- Applies a force (or impulse) defined in the actor local coordinate frame, acting at a particular point in global coordinates, to the actor.
- Computes the linear and angular impulse vectors for a given impulse at a world space position taking a mass and inertia scale into account
- Compute the mass, inertia tensor and center of mass from a list of shapes.
- Compute the change to linear and angular velocity that would occur if an impulsive force and torque were to be applied to a specified rigid body.
- Computes the linear and angular velocity change vectors for a given impulse at a world space position taking a mass and inertia scale into account
- Computes the velocity of a point given in local coordinates if it were attached to the specified body and moving with it.
- Computes the velocity of a point (offset from the origin of the body) given in world coordinates if it were attached to the specified body and moving with it.
- Computes the velocity of a point given in world coordinates if it were attached to the specified body and moving with it.
- Performs a linear sweep through space with the body’s geometry objects, returning all overlaps.
- Performs a linear sweep through space with the body’s geometry objects.
- Computation of mass properties for a rigid body actor
- Computation of mass properties for a rigid body actor
- Computation of mass properties for a rigid body actor
- Computation of mass properties for a rigid body actor
- Applies a force (or impulse) defined in the global coordinate frame to the actor at its center of mass.
- Applies an impulsive torque defined in the global coordinate frame to the actor.
- Clears the accumulated forces (sets the accumulated force back to zero).
- Clears the impulsive torque defined in the global coordinate frame to the actor.
- Retrieves the angular damping coefficient.
- Retrieves the angular velocity of the actor.
- Retrieves the center of mass pose relative to the actor frame.
- Returns the contact slop coefficient.
- Returns the island node index
- Retrieves the inverse mass of the actor.
- Retrieves the linear damping coefficient.
- Retrieves the linear velocity of an actor.
- Retrieves the mass of the actor.
- Retrieves the diagonal inertia tensor of the actor relative to the mass coordinate frame.
- Retrieves the diagonal inverse inertia tensor of the actor relative to the mass coordinate frame.
- Retrieves the maximum angular velocity permitted for this actor.
- Returns the maximum impulse that may be applied at a contact.
- Returns the maximum depenetration velocity the solver is permitted to introduced. This value controls how much velocity the solver can introduce to correct for penetrations in contacts.
- Retrieves the maximum angular velocity permitted for this actor.
- Gets the CCD minimum advance coefficient.
- Reads the PxRigidBody flags.
- Sets the angular damping coefficient.
- Sets the pose of the center of mass relative to the actor.
- Sets a distance scale whereby the angular influence of a contact on the normal constraint in a contact is zeroed if normal.cross(offset) falls below this tolerance. Rather than acting as an absolute value, this tolerance is scaled by the ratio rXn.dot(angVel)/normal.dot(linVel) such that contacts that have relatively larger angular velocity than linear normal velocity (e.g. rolling wheels) achieve larger slop values as the angular velocity increases.
- Sets the impulsive force and torque defined in the global coordinate frame to the actor.
- Sets the linear damping coefficient.
- Sets the inertia tensor, using a parameter specified in mass space coordinates.
- Sets the mass of a dynamic actor.
- Lets you set the maximum angular velocity permitted for this actor.
- Sets a limit on the impulse that may be applied at a contact. The maximum impulse at a contact between two dynamic or kinematic bodies will be the minimum of the two limit values. For a collision between a static and a dynamic body, the impulse is limited by the value for the dynamic body.
- Sets the maximum depenetration velocity permitted to be introduced by the solver. This value controls how much velocity the solver can introduce to correct for penetrations in contacts.
- Lets you set the maximum linear velocity permitted for this actor.
- Sets the CCD minimum advance coefficient.
- Raises or clears a particular rigid body flag.
- Retrieves the angular velocity of the actor.
- Retrieves the force threshold for contact reports.
- Get target pose of a kinematically controlled dynamic actor.
- Retrieves the linear velocity of an actor.
- Reads the PxRigidDynamic lock flags.
- Returns the mass-normalized kinetic energy below which an actor may go to sleep.
- Retrieves the solver iteration counts.
- Returns the mass-normalized kinetic energy below which an actor may participate in stabilization.
- Returns the wake counter of the actor.
- Returns true if this body is sleeping.
- Forces the actor to sleep.
- Sets the angular velocity of the actor.
- Sets the force threshold for contact reports.
- Moves kinematically controlled dynamic actors through the game world.
- Sets the linear velocity of the actor.
- Raises or clears a particular rigid dynamic lock flag.
- Sets the mass-normalized kinetic energy threshold below which an actor may go to sleep.
- Sets the solver iteration counts for the body.
- Sets the mass-normalized kinetic energy threshold below which an actor may participate in stabilization.
- Sets the wake counter for the actor.
- Wakes up the actor if it is sleeping.
- Returns true if the descriptor is valid.
- Constructor
- Returns true if the descriptor is valid.
- constructor sets to default.
- (re)sets the structure to the default.
- Returns true if the descriptor is valid.
- constructor sets to default
- (re)sets the structure to the default
- Returns true if the descriptor is valid.
- constructor sets to default.
- (re)sets the structure to the default.
- Test returning, for a given geometry, any overlapping object in the scene.
- Test overlap between a geometry and objects in the scene.
- Raycast returning any blocking hit, not necessarily the closest.
- Raycast returning multiple results.
- Raycast returning a single result.
- Sweep returning any blocking hit, not necessarily the closest.
- Sweep returning multiple results.
- Sweep returning a single result.
- Flushes any changes to the scene query representation.
- Forces dynamic trees to be immediately rebuilt.
- Retrieves the rebuild rate of the dynamic tree pruning structures.
- Retrieves the system’s internal scene query timestamp, increased each time a change to the static scene query structure is performed.
- Gets scene query update mode
- Performs an overlap test of a given geometry against objects in the scene, returns results in a PxOverlapBuffer object or via a custom user callback implementation inheriting from PxOverlapCallback.
- Performs a raycast against objects in the scene, returns results in a PxRaycastBuffer object or via a custom user callback implementation inheriting from PxRaycastCallback.
- Sets the rebuild rate of the dynamic tree pruning structures.
- Sets scene query update mode
- Performs a sweep test against objects in the scene, returns results in a PxSweepBuffer object or via a custom user callback implementation inheriting from PxSweepCallback.
- Acquires a counted reference to this object.
- Adds a compound to the SQ system.
- Adds a shape to the SQ system.
- Finalizes updates made to the SQ system.
- Frees internal memory that may not be in-use anymore.
- Shape to SQ-pruner-handle mapping function.
- Merges a pruning structure with the SQ system’s internal pruners.
- Preallocates internal arrays to minimize the amount of reallocations.
- Prepares asynchronous build step.
- Decrements the reference count of the object and releases it if the new reference count is zero.
- Removes a compound from the SQ system.
- Removes a shape from the SQ system.
- Executes asynchronous build step.
- Shift the data structures’ origin by the specified vector.
- Synchronizes the scene-query system with another system that references the same objects.
- Updates a compound in the SQ system.
- Updates a shape in the SQ system.
- Constructor
- This checks to see if the scene queries update has completed.
- This method must be called after sceneQueriesUpdate. It will wait for the scene queries update to finish. If the user makes an illegal scene queries update call, the SDK will issue an error message.
- Flushes any changes to the scene query representation.
- Forces dynamic trees to be immediately rebuilt.
- Return the value of PxSceneQueryDesc::dynamicStructure that was set when creating the scene with PxPhysics::createScene
- Retrieves the scene’s internal scene query timestamp, increased each time a change to the static scene query structure is performed.
- Gets scene query update mode
- Return the value of PxSceneQueryDesc::staticStructure that was set when creating the scene with PxPhysics::createScene
- Executes scene queries update tasks.
- Sets scene query update mode
- Constructor
- Adds an actor to this scene.
- Adds actors to this scene. Only supports actors of type PxRigidStatic and PxRigidDynamic.
- Adds a pruning structure together with its actors to this scene. Only supports actors of type PxRigidStatic and PxRigidDynamic.
- Adds an aggregate to this scene.
- Adds an articulation to this scene.
- Adds a new broad-phase region.
- Adds objects in the collection to this scene.
- Performs dynamics phase of the simulation pipeline.
- Apply user-provided data to rigid body.
- Apply GPU articulation data from a user-provided device buffer to the internal GPU buffer.
- Apply user-provided data to particle buffers.
- Apply user-provided data to the internal softbody system.
- This checks to see if the simulation run has completed.
- Performs collision detection for the scene over elapsedTime
- Computes the joint DOF forces required to counteract coriolis and centrifugal forces for the given articulation pose.
- Compute dense Jacobian matrices for specified articulations on the GPU.
- Computes the joint DOF forces required to counteract gravitational forces for the given articulation pose.
- Compute the joint-space inertia matrices that maps joint accelerations to joint forces: forces = M * accelerations on the GPU.
- Copy GPU articulation data from the internal GPU buffer to a user-provided device buffer.
- Copy GPU rigid body data from the internal GPU buffer to a user-provided device buffer.
- Copy contact data from the internal GPU buffer to a user-provided device buffer.
- Copy GPU softbody data from the internal GPU buffer to a user-provided device buffer.
- Reserves a new client ID.
- This method must be called after collide() and before advance(). It will wait for the collision phase to finish. If the user makes an illegal simulation call, the SDK will issue an error message.
- This call performs the second section of fetchResults.
- This call performs the synchronization of particle system data copies.
- This call performs the first section of fetchResults, and returns a pointer to the contact streams output by the simulation. It can be used to process contact pairs in parallel, which is often a limiting factor for fetchResults() performance.
- This is the big brother to checkResults() it basically does the following:
- Clear internal buffers and free memory.
- Queries the PxScene for a list of the PxActors whose transforms have been updated during the previous simulation step. Only includes actors of type PxRigidDynamic and PxArticulationLink.
- Retrieve an array of all the actors of certain types in the scene. For supported types, see PxActorTypeFlags.
- Retrieve all the aggregates in the scene.
- Retrieve all the articulations in the scene.
- Return the bounce threshold velocity.
- Retrieves the PxBroadPhaseCallback pointer set with setBroadPhaseCallback().
- Gets broad-phase caps.
- Gets broad-phase regions.
- Returns broad-phase type.
- Retrieves the PxCCDContactModifyCallback pointer set with setContactModifyCallback().
- Gets the maximum number of CCD passes.
- Gets the maximum CCD separation.
- Gets the CCD threshold.
- Retrieve all the constraint shaders in the scene.
- Retrieves the PxContactModifyCallback pointer set with setContactModifyCallback().
- Return the value of PxSceneDesc::contactReportStreamBufferSize that was set when creating the scene with PxPhysics::createScene
- Return the cpu dispatcher that was set in PxSceneDesc::cpuDispatcher when creating the scene with PxPhysics::createScene
- Samples the dominance matrix.
- Gets the shared global filter data in use for this scene.
- Gets the size of the shared global filter data (
PxSceneDesc
.filterShaderData) - Get the scene flags.
- Gets the friction correlation distance.
- Gets the friction offset threshold.
- Return the friction model.
- Retrieves the current gravity setting.
- Gets the pair filtering mode for kinematic-kinematic pairs.
- Get current scene limits.
- Gets the max bias coefficient.
- get the maximum number of cache blocks used by the scene
- Retrieve the number of actors of certain types in the scene. For supported types, see PxActorTypeFlags.
- Returns the number of aggregates in the scene.
- Returns the number of articulations in the scene.
- Returns number of regions currently registered in the broad-phase.
- Returns the number of constraint shaders in the scene.
- get the number of cache blocks currently used by the scene
- Call this method to retrieve the Physics SDK.
- Retrieves the render buffer.
- Returns the Pvd client associated with the scene.
- Retrieves the simulationEventCallback pointer set with setSimulationEventCallback().
- Call this method to retrieve statistics for the current simulation step.
- Retrieves the number of articulations required to spawn a separate rigid body solver thread.
- Retrieves the number of actors required to spawn a separate rigid body solver thread.
- Return the solver model.
- Gets the pair filtering mode for static-kinematic pairs.
- Get the task manager associated with this scene
- Retrieves the scene’s internal timestamp, increased each time a simulation step is completed.
- Retrieves the visualization culling box.
- Function that lets you query debug visualization parameters.
- Returns the wake counter reset value.
- Lock the scene for reading from the calling thread.
- Lock the scene for writing from this thread.
- This call processes all event callbacks in parallel. It takes a continuation task, which will be executed once all callbacks have been processed.
- Deletes the scene.
- Removes an actor from this scene.
- Removes actors from this scene. Only supports actors of type PxRigidStatic and PxRigidDynamic.
- Removes an aggregate from this scene.
- Removes an articulation from this scene.
- Removes a new broad-phase region.
- Marks the object to reset interactions and re-run collision filters in the next simulation step.
- Marks the object to reset interactions and re-run collision filters for specified shapes in the next simulation step.
- Set the bounce threshold velocity. Collision speeds below this threshold will not cause a bounce.
- Sets a broad-phase user callback object.
- Sets a user callback object, which receives callbacks on all CCD contacts generated for specified actors.
- Sets the maximum number of CCD passes
- Set the maximum CCD separation.
- Set the CCD threshold.
- Sets a user callback object, which receives callbacks on all contacts generated for specified actors.
- Specifies the dominance behavior of contacts between two actors with two certain dominance groups.
- Sets the shared global filter data which will get passed into the filter shader.
- Sets a scene flag. You can only set one flag at a time.
- Set the friction correlation distance.
- Set the friction offset threshold.
- Sets a constant gravity for the entire scene.
- Set new scene limits.
- Set the max bias coefficient.
- set the cache blocks that can be used during simulate().
- Sets a user notify object which receives special simulation events when they occur.
- Sets the number of articulations required to spawn a separate rigid body solver thread.
- Sets the number of actors required to spawn a separate rigid body solver thread.
- Defines a box in world space to which visualization geometry will be (conservatively) culled. Use a non-empty culling box to enable the feature, and an empty culling box to disable it.
- Function that lets you set debug visualization parameters.
- Shift the scene origin by the specified vector.
- Advances the simulation by an elapsedTime time.
- Unlock the scene from reading.
- Unlock the scene from writing.
- Aligns the serialized data.
- Returns the collection that is being serialized.
- Registers a reference value corresponding to a PxBase object.
- Serializes object data and object extra data.
- Helper function to write a name to the extraData if serialization is configured to save names.
- Returns RepX serializer given the corresponding type name
- Returns PxSerializer corresponding to type
- Register a RepX serializer for a concrete type
- Register a serializer for a concrete type
- Releases PxSerializationRegistry instance.
- Unregister a RepX serializer for a concrete type, and retrieves the corresponding serializer object.
- Unregister a serializer for a concrete type, and retrieves the corresponding serializer object.
- Adds to a collection all objects such that it can be successfully serialized.
- Deserializes a PxCollection from memory.
- Creates a PxCollection from XML data.
- Creates PxSerialObjectId values for unnamed objects in a collection.
- Creates an application managed registry for serialization.
- Returns whether the collection is serializable with the externalReferences collection.
- Serializes a collection to a binary stream.
- Serializes a physics collection to an XML output stream.
- Create object at a given address, resolve references and import extra data.
- Exports object’s data to stream.
- Exports object’s extra data to stream.
- Returns size needed to create the class instance.
- Returns string name of dynamic type.
- Whether the object is subordinate.
- Register references that the object maintains to other objects.
- Adds required objects to the collection.
- Retrieves the world space pose of the shape.
- Retrieves the axis aligned bounding box enclosing the shape.
- Test overlap between the shape and a geometry object
- Raycast test against the shape.
- Sweep a geometry object against the shape.
- Retrieves the actor which this shape is associated with.
- Retrieves the contact offset.
- Retrieves the density used to interact with fluids.
- Retrieves shape flags.
- Retrieve a reference to the shape’s geometry.
- Retrieves the pose of the shape in actor space, i.e. relative to the actor they are owned by.
- Retrieve material from given triangle index.
- Retrieve all the material pointers associated with the shape.
- Gets minimum torsional patch radius.
- retrieves the name string set with setName().
- Returns the number of materials assigned to the shape.
- Retrieves the shape’s Query filter data.
- Retrieves the rest offset.
- Retrieves the shape’s collision filter data.
- Gets torsional patch radius.
- Returns true if the shape is exclusive to an actor.
- Decrements the reference count of a shape and releases it if the new reference count is zero.
- Sets the contact offset.
- Sets the density used to interact with fluids.
- Sets shape flags
- Sets shape flags
- Adjust the geometry of the shape.
- Sets the pose of the shape in actor space, i.e. relative to the actors to which they are attached.
- Assigns material(s) to the shape. Will remove existing materials from the shape.
- Sets minimum torsional patch radius.
- Sets a name string for the object that can be retrieved with
getName
. - Sets the user definable query filter data.
- Sets the rest offset.
- Sets the user definable collision filter data.
- Sets torsional patch radius.
- returns true if the current settings are valid
- constructor sets to default.
- (re)sets the structure to the default.
- Provides early access to the new pose of moving rigid bodies.
- This is called when a breakable constraint breaks.
- This is called when certain contact events occur.
- This is called with the actors which have just been put to sleep.
- This is called with the current trigger pair events.
- This is called with the actors which have just been woken up.
- Filter method to specify how a pair of potentially colliding objects should be processed.
- Callback to inform that a tracked collision pair is gone.
- Callback to give the opportunity to change the filter state of a tracked collision pair.
- Get number of broadphase volumes added for the current simulation step.
- Get number of broadphase volumes removed for the current simulation step.
- Get number of shape collision pairs of a certain type processed for the current simulation step.
- Decrements the reference count of a tetrahedron mesh and releases it if the new reference count is zero.
- Const accecssor to the softbody’s collision mesh.
- Accecssor to the softbody’s collision mesh.
- Const accessor to the softbody’s simulation mesh.
- Accecssor to the softbody’s simulation mesh.
- Const accessor to the softbodies simulation state.
- Accessor to the softbody’s auxilary data like mass and rest pose information
- Decrements the reference count of a tetrahedron mesh and releases it if the new reference count is zero.
- Constructor to build an empty simulation description
- Returns true if the geometry is valid.
- Constructor.
- Returns string name of PxSphericalJoint, used for serialization
- Set the limit cone.
- Get the flags specific to the Spherical Joint.
- get the swing angle of the joint from the Y axis
- get the swing angle of the joint from the Z axis
- Get the limit cone.
- Set a single flag specific to a Spherical Joint to true or false.
- Set the flags specific to the Spherical Joint.
- Allocate a new string.
- Release the string table and all the strings associated with it.
- Size of this class.
- Reset the synchronization object
- Signal the synchronization object, waking all threads waiting on it
- Wait on the object for at most the given number of ms. Returns true if the object is signaled. Sync::waitForever will block forever or until the object is signaled.
- Construct a new PxTaskManager instance with the given [optional] dispatchers
- Get the user-provided dispatcher object for CPU tasks
- Retrieve a task by name
- Retrieve a task given a task ID
- Release the PxTaskManager object, referenced dispatchers will not be released
- Reset any dependencies between Tasks
- Set the user-provided dispatcher object for CPU tasks
- Called by the owning scene to start the task graph.
- Called by the owning scene at the end of a simulation step.
- Submit a task with a unique name.
- Submit an unnamed task.
- Called by the worker threads to inform the PxTaskManager that a task has completed processing.
- Manually increment this task’s reference count. The task will not be allowed to run until removeReference() is called.
- Inform the PxTaskManager this task must finish before the given
- Return the ref-count for this task
- Return the unique ID for this task
- Release method implementation
- Manually decrement this task’s reference count. If the reference count reaches zero, the task will be dispatched.
- Inform the PxTaskManager this task cannot start until the given
- Called by PxTaskManager at submission time for initialization
- Constructor to build an empty tetmesh description
- Returns the index of the tetrahedron closest to a point
- Returns the index of the tetrahedron that contains a point
- Returns true if the geometry is valid.
- Constructor. By default creates an empty object with a NULL mesh and identity scale.
- Returns the local-space (vertex space) AABB from the tetrahedron mesh.
- Returns the number of tetrahedrons.
- Returns the number of vertices.
- Returns the tetrahedra remapping table.
- Reads the PxTetrahedronMesh flags.
- Returns the tetrahedron indices.
- Returns the vertices
- Decrements the reference count of a tetrahedron mesh and releases it if the new reference count is zero.
- Destructor
- Constructor
- Constructor
- Returns true if the descriptor is valid.
- constructor sets to default
- return a normalized transform (i.e. one in which the quaternion has unit magnitude)
- returns true if all elems are finite (not NAN or INF, etc.)
- returns true if finite and quat magnitude is reasonably close to unit to allow for some accumulation of error vs isValid
- returns true if finite and q is a unit quaternion
- Transform transform from parent (returns compound transform: first src, then this->inverse)
- Transform transform to parent (returns compound transform: first src, then *this)
- Returns true if the descriptor is valid.
- Constructor sets to default.
- (re)sets the structure to the default.
- Returns true if the geometry is valid.
- Constructor. By default creates an empty object with a NULL mesh and identity scale.
- Checks whether a point is inside the triangle mesh
- Returns the local-space (vertex space) AABB from the triangle mesh.
- Returns the mass properties of the mesh assuming unit density.
- Returns the number of triangles.
- Returns the number of vertices.
- Returns whether this mesh prefers SDF projection.
- Returns the local-space Signed Distance Field for this mesh if it has one.
- Returns the resolution of the local-space dense SDF.
- Returns material table index of given triangle
- Reads the PxTriangleMesh flags.
- Returns the triangle indices.
- Returns the triangle remapping table.
- Returns the vertices.
- Returns all mesh vertices for modification.
- Refits BVH for mesh vertices.
- Decrements the reference count of a triangle mesh and releases it if the new reference count is zero.
- Sets whether this mesh should be preferred for SDF projection.
- Compute the area of the triangle.
- Destructor
- Compute the unnormalized normal of the triangle.
- Constructor
- Constructor
- Compute the normal of the Triangle.
- Computes a point on the triangle from u and v barycentric coordinates.
- Called when current controller hits another controller.
- Called when current controller hits a user-defined obstacle.
- Called when current controller hits a shape.
- returns the scalar product of this and other.
- returns a unit vector
- returns true if all 2 elems of the vector are finite (not NAN or INF, etc.)
- is normalized - used by API parameter validation
- tests for exact zero vector
- returns the magnitude
- returns the squared magnitude
- returns MAX(x, y);
- element-wise maximum
- returns MIN(x, y);
- element-wise minimum
- a[i] * b[i], for all i.
- default constructor leaves data uninitialized.
- zero constructor.
- Assigns scalar parameter to all elements.
- Initializes from 2 scalar parameters.
- normalizes the vector in place
- returns absolute values of components;
- cross product
- returns the scalar product of this and other.
- returns a unit vector
- returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)
- is normalized - used by API parameter validation
- tests for exact zero vector
- returns the magnitude
- returns the squared magnitude
- returns MAX(x, y, z);
- element-wise maximum
- returns MIN(x, y, z);
- element-wise minimum
- a[i] * b[i], for all i.
- default constructor leaves data uninitialized.
- zero constructor.
- Assigns scalar parameter to all elements.
- Initializes from 3 scalar parameters.
- normalizes the vector in place. Asserts if vector magnitude is under PX_NORMALIZATION_EPSILON. returns vector magnitude.
- normalizes the vector in place. Does nothing if vector magnitude is under PX_NORMALIZATION_EPSILON. Returns vector magnitude if >= PX_NORMALIZATION_EPSILON and 0.0f otherwise.
- normalizes the vector in place
- returns the scalar product of this and other.
- returns a unit vector
- returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)
- is normalized - used by API parameter validation
- tests for exact zero vector
- returns the magnitude
- returns the squared magnitude
- element-wise maximum
- element-wise minimum
- a[i] * b[i], for all i.
- default constructor leaves data uninitialized.
- zero constructor.
- Assigns scalar parameter to all elements.
- Initializes from 3 scalar parameters.
- Initializes from 3 scalar parameters.
- Initializes from an array of scalar parameters.
- normalizes the vector in place
- create_contact_callback⚠DeprecatedCreate a C++ proxy callback which will forward contact events to
Callback
. The returned pointer must be freed by callingdestroy_contact_callback
when done using. - Destroy the returned callback object using PxQueryFilterCallback_delete.
- Destroy the returned callback object using PxQueryFilterCallback_delete.
- Destroy the returned callback object using PxQueryFilterCallback_delete.
- New interface to handle simulation events, replacing create_contact_callback.
- destroy_contact_callback⚠DeprecatedDeallocates the PxSimulationEventCallback that has previously been created
- Override the default filter shader in the scene with a custom function. If call_default_filter_shader_first is set to true, this will first call the built-in PhysX filter (that matches Physx 2.8 behavior) before your callback.
- Builds smooth vertex normals over a mesh.
- create a dynamic body by copying attributes from an existing body
- create a shape by copying attributes from another shape
- create a static body by copying attributes from another rigid actor
- Shut down the PhysXExtensions library.
- Compute the angle between two non-unit vectors
- Compute two normalized vectors (right and up) that are perpendicular to an input normalized vector (dir).
- Compute three normalized vectors (dir, right and up) that are parallel to (dir) and perpendicular to (right, up) the normalized direction vector (p1 - p0)/||p1 - p0||.
- Computes an approximate minimum translational distance (MTD) between a geometry object and a heightfield.
- Computed hull polygons from given vertices and triangles. Polygons are needed for PxConvexMeshDesc rather than triangles.
- Computes an approximate minimum translational distance (MTD) between a geometry object and a mesh.
- Create a distance Joint.
- Cooks a bounding volume hierarchy. The results are written to the stream.
- Cooks a convex mesh. The results are written to the stream.
- Cooks a heightfield. The results are written to the stream.
- Cooks a triangle mesh. The results are written to the stream.
- Returns the index of the highest set bit. Returns 32 for v=0.
- AABB manager factory function.
- Cooks and creates a bounding volume hierarchy without going through a stream.
- Create a PxBatchQueryExt without the need for pre-allocated result or touch buffers.
- Create a PxBatchQueryExt with user-supplied result and touch buffers.
- Broadphase factory function.
- Creates a collection object.
- Creates the controller manager.
- Cooks and creates a convex mesh without going through a stream.
- Creates a custom scene query system.
- simple method to create a PxRigidDynamic actor with a single PxShape.
- simple method to create a PxRigidDynamic actor with a single PxShape.
- Creates an external scene query system.
- Creates an instance of the foundation class
- Cooks and creates a heightfield mesh and inserts it into PxPhysics.
- simple method to create a kinematic PxRigidDynamic actor with a single PxShape.
- simple method to create a kinematic PxRigidDynamic actor with a single PxShape.
- Creates an instance of the physics SDK.
- create a plane actor. The plane equation is n.x + d = 0
- Create a pvd instance.
- Creates a shape sampler
- simple method to create a PxRigidStatic actor with a single PxShape.
- simple method to create a PxRigidStatic actor with a single PxShape.
- Cooks and creates a triangle mesh without going through a stream.
- Creates a triangle mesh sampler
- For internal use
- Create a D6 joint.
- Decrement the ref count of PxFoundation
- Create default dispatcher, extensions SDK needs to be initialized first.
- Create a default file transport.
- Create a default socket transport.
- Implementation of a simple filter shader that emulates PhysX 2.8.x filtering
- Disables floating point exceptions for the scalar and SIMD unit
- Create a distance Joint.
- Compute the closest point on an 2d ellipse to a given 2d point.
- Enables floating point exceptions for the scalar and SIMD unit
- Compute the exponent of a PxVec3
- Specifies whether the collision object belongs to a kinematic rigid body
- Specifies whether the collision object is a trigger shape
- Computes closest polygon of the convex hull geometry for a given impact point and impact direction. When doing sweeps against a scene, one might want to delay the rather expensive computation of the hit face index for convexes until it is clear the information is really needed and then use this method to get the corresponding face index.
- Create a fixed joint.
- Create a gear Joint.
- Get the allocator callback
- Retrieves a filter group for dynamic objects.
- Retrieves a filter group for kinematic objects.
- Retrieves the filter group for static objects.
- Get the broadcasting allocator callback
- Get the broadcasting error callback
- Get the error callback
- Retrieves filtering’s boolean value. See comments for PxGroupsMask
- Gets filtering constant K0 and K1. See comments for PxGroupsMask
- Extract filter object type from the filter attributes of a collision pair object
- Retrieves filtering operation. See comments for PxGroupsMask
- Retrieves the value set with PxSetGroup()
- Determines if collision detection is performed between a pair of groups
- Gets 64-bit mask used for collision filtering. See comments for PxGroupsMask
- Compute (i+1)%3
- Get the callback that will be used for all profiling.
- Get the warn once timestamp
- Return the index of the highest set bit. Not valid for zero arg.
- Return the index of the highest set bit. Undefined for zero arg.
- Increment the ref count of PxFoundation
- Initialize the PhysXExtensions library.
- integrate transform.
- return Returns 0 if v.x is largest element of v, 1 if v.y is largest element, 2 if v.z is largest element.
- return Returns the log of a PxQuat
- Return the index of the highest set bit. Not valid for zero arg.
- Return the index of the highest set bit. Undefined for zero arg.
- Mark a specified amount of memory with 0xcd pattern. This is used to check that the meta data definition for serialized classes is complete in checked builds.
- Copies the bytes of one memory block to another. The memory blocks must not overlap.
- Copies the bytes of one memory block to another. The memory blocks can overlap.
- Sets the bytes of the provided buffer to the specified value.
- Sets the bytes of the provided buffer to zero.
- computes a oriented bounding box around the scaled basis.
- creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry
- Prefetch bytes starting at
- Prefetch aligned 64B x86, 32b ARM around
- Create a prismatic joint.
- Create a rack & pinion Joint.
- Create a revolute joint.
- scale a rigid actor by a uniform scale
- Compute from an input quaternion q a pair of quaternions (swing, twist) such that q = swing * twist with the caveats that swing.x = twist.y = twist.z = 0.
- Setups filtering’s boolean value. See comments for PxGroupsMask
- Setups filtering’s K0 and K1 value. See comments for PxGroupsMask
- Setups filtering operations. See comments for PxGroupsMask
- Sets which collision group this actor is part of
- Specifies if collision should be performed by a pair of groups
- Sets 64-bit mask used for collision filtering. See comments for PxGroupsMask
- Helper function to setup a joint’s global frame
- Set the callback that will be used for all profiling.
- finds the shortest rotation between two vectors.
- Spherical linear interpolation of two quaternions.
- Create a spherical joint.
- Compute tan(theta/2) given sin(theta) and cos(theta) as inputs.
- creates a transform from a plane equation, suitable for an actor transform for a PxPlaneGeometry
- creates a transform from the endpoints of a segment, suitable for an actor transform for a PxCapsuleGeometry
- Verifies if the convex mesh is valid. Prints an error message for each inconsistency found.
- Verifies if the triangle mesh is valid. Prints an error message for each inconsistency found.