|
RavEngine
|
Public Member Functions | |
| Cooking (const PxCookingParams ¶ms) | |
| virtual void | release () |
| Closes this instance of the interface. | |
| virtual void | setParams (const PxCookingParams ¶ms) |
| Sets cooking parameters. | |
| virtual const PxCookingParams & | getParams () const |
| Gets cooking parameters. | |
| virtual bool | platformMismatch () const |
| Checks endianness is the same between cooking & target platforms. | |
| virtual bool | cookTriangleMesh (const PxTriangleMeshDesc &desc, PxOutputStream &stream, PxTriangleMeshCookingResult::Enum *condition=NULL) const |
| Cooks a triangle mesh. The results are written to the stream. | |
| virtual PxTriangleMesh * | createTriangleMesh (const PxTriangleMeshDesc &desc, PxInsertionCallback &insertionCallback, PxTriangleMeshCookingResult::Enum *condition=NULL) const |
| Cooks and creates a triangle mesh without going through a stream. | |
| virtual bool | validateTriangleMesh (const PxTriangleMeshDesc &desc) const |
| Verifies if the triangle mesh is valid. Prints an error message for each inconsistency found. | |
| virtual bool | cookSoftBodyMesh (const PxTetrahedronMeshDesc &simulationMeshDesc, const PxTetrahedronMeshDesc &collisionMeshDesc, const PxSoftBodySimulationDataDesc &softbodyDataDesc, PxOutputStream &stream) const |
| Cooks a softbody mesh. The results are written to the stream. | |
| virtual PxSoftBodyMesh * | createSoftBodyMesh (const PxTetrahedronMeshDesc &simulationMeshDesc, const PxTetrahedronMeshDesc &collisionMeshDesc, const PxSoftBodySimulationDataDesc &softbodyDataDesc, PxInsertionCallback &insertionCallback) const |
| Cooks and creates a softbody mesh without going through a stream. | |
| virtual bool | cookTetrahedronMesh (const PxTetrahedronMeshDesc &meshDesc, PxOutputStream &stream) const |
| Cooks a tetrahedron mesh. The results are written to the stream. | |
| virtual PxTetrahedronMesh * | createTetrahedronMesh (const PxTetrahedronMeshDesc &meshDesc, PxInsertionCallback &insertionCallback) const |
| Cooks and creates a tetrahedron mesh without going through a stream. | |
| virtual PxCollisionMeshMappingData * | computeModelsMapping (PxTetrahedronMeshData &simulationMesh, const PxTetrahedronMeshData &collisionMesh, const PxSoftBodyCollisionData &collisionData, const PxBoundedData *vertexToTet) const |
| Computes the mapping between collision and simulation mesh. | |
| virtual PxCollisionTetrahedronMeshData * | computeCollisionData (const PxTetrahedronMeshDesc &collisionMeshDesc) const |
| Computes data to accelerate collision detection of tetrahedral meshes. | |
| virtual PxSimulationTetrahedronMeshData * | computeSimulationData (const PxTetrahedronMeshDesc &simulationMeshDesc) const |
| Computes data to accelerate collision detection of tetrahedral meshes. | |
| virtual PxSoftBodyMesh * | assembleSoftBodyMesh (PxTetrahedronMeshData &simulationMesh, PxSoftBodySimulationData &simulationData, PxTetrahedronMeshData &collisionMesh, PxSoftBodyCollisionData &collisionData, PxCollisionMeshMappingData &mappingData, PxInsertionCallback &insertionCallback) const |
| Bundles all data required for softbody simulation. | |
| virtual PxSoftBodyMesh * | assembleSoftBodyMesh (PxSimulationTetrahedronMeshData &simulationMesh, PxCollisionTetrahedronMeshData &collisionMesh, PxCollisionMeshMappingData &mappingData, PxInsertionCallback &insertionCallback) const |
| Bundles all data required for softbody simulation. | |
| virtual bool | cookConvexMesh (const PxConvexMeshDesc &desc, PxOutputStream &stream, PxConvexMeshCookingResult::Enum *condition) const |
| Cooks a convex mesh. The results are written to the stream. | |
| virtual PxConvexMesh * | createConvexMesh (const PxConvexMeshDesc &desc, PxInsertionCallback &insertionCallback, PxConvexMeshCookingResult::Enum *condition) const |
| Cooks and creates a convex mesh without going through a stream. | |
| virtual bool | validateConvexMesh (const PxConvexMeshDesc &desc) const |
| Verifies if the convex mesh is valid. Prints an error message for each inconsistency found. | |
| virtual bool | computeHullPolygons (const PxSimpleTriangleMesh &mesh, PxAllocatorCallback &inCallback, PxU32 &nbVerts, PxVec3 *&vertices, PxU32 &nbIndices, PxU32 *&indices, PxU32 &nbPolygons, PxHullPolygon *&hullPolygons) const |
| Computed hull polygons from given vertices and triangles. Polygons are needed for PxConvexMeshDesc rather than triangles. | |
| virtual bool | cookHeightField (const PxHeightFieldDesc &desc, PxOutputStream &stream) const |
| Cooks a heightfield. The results are written to the stream. | |
| virtual PxHeightField * | createHeightField (const PxHeightFieldDesc &desc, PxInsertionCallback &insertionCallback) const |
| Cooks and creates a heightfield mesh and inserts it into PxPhysics. | |
| virtual bool | cookBVH (const PxBVHDesc &desc, PxOutputStream &stream) const |
| Cooks a bounding volume hierarchy. The results are written to the stream. | |
| virtual PxBVH * | createBVH (const PxBVHDesc &desc, PxInsertionCallback &insertionCallback) const |
| Cooks and creates a bounding volume hierarchy without going through a stream. | |
| virtual PxInsertionCallback & | getStandaloneInsertionCallback () |
| Gets standalone object insertion interface. | |
| PxTriangleMesh * | createTriangleMesh (const PxTriangleMeshInternalData &data) const |
| PxBVH * | createBVH (const PxBVHInternalData &data) const |
Public Member Functions inherited from physx::PxCooking | |
| PX_FORCE_INLINE PxTriangleMesh * | createTriangleMesh (const PxTriangleMeshDesc &desc) const |
| Cooks and creates a triangle mesh without going through a stream. Convenience function for standalone objects. | |
| PX_FORCE_INLINE PxSoftBodyMesh * | createSoftBodyMesh (const PxTetrahedronMeshDesc &simulationMeshDesc, const PxTetrahedronMeshDesc &collisionMeshDesc, const PxSoftBodySimulationDataDesc &softbodyDataDesc) const |
| Cooks and creates a softbody mesh without going through a stream. Convenience function for standalone objects. | |
| PX_FORCE_INLINE PxTetrahedronMesh * | createTetrahedronMesh (const PxTetrahedronMeshDesc &meshDesc) const |
| Cooks and creates a tetrahedron mesh without going through a stream. Convenience function for standalone objects. | |
| PX_FORCE_INLINE PxConvexMesh * | createConvexMesh (const PxConvexMeshDesc &desc) const |
| Cooks and creates a convex mesh without going through a stream. Convenience function for standalone objects. | |
| PX_FORCE_INLINE PxHeightField * | createHeightField (const PxHeightFieldDesc &desc) const |
| Cooks and creates a heightfield mesh and inserts it into PxPhysics. Convenience function for standalone objects. | |
| PX_DEPRECATED PX_FORCE_INLINE bool | cookBVHStructure (const PxBVHStructureDesc &desc, PxOutputStream &stream) const |
| Backward compatibility helper. Cooks a bounding volume hierarchy. The results are written to the stream. | |
| PX_FORCE_INLINE PxBVH * | createBVH (const PxBVHDesc &desc) const |
| Cooks and creates a bounding volume hierarchy without going through a stream. Convenience function for standalone objects. | |
| PX_DEPRECATED PX_FORCE_INLINE PxBVHStructure * | createBVHStructure (const PxBVHStructureDesc &desc, PxInsertionCallback &insertionCallback) const |
| Backward compatibility helper. Cooks and creates a bounding volume hierarchy without going through a stream. | |
Public Member Functions inherited from physx::PxUserAllocated | |
| PX_INLINE void * | operator new (size_t, void *address) |
| PX_INLINE void | operator delete (void *, void *) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new (size_t size, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new (size_t size, size_t, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new[] (size_t size, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void * | operator new[] (size_t size, size_t, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void | operator delete (void *ptr, Alloc alloc, const char *fileName, int line) |
| template<typename Alloc > | |
| PX_INLINE void | operator delete[] (void *ptr, Alloc alloc, const char *fileName, int line) |
| PX_INLINE void | operator delete (void *ptr) |
| PX_INLINE void | operator delete[] (void *ptr) |
|
virtual |
Bundles all data required for softbody simulation.
Creates a container that provides everything to create a PxSoftBody
| [in] | simulationMesh | Container that provides all information about the simulation mesh (geometry, mass distribution etc.) |
| [in] | collisionMesh | Container that provides all information about the collision mesh (geometry, surface information, acceleration structures etc.) |
| [in] | mappingData | Mapping that describes how the collision mesh's vertices are embedded into the simulation mesh |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
Implements physx::PxCooking.
|
virtual |
Bundles all data required for softbody simulation.
Creates a container that provides everything to create a PxSoftBody
| [in] | simulationMesh | The geometry (tetrahedral mesh) to be used as simulation mesh |
| [in] | simulationData | Additional non-tetmesh data that contains mass information etc. for the simulation mesh |
| [in] | collisionMesh | The geometry (tetrahedral mesh) to be used for collision detection |
| [in] | collisionData | Additional non-tetmesh data that contains surface information, acceleration structures etc. for the simulation mesh |
| [in] | mappingData | Mapping that describes how the collision mesh's vertices are embedded into the simulation mesh |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
Implements physx::PxCooking.
|
virtual |
Computes data to accelerate collision detection of tetrahedral meshes.
Computes data structures to speed up collision detection with tetrahedral meshes.
| [in] | collisionMeshDesc | Raw tetrahedral mesh descriptor wich will be used for collision detection |
Implements physx::PxCooking.
|
virtual |
Computed hull polygons from given vertices and triangles. Polygons are needed for PxConvexMeshDesc rather than triangles.
Please note that the resulting polygons may have different number of vertices. Some vertices may be removed. The output vertices, indices and polygons must be used to construct a hull.
The provided PxAllocatorCallback does allocate the out array's. It is the user responsibility to deallocated those array's.
| [in] | mesh | Simple triangle mesh containing vertices and triangles used to compute polygons. |
| [in] | inCallback | Memory allocator for out array allocations. |
| [out] | nbVerts | Number of vertices used by polygons. |
| [out] | vertices | Vertices array used by polygons. |
| [out] | nbIndices | Number of indices used by polygons. |
| [out] | indices | Indices array used by polygons. |
| [out] | nbPolygons | Number of created polygons. |
| [out] | hullPolygons | Polygons array. |
Implements physx::PxCooking.
|
virtual |
Computes the mapping between collision and simulation mesh.
The softbody deformation is computed on the simulation mesh. To deform the collision mesh accordingly it needs to be specified how its vertices need to be placed and updated inside the deformation mesh. This method computes that embedding information.
| [in] | simulationMesh | A tetrahedral mesh that defines the shape of the simulation mesh which is used to compute the body's deformation |
| [in] | collisionMesh | A tetrahedral mesh that defines the shape of the collision mesh which is used for collision detection |
| [in] | collisionData | A data container that contains acceleration structures and surface information of the collision mesh |
| [in] | vertexToTet | Optional indices (array of integers) that specifies the index of the tetrahedron in the simulation mesh that contains a collision mesh vertex. If not provided, the embedding will be computed internally. If the simulation mesh is obtained from PxTetMaker::createVoxelTetrahedronMesh, then the vertexToTet map createVoxelTetrahedronMesh returned should be used here. |
Implements physx::PxCooking.
|
virtual |
Computes data to accelerate collision detection of tetrahedral meshes.
Computes data to compute and store a softbody's deformation using FEM.
| [in] | simulationMeshDesc | Raw tetrahedral mesh descriptor wich will be used for FEM simulation |
Implements physx::PxCooking.
|
virtual |
Cooks a bounding volume hierarchy. The results are written to the stream.
cookBVH() allows a BVH description to be cooked into a binary stream suitable for loading and performing BVH detection at runtime.
| [in] | desc | The BVH descriptor. |
| [in] | stream | User stream to output the cooked data. |
Implements physx::PxCooking.
|
virtual |
Cooks a convex mesh. The results are written to the stream.
To create a triangle mesh object it is necessary to first 'cook' the mesh data into a form which allows the SDK to perform efficient collision detection.
cookConvexMesh() allows a mesh description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.
| [in] | desc | The convex mesh descriptor to read the mesh from. |
| [in] | stream | User stream to output the cooked data. |
| [out] | condition | Result from convex mesh cooking. |
Implements physx::PxCooking.
|
virtual |
Cooks a heightfield. The results are written to the stream.
To create a heightfield object there is an option to precompute some of calculations done while loading the heightfield data.
cookHeightField() allows a heightfield description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.
| [in] | desc | The heightfield descriptor to read the HF from. |
| [in] | stream | User stream to output the cooked data. |
Implements physx::PxCooking.
|
virtual |
Cooks a softbody mesh. The results are written to the stream.
To create a softbody mesh object it is necessary to first 'cook' the mesh data into a form which allows the SDK to perform efficient collision detection and to store data used during the FEM calculations.
cookSoftBodyMesh() allows a mesh description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.
Example
| [in] | simulationMeshDesc | The tetrahedron mesh descriptor to read the simulation mesh from. |
| [in] | collisionMeshDesc | The tetrahedron mesh descriptor to read the collision mesh from. |
| [in] | softbodyDataDesc | The softbody data descriptor to read mapping information from. |
| [in] | stream | User stream to output the cooked data. |
Implements physx::PxCooking.
|
virtual |
Cooks a tetrahedron mesh. The results are written to the stream.
To create a tetrahedron mesh object it is necessary to first 'cook' the mesh data into a form which allows the SDK to perform efficient collision detection.
cookTriangleMesh() allows a mesh description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.
Example
| [in] | meshDesc | The tetrahedron mesh descriptor to read the mesh from. |
| [in] | stream | User stream to output the cooked data. |
Implements physx::PxCooking.
|
virtual |
Cooks a triangle mesh. The results are written to the stream.
To create a triangle mesh object it is necessary to first 'cook' the mesh data into a form which allows the SDK to perform efficient collision detection.
cookTriangleMesh() allows a mesh description to be cooked into a binary stream suitable for loading and performing collision detection at runtime.
| [in] | desc | The triangle mesh descriptor to read the mesh from. |
| [in] | stream | User stream to output the cooked data. |
| [out] | condition | Result from triangle mesh cooking. |
Implements physx::PxCooking.
|
virtual |
Cooks and creates a bounding volume hierarchy without going through a stream.
| [in] | desc | The BVH descriptor. |
| [in] | insertionCallback | The insertion interface. |
Implements physx::PxCooking.
|
virtual |
Cooks and creates a convex mesh without going through a stream.
| [in] | desc | The convex mesh descriptor to read the mesh from. |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
| [out] | condition | Result from convex mesh cooking. |
Implements physx::PxCooking.
|
virtual |
Cooks and creates a heightfield mesh and inserts it into PxPhysics.
| [in] | desc | The heightfield descriptor to read the HF from. |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
Implements physx::PxCooking.
|
virtual |
Cooks and creates a softbody mesh without going through a stream.
| [in] | simulationMeshDesc | The tetrahedron mesh descriptor to read the simulation mesh from. |
| [in] | collisionMeshDesc | The tetrahedron mesh descriptor to read the collision mesh from. |
| [in] | softbodyDataDesc | The softbody data descriptor to read mapping information from. |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
Implements physx::PxCooking.
|
virtual |
Cooks and creates a tetrahedron mesh without going through a stream.
| [in] | meshDesc | The tetrahedron mesh descriptor to read the mesh from. |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
Implements physx::PxCooking.
|
virtual |
Cooks and creates a triangle mesh without going through a stream.
| [in] | desc | The triangle mesh descriptor to read the mesh from. |
| [in] | insertionCallback | The insertion interface from PxPhysics. |
| [out] | condition | Result from triangle mesh cooking. |
Implements physx::PxCooking.
|
virtual |
Gets cooking parameters.
Implements physx::PxCooking.
|
virtual |
Gets standalone object insertion interface.
This interface allows the creation of standalone objects that can exist without a PxPhysics or PxScene object.
Implements physx::PxCooking.
|
virtual |
Checks endianness is the same between cooking & target platforms.
Implements physx::PxCooking.
|
virtual |
Closes this instance of the interface.
This function should be called to cleanly shut down the Cooking library before application exit.
Implements physx::PxCooking.
|
virtual |
Sets cooking parameters.
| [in] | params | Cooking parameters |
Implements physx::PxCooking.
|
virtual |
Verifies if the convex mesh is valid. Prints an error message for each inconsistency found.
The convex mesh descriptor must contain an already created convex mesh - the vertices, indices and polygons must be provided.
| [in] | desc | The convex mesh descriptor to read the mesh from. |
Implements physx::PxCooking.
|
virtual |
Verifies if the triangle mesh is valid. Prints an error message for each inconsistency found.
The following conditions are true for a valid triangle mesh:
| [in] | desc | The triangle mesh descriptor to read the mesh from. |
Implements physx::PxCooking.