VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtTriangleMeshWithSoil Class Reference

A version of btTriangleMesh that also holds soil type for each polygon.

Inheritance diagram for DtTriangleMeshWithSoil:
Inheritance graph
[legend]

Public Member Functions

 DtTriangleMeshWithSoil (bool use32bitIndices=true, bool use4componentVertices=true)
 
virtual ~DtTriangleMeshWithSoil ()
 
bool valid (const btVector3 &vertex0, const btVector3 &vertex1, const btVector3 &vertex2) const
 
bool valid (const btVector3 &vertex) const
 
bool valid (const btScalar &val) const
 
bool checkAddTriangle (const btVector3 &vertex0, const btVector3 &vertex1, const btVector3 &vertex2, bool removeDuplicateVertices=false)
 
void addTriangle (const btVector3 &vertex0, const btVector3 &vertex1, const btVector3 &vertex2, bool removeDuplicateVertices=false)
 
void addTriangleWithSurface (const btVector3 &vertex0, const btVector3 &vertex1, const btVector3 &vertex2, const DtSurface &surface, bool removeDuplicateVertices=false)
 
DtSurface triangleSurface (unsigned int triangleIndex) const
 
const btVector3 & max () const
 
const btVector3 & min () const
 
bool isAabbValid () const
 
double maxDistance () const
 

Protected Member Functions

void updateBounds (const btVector3 &val)
 
void initializeSurfaceArray ()
 
void syncSurfaceArray ()
 

Protected Attributes

bool myUseSurfaceArray
 
btAlignedObjectArray< DtSurfacemySurfaceTypes
 
btVector3 myMin
 
btVector3 myMax
 
double myMaxPointDistanceSq
 

Constructor & Destructor Documentation

DtTriangleMeshWithSoil::DtTriangleMeshWithSoil ( bool  use32bitIndices = true,
bool  use4componentVertices = true 
)
virtual DtTriangleMeshWithSoil::~DtTriangleMeshWithSoil ( )
virtual

Member Function Documentation

bool DtTriangleMeshWithSoil::valid ( const btVector3 &  vertex0,
const btVector3 &  vertex1,
const btVector3 &  vertex2 
) const
bool DtTriangleMeshWithSoil::valid ( const btVector3 &  vertex) const
bool DtTriangleMeshWithSoil::valid ( const btScalar &  val) const
bool DtTriangleMeshWithSoil::checkAddTriangle ( const btVector3 &  vertex0,
const btVector3 &  vertex1,
const btVector3 &  vertex2,
bool  removeDuplicateVertices = false 
)
void DtTriangleMeshWithSoil::addTriangle ( const btVector3 &  vertex0,
const btVector3 &  vertex1,
const btVector3 &  vertex2,
bool  removeDuplicateVertices = false 
)
void DtTriangleMeshWithSoil::addTriangleWithSurface ( const btVector3 &  vertex0,
const btVector3 &  vertex1,
const btVector3 &  vertex2,
const DtSurface surface,
bool  removeDuplicateVertices = false 
)
DtSurface DtTriangleMeshWithSoil::triangleSurface ( unsigned int  triangleIndex) const
const btVector3& DtTriangleMeshWithSoil::max ( ) const
const btVector3& DtTriangleMeshWithSoil::min ( ) const
bool DtTriangleMeshWithSoil::isAabbValid ( ) const
double DtTriangleMeshWithSoil::maxDistance ( ) const
void DtTriangleMeshWithSoil::updateBounds ( const btVector3 &  val)
protected
void DtTriangleMeshWithSoil::initializeSurfaceArray ( )
protected

Changes myUseSurfaceArray to true, and initialized mySurfaceTypes to have Unspecified for all already defined triangles in the mesh.

void DtTriangleMeshWithSoil::syncSurfaceArray ( )
protected

Ensures that the length of mySurfaceTypes is the same as the number of triangles in the base class. (in case addTriagle was called)

Member Data Documentation

bool DtTriangleMeshWithSoil::myUseSurfaceArray
protected

When this is false, mySurfaceTypes is empty, and all triangles are considered to have "Unspecified" as their surface type. When true, then mySurfaceTypes holds the surface characteristics for each triangle.

btAlignedObjectArray<DtSurface> DtTriangleMeshWithSoil::mySurfaceTypes
protected
btVector3 DtTriangleMeshWithSoil::myMin
protected
btVector3 DtTriangleMeshWithSoil::myMax
protected
double DtTriangleMeshWithSoil::myMaxPointDistanceSq
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)