NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Geomutils

NVIDIA PhysX API

Geomutils


Classes

class  PxBoxGeometry
 Class representing the geometry of a box. 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...

Defines

#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).
#define PX_MESH_SCALE_MAX   1e6f
 Maximum allowed absolute magnitude for each of mesh scale's components (x,y,z).
#define PX_ENABLE_DYNAMIC_MESH_RTREE   1
 Enables the dynamic rtree mesh feature. It is recommended to use this feature for scene queries only.

Typedefs

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

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
PX_FOUNDATION_API PxTransform PxTransformFromPlaneEquation (const PxPlane &plane)
 creates a transform from a plane equation, suitable for an actor transform for a PxPlaneGeometry
PX_INLINE PxPlane PxPlaneEquationFromTransform (const PxTransform &transform)
 creates a plane equation from a transform, such as the actor transform for a PxPlaneGeometry
PX_INLINE bool PxBoxGeometry::isValid () const
 Returns true if the geometry is valid.
PX_INLINE bool PxCapsuleGeometry::isValid () const
 Returns true if the geometry is valid.
PX_INLINE bool PxConvexMeshGeometry::isValid () const
 Returns true if the geometry is valid.
PX_INLINE PxHeightFieldDesc::PxHeightFieldDesc ()
 Constructor sets to default.
PX_INLINE void PxHeightFieldDesc::setToDefault ()
 (re)sets the structure to the default.
PX_INLINE bool PxHeightFieldDesc::isValid () const
 Returns true if the descriptor is valid.
PX_INLINE bool PxHeightFieldGeometry::isValid () const
 Returns true if the geometry is valid.
PX_INLINE bool PxPlaneGeometry::isValid () const
 Returns true if the geometry is valid.
PX_INLINE PxSimpleTriangleMesh::PxSimpleTriangleMesh ()
 constructor sets to default.
PX_INLINE void PxSimpleTriangleMesh::setToDefault ()
 (re)sets the structure to the default.
PX_INLINE bool PxSimpleTriangleMesh::isValid () const
 returns true if the current settings are valid
PX_INLINE bool PxSphereGeometry::isValid () const
 Returns true if the geometry is valid.
PX_INLINE bool PxTriangleMeshGeometry::isValid () const
 Returns true if the geometry is valid.

Variables

class PxGeometryHolder PX_ALIGN_SUFFIX
 Geometry holder class.

Define Documentation

#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

#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().

#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().

#define PX_MIN_HEIGHTFIELD_XZ_SCALE   1e-8f

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


Typedef Documentation

collection of set bits defined in PxHeightFieldFlag.

See also:
PxHeightFieldFlag

collection of set bits defined in PxMeshFlag.

See also:
PxMeshFlag

collection of set bits defined in PxMeshGeometryFlag.

See also:
PxMeshGeometryFlag

collection of set bits defined in PxTriangleMeshFlag.

See also:
PxTriangleMeshFlag


Function Documentation

PX_INLINE bool PxTriangleMeshGeometry::isValid (  )  const [inherited]

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, PxVec3::isFinite(), PxQuat::isUnit(), PxMeshScale::isValidForTriangleMesh(), PxGeometry::mType, PxMeshScale::rotation, PxMeshScale::scale, PxTriangleMeshGeometry::scale, and PxTriangleMeshGeometry::triangleMesh.

PX_INLINE bool PxSphereGeometry::isValid (  )  const [inherited]

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, PxGeometry::mType, PxIsFinite(), and PxSphereGeometry::radius.

PX_INLINE bool PxSimpleTriangleMesh::isValid (  )  const [inherited]

PX_INLINE bool PxPlaneGeometry::isValid (  )  const [inherited]

Returns true if the geometry is valid.

Returns:
True if the current settings are valid

References PxGeometryType::ePLANE, and PxGeometry::mType.

PX_INLINE bool PxHeightFieldGeometry::isValid (  )  const [inherited]

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 PxHeightFieldGeometry::columnScale, PxGeometryType::eHEIGHTFIELD, PxHeightFieldGeometry::heightField, PxHeightFieldGeometry::heightScale, PxGeometry::mType, PX_MIN_HEIGHTFIELD_XZ_SCALE, PX_MIN_HEIGHTFIELD_Y_SCALE, PxIsFinite(), and PxHeightFieldGeometry::rowScale.

PX_INLINE bool PxHeightFieldDesc::isValid (  )  const [inherited]

PX_INLINE bool PxConvexMeshGeometry::isValid (  )  const [inherited]

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 PxConvexMeshGeometry::convexMesh, PxGeometryType::eCONVEXMESH, PxVec3::isFinite(), PxQuat::isUnit(), PxMeshScale::isValidForConvexMesh(), PxConvexMeshGeometry::maxMargin, PxGeometry::mType, PxMeshScale::rotation, PxMeshScale::scale, and PxConvexMeshGeometry::scale.

PX_INLINE bool PxCapsuleGeometry::isValid (  )  const [inherited]

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, PxCapsuleGeometry::halfHeight, PxGeometry::mType, PxIsFinite(), and PxCapsuleGeometry::radius.

PX_INLINE bool PxBoxGeometry::isValid (  )  const [inherited]

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, PxBoxGeometry::halfExtents, PxVec3::isFinite(), PxGeometry::mType, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_INLINE PxPlane PxPlaneEquationFromTransform ( const PxTransform transform  ) 

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

Parameters:
[in] transform the transform
Returns:
the plane

References PxTransform::transform().

PX_INLINE PxSimpleTriangleMesh::PxSimpleTriangleMesh (  )  [inherited]

constructor sets to default.

Referenced by PxSimpleTriangleMesh::setToDefault().

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] plane the desired plane equation
Returns:
a PxTransform which will transform the plane PxPlane(1,0,0,0) to the specified plane

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] p0 one end of major axis of the capsule
[in] p1 the other end of the axis of the capsule
[out] halfHeight the 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

PX_INLINE void PxSimpleTriangleMesh::setToDefault (  )  [inherited]

(re)sets the structure to the default.

Reimplemented in PxTriangleMeshDesc.

References PxSimpleTriangleMesh::PxSimpleTriangleMesh().

PX_INLINE void PxHeightFieldDesc::setToDefault (  )  [inherited]

(re)sets the structure to the default.

References PxHeightFieldDesc::PxHeightFieldDesc().


Variable Documentation

Geometry holder class.

This class contains enough space to hold a value of any PxGeometry subtype.

Its principal use is as a convenience class to allow geometries to be returned polymorphically from functions. See PxShape::getGeometry();



Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com