Geomutils
Collaboration diagram for Geomutils:

Namespaces

 physx
 

Classes

class  PxBoxGeometry
 Class representing the geometry of a box. More...
 
class  PxBVHStructure
 Class representing the bounding volume hierarchy structure. More...
 
class  PxCapsuleGeometry
 Class representing the geometry of a capsule. More...
 
struct  PxHullPolygon
 Polygon data. More...
 
class  PxConvexMesh
 A convex mesh. More...
 
struct  PxConvexMeshGeometryFlag
 Flags controlling the simulated behavior of the convex mesh geometry. More...
 
class  PxConvexMeshGeometry
 Convex mesh geometry class. More...
 
struct  PxGeometryType
 A geometry type. More...
 
class  PxGeometry
 A geometry object. More...
 
class  PxGeometryHolder
 Geometry holder class. More...
 
class  PxGeometryQuery
 Collection of geometry object queries (sweeps, raycasts, overlaps, ...). More...
 
class  PxHeightField
 A height field class. More...
 
class  PxHeightFieldDesc
 Descriptor class for PxHeightField. More...
 
struct  PxHeightFieldFormat
 Describes the format of height field samples. More...
 
struct  PxHeightFieldTessFlag
 Determines the tessellation of height field cells. More...
 
struct  PxHeightFieldFlag
 Enum with flag values to be used in PxHeightFieldDesc.flags. More...
 
class  PxHeightFieldGeometry
 Height field geometry class. More...
 
struct  PxHeightFieldMaterial
 Special material index values for height field samples. More...
 
struct  PxHeightFieldSample
 Heightfield sample format. More...
 
class  PxMeshQuery
 
class  PxMeshScale
 A class expressing a nonuniform scaling transformation. More...
 
class  PxPlaneGeometry
 Class describing a plane geometry. More...
 
struct  PxMeshFlag
 Enum with flag values to be used in PxSimpleTriangleMesh::flags. More...
 
class  PxSimpleTriangleMesh
 A structure describing a triangle mesh. More...
 
class  PxSphereGeometry
 A class representing the geometry of a sphere. More...
 
class  PxTriangle
 Triangle class. More...
 
struct  PxMeshMidPhase
 Mesh midphase structure. This enum is used to select the desired acceleration structure for midphase queries (i.e. raycasts, overlaps, sweeps vs triangle meshes). More...
 
struct  PxTriangleMeshFlag
 Flags for the mesh geometry properties. More...
 
class  PxTriangleMesh
 A triangle mesh, also called a 'polygon soup'. More...
 
class  PxBVH33TriangleMesh
 A triangle mesh containing the PxMeshMidPhase::eBVH33 structure. More...
 
class  PxBVH34TriangleMesh
 A triangle mesh containing the PxMeshMidPhase::eBVH34 structure. More...
 
struct  PxMeshGeometryFlag
 Flags controlling the simulated behavior of the triangle mesh geometry. More...
 
class  PxTriangleMeshGeometry
 Triangle mesh geometry class. More...
 

Macros

#define PX_MIN_HEIGHTFIELD_XZ_SCALE   1e-8f
 
#define PX_MIN_HEIGHTFIELD_Y_SCALE   (0.0001f / PxReal(0xFFFF))
 
#define PX_MESH_SCALE_MIN   1e-6f
 Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z). More...
 
#define PX_MESH_SCALE_MAX   1e6f
 Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z). More...
 
#define PX_ENABLE_DYNAMIC_MESH_RTREE   1
 Enables the dynamic rtree mesh feature. It is recommended to use this feature for scene queries only. More...
 

Typedefs

typedef PxFlags< PxConvexMeshGeometryFlag::Enum, PxU8 > PxConvexMeshGeometryFlags
 collection of set bits defined in PxConvexMeshGeometryFlag. More...
 
typedef PxFlags< PxHeightFieldFlag::Enum, PxU16 > PxHeightFieldFlags
 collection of set bits defined in PxHeightFieldFlag. More...
 
typedef PxFlags< PxMeshFlag::Enum, PxU16 > PxMeshFlags
 collection of set bits defined in PxMeshFlag. More...
 
typedef PxFlags< PxTriangleMeshFlag::Enum, PxU8 > PxTriangleMeshFlags
 collection of set bits defined in PxTriangleMeshFlag. More...
 
typedef PxFlags< PxMeshGeometryFlag::Enum, PxU8 > PxMeshGeometryFlags
 collection of set bits defined in PxMeshGeometryFlag. More...
 

Functions

PX_FOUNDATION_API PxTransform PxTransformFromSegment (const PxVec3 &p0, const PxVec3 &p1, PxReal *halfHeight=NULL)
 creates a transform from the endpoints of a segment, suitable for an actor transform for a PxCapsuleGeometry More...
 
class PxGeometryHolder PX_ALIGN_SUFFIX (4)
 
PX_FOUNDATION_API PxTransform PxTransformFromPlaneEquation (const PxPlane &plane)
 creates a transform from a plane equation, suitable for an actor transform for a PxPlaneGeometry More...
 
PX_INLINE PxPlane PxPlaneEquationFromTransform (const PxTransform &transform)
 creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry More...
 
PX_INLINE bool PxBoxGeometry::isValid () const
 Returns true if the geometry is valid. More...
 
PX_INLINE bool PxCapsuleGeometry::isValid () const
 Returns true if the geometry is valid. More...
 
PX_INLINE bool PxConvexMeshGeometry::isValid () const
 Returns true if the geometry is valid. More...
 
PX_INLINE PxHeightFieldDesc::PxHeightFieldDesc ()
 Constructor sets to default. More...
 
PX_INLINE void PxHeightFieldDesc::setToDefault ()
 (re)sets the structure to the default. More...
 
PX_INLINE bool PxHeightFieldDesc::isValid () const
 Returns true if the descriptor is valid. More...
 
PX_INLINE bool PxHeightFieldGeometry::isValid () const
 Returns true if the geometry is valid. More...
 
PX_INLINE bool PxPlaneGeometry::isValid () const
 Returns true if the geometry is valid. More...
 
PX_INLINE PxSimpleTriangleMesh::PxSimpleTriangleMesh ()
 constructor sets to default. More...
 
PX_INLINE void PxSimpleTriangleMesh::setToDefault ()
 (re)sets the structure to the default. More...
 
PX_INLINE bool PxSimpleTriangleMesh::isValid () const
 returns true if the current settings are valid More...
 
PX_INLINE bool PxSphereGeometry::isValid () const
 Returns true if the geometry is valid. More...
 
PX_INLINE bool PxTriangleMeshGeometry::isValid () const
 Returns true if the geometry is valid. More...
 

Detailed Description

Macro Definition Documentation

◆ PX_ENABLE_DYNAMIC_MESH_RTREE

#define PX_ENABLE_DYNAMIC_MESH_RTREE   1

Enables the dynamic rtree mesh feature. It is recommended to use this feature for scene queries only.

See also
PxTriangleMesh::getVerticesForModification
PxTriangleMesh::refitBVH

◆ PX_MESH_SCALE_MAX

#define PX_MESH_SCALE_MAX   1e6f

Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).

Note
Only positive scale values are allowed for convex meshes.

Referenced by PxMeshScale::isValidForConvexMesh(), and PxMeshScale::isValidForTriangleMesh().

◆ PX_MESH_SCALE_MIN

#define PX_MESH_SCALE_MIN   1e-6f

Minimum allowed absolute magnitude for each of mesh scale's components (x,y,z).

Note
Only positive scale values are allowed for convex meshes.

Referenced by PxMeshScale::isValidForConvexMesh(), and PxMeshScale::isValidForTriangleMesh().

◆ PX_MIN_HEIGHTFIELD_XZ_SCALE

#define PX_MIN_HEIGHTFIELD_XZ_SCALE   1e-8f

◆ PX_MIN_HEIGHTFIELD_Y_SCALE

#define PX_MIN_HEIGHTFIELD_Y_SCALE   (0.0001f / PxReal(0xFFFF))

Typedef Documentation

◆ PxConvexMeshGeometryFlags

◆ PxHeightFieldFlags

collection of set bits defined in PxHeightFieldFlag.

See also
PxHeightFieldFlag

◆ PxMeshFlags

collection of set bits defined in PxMeshFlag.

See also
PxMeshFlag

◆ PxMeshGeometryFlags

collection of set bits defined in PxMeshGeometryFlag.

See also
PxMeshGeometryFlag

◆ PxTriangleMeshFlags

collection of set bits defined in PxTriangleMeshFlag.

See also
PxTriangleMeshFlag

Function Documentation

◆ isValid() [1/9]

PX_INLINE bool PxSphereGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid
Note
A valid sphere has radius > 0. It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a sphere that has zero radius.
See also
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eSPHERE, and PxIsFinite().

◆ isValid() [2/9]

PX_INLINE bool PxPlaneGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid

References PxGeometryType::ePLANE.

◆ isValid() [3/9]

PX_INLINE bool PxCapsuleGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid.
Note
A valid capsule has radius > 0, halfHeight > 0. It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a capsule that has zero radius or height.
See also
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eCAPSULE, and PxIsFinite().

◆ isValid() [4/9]

PX_INLINE bool PxBoxGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid
Note
A valid box has a positive extent in each direction (halfExtents.x > 0, halfExtents.y > 0, halfExtents.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a box that has zero extent in any direction.
See also
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eBOX.

◆ isValid() [5/9]

PX_INLINE bool PxHeightFieldGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid
Note
A valid height field has a positive scale value in each direction (heightScale > 0, rowScale > 0, columnScale > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a height field that has zero extents in any direction.
See also
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eHEIGHTFIELD, heightField(), PX_MIN_HEIGHTFIELD_XZ_SCALE, PX_MIN_HEIGHTFIELD_Y_SCALE, and PxIsFinite().

◆ isValid() [6/9]

PX_INLINE bool PxTriangleMeshGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid for shape creation.
Note
A valid triangle mesh has a positive scale value in each direction (scale.scale.x > 0, scale.scale.y > 0, scale.scale.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a triangle mesh that has zero extents in any direction.
See also
PxRigidActor::createShape, PxPhysics::createShape

References PxGeometryType::eTRIANGLEMESH, and triangleMesh().

◆ isValid() [7/9]

PX_INLINE bool PxConvexMeshGeometry::isValid ( ) const

Returns true if the geometry is valid.

Returns
True if the current settings are valid for shape creation.
Note
A valid convex mesh has a positive scale value in each direction (scale.x > 0, scale.y > 0, scale.z > 0). It is illegal to call PxRigidActor::createShape and PxPhysics::createShape with a convex that has zero extent in any direction.
See also
PxRigidActor::createShape, PxPhysics::createShape

References convexMesh(), and PxGeometryType::eCONVEXMESH.

◆ isValid() [8/9]

PX_INLINE bool PxSimpleTriangleMesh::isValid ( ) const

returns true if the current settings are valid

References PxMeshFlag::e16_BIT_INDICES, and flags.

Referenced by PxTriangleMeshDesc::isValid().

◆ isValid() [9/9]

PX_INLINE bool PxHeightFieldDesc::isValid ( ) const

Returns true if the descriptor is valid.

Returns
True if the current settings are valid.

References PxHeightFieldFlag::eNO_BOUNDARY_EDGES, PxHeightFieldFormat::eS16_TM, and flags.

◆ PX_ALIGN_SUFFIX()

class PxGeometryHolder PX_ALIGN_SUFFIX ( )

◆ PxHeightFieldDesc()

PX_INLINE PxHeightFieldDesc::PxHeightFieldDesc ( )

Constructor sets to default.

References PxHeightFieldFormat::eS16_TM, and flags.

◆ PxPlaneEquationFromTransform()

PX_INLINE PxPlane PxPlaneEquationFromTransform ( const PxTransform transform)

creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry

Parameters
[in]transformthe transform
Returns
the plane

References PxTransform::transform().

◆ PxSimpleTriangleMesh()

PX_INLINE PxSimpleTriangleMesh::PxSimpleTriangleMesh ( )

constructor sets to default.

◆ PxTransformFromPlaneEquation()

PX_FOUNDATION_API PxTransform PxTransformFromPlaneEquation ( const PxPlane plane)

creates a transform from a plane equation, suitable for an actor transform for a PxPlaneGeometry

Parameters
[in]planethe desired plane equation
Returns
a PxTransform which will transform the plane PxPlane(1,0,0,0) to the specified plane

◆ PxTransformFromSegment()

PX_FOUNDATION_API PxTransform PxTransformFromSegment ( const PxVec3 p0,
const PxVec3 p1,
PxReal *  halfHeight = NULL 
)

creates a transform from the endpoints of a segment, suitable for an actor transform for a PxCapsuleGeometry

Parameters
[in]p0one end of major axis of the capsule
[in]p1the other end of the axis of the capsule
[out]halfHeightthe halfHeight of the capsule. This parameter is optional.
Returns
A PxTransform which will transform the vector (1,0,0) to the capsule axis shrunk by the halfHeight

◆ setToDefault() [1/2]

PX_INLINE void PxSimpleTriangleMesh::setToDefault ( )

(re)sets the structure to the default.

Referenced by PxTriangleMeshDesc::PxTriangleMeshDesc().

◆ setToDefault() [2/2]

PX_INLINE void PxHeightFieldDesc::setToDefault ( )

(re)sets the structure to the default.