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.
#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 |
Referenced by PxHeightFieldGeometry::isValid().
#define PX_MIN_HEIGHTFIELD_Y_SCALE (0.0001f / PxReal(0xFFFF)) |
Referenced by PxHeightFieldGeometry::isValid().
Typedef Documentation
typedef PxFlags<PxConvexMeshGeometryFlag::Enum,PxU8> PxConvexMeshGeometryFlags |
typedef PxFlags<PxHeightFieldFlag::Enum,PxU16> PxHeightFieldFlags |
typedef PxFlags<PxMeshFlag::Enum,PxU16> PxMeshFlags |
typedef PxFlags<PxMeshGeometryFlag::Enum,PxU8> PxMeshGeometryFlags |
typedef PxFlags<PxTriangleMeshFlag::Enum,PxU8> PxTriangleMeshFlags |
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.
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.
References PxGeometryType::eSPHERE, PxGeometry::mType, PxIsFinite(), and PxSphereGeometry::radius.
PX_INLINE bool PxSimpleTriangleMesh::isValid | ( | ) | const [inherited] |
returns true if the current settings are valid
Reimplemented in PxTriangleMeshDesc.
References PxBoundedData::count, PxStridedData::data, PxMeshFlag::e16_BIT_INDICES, PxSimpleTriangleMesh::flags, PxSimpleTriangleMesh::points, PxStridedData::stride, and PxSimpleTriangleMesh::triangles.
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.
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] |
Returns true if the descriptor is valid.
- Returns:
- True if the current settings are valid.
References PxHeightFieldDesc::convexEdgeThreshold, PxHeightFieldFlag::eNO_BOUNDARY_EDGES, PxHeightFieldFormat::eS16_TM, PxHeightFieldDesc::flags, PxHeightFieldDesc::format, PxHeightFieldDesc::nbColumns, PxHeightFieldDesc::nbRows, PX_MAX_BOUNDS_EXTENTS, PxHeightFieldDesc::samples, and PxStridedData::stride.
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.
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.
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.
References PxGeometryType::eBOX, PxBoxGeometry::halfExtents, PxVec3::isFinite(), PxGeometry::mType, PxVec3::x, PxVec3::y, and PxVec3::z.
PX_INLINE PxHeightFieldDesc::PxHeightFieldDesc | ( | ) | [inherited] |
Constructor sets to default.
References PxHeightFieldDesc::convexEdgeThreshold, PxHeightFieldFormat::eS16_TM, PxHeightFieldDesc::flags, PxHeightFieldDesc::format, PxHeightFieldDesc::nbColumns, PxHeightFieldDesc::nbRows, and PxHeightFieldDesc::thickness.
Referenced by PxHeightFieldDesc::setToDefault().
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] |
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] |
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