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

Class interface to query terrain polygon.

Inheritance diagram for DtDebugDrawTerrainOutputInterface:
Inheritance graph
[legend]

Public Types

typedef std::vector
< DtTerrainTriangleStruct
terrainTriangleStructList
 
typedef std::vector
< makVrf::DtLine
terrainLineList
 
typedef std::vector
< makVrf::DtColorPoint
terrainPointList
 

Public Member Functions

 DtDebugDrawTerrainOutputInterface (const std::string &name)
 
virtual ~DtDebugDrawTerrainOutputInterface ()
 
virtual bool processTriangles () const
 
virtual void setprocessTriangles (bool value)
 
virtual void processTriangle (const DtTerrainTriangleStruct &triangle)
 
virtual bool processAABBs () const
 
virtual void setProcessAABBs (bool value)
 
virtual bool processQueryAABBs () const
 
virtual void setProcessQueryAABBs (bool value)
 
virtual void queryAABB (const DtVector &min, const DtVector &max, const DtCoordTransform &toLocal)
 
virtual bool objectAABB (const DtVector &min, const DtVector &max, const DtCoordTransform &toLocal)
 
virtual bool processElevationTiles () const
 
virtual void setProcessElevationTiles (bool value)
 
virtual bool elevationTile (const DtVector &p1, const DtVector &p2, const DtVector &p3, const DtVector &p4)
 
virtual bool processElevationPosts () const
 
virtual void setElevationPosts (bool value)
 
virtual bool elevationPost (std::vector< DtPoint > &postArray)
 
virtual bool forcePaging () const
 
virtual void setForcePaging (bool value)
 
virtual bool shouldExit () const
 
virtual unsigned triangleCount () const
 
virtual terrainTriangleStructListtriangleList ()
 
virtual size_t numberOfTriangles () const
 
virtual void clearTriangleList ()
 
virtual terrainLineListlineList ()
 
virtual size_t numberOfLines () const
 
virtual void clearLineList ()
 
virtual terrainPointListpointList ()
 
virtual size_t numberOfPoints () const
 
virtual void clearPointList ()
 
- Public Member Functions inherited from DtTriangleOutputInterface
virtual void setFailure (const std::string &reason)
 
virtual void setName (const std::string &name)
 
virtual std::string & name ()
 

Protected Member Functions

virtual void addLine (const DtString &name, const DtVector &p1, const DtVector &p2, unsigned red, unsigned green, unsigned blue)
 
virtual bool processObjectAABB (unsigned index, const DtVector &min, const DtVector &max, const DtCoordTransform &toLocal)
 
virtual bool processElevationTile (unsigned index, const DtVector &p1, const DtVector &p2, const DtVector &p3, const DtVector &p4)
 
void processQueryAABB (const DtVector &min, const DtVector &max, const DtCoordTransform &toLocal)
 

Protected Attributes

unsigned myTriangleCount
 
unsigned myLineCount
 
boost::unordered_set
< boost::shared_ptr
< makVrv::DtDynamicTerrainFeature > > 
myFeatures
 
bool myStopDrawFlag
 
bool myProcessAABBs
 
bool myProcessQueryAABBs
 
bool myProcessElevation
 
bool myProcessElevationPost
 
bool myProcessTriangles
 
bool myForcePaging
 
terrainTriangleStructList myTriangleList
 
terrainLineList myLineList
 
terrainPointList myPointList
 
tbb::spin_mutex myProcessTriangleMutex
 
tbb::spin_mutex myProcessLineMutex
 
tbb::spin_mutex myProcessPointMutex
 
- Protected Attributes inherited from DtTriangleOutputInterface
std::string myTerrainAreaName
 

Member Typedef Documentation

Triangles structure/calls/list.

Lines structure/calls/list.

Points structure/calls/list.

Constructor & Destructor Documentation

DtDebugDrawTerrainOutputInterface::DtDebugDrawTerrainOutputInterface ( const std::string &  name)

CTOR.

virtual DtDebugDrawTerrainOutputInterface::~DtDebugDrawTerrainOutputInterface ( )
virtual

CTOR.

Member Function Documentation

virtual bool DtDebugDrawTerrainOutputInterface::processTriangles ( ) const
virtual

Will only call processTriangle(const DtTerrainTriangleStruct& triangle) if this returns true.

Reimplemented from DtTriangleOutputInterface.

virtual void DtDebugDrawTerrainOutputInterface::setprocessTriangles ( bool  value)
virtual

enable or disable processTriangles

virtual void DtDebugDrawTerrainOutputInterface::processTriangle ( const DtTerrainTriangleStruct triangle)
virtual

Called on each triangle.

Implements DtTriangleOutputInterface.

virtual bool DtDebugDrawTerrainOutputInterface::processAABBs ( ) const
virtual

AABB functions will only be called if this returns true. Returns false by default.

Reimplemented from DtTriangleOutputInterface.

virtual void DtDebugDrawTerrainOutputInterface::setProcessAABBs ( bool  value)
virtual

enable or disable processAABBs

virtual bool DtDebugDrawTerrainOutputInterface::processQueryAABBs ( ) const
virtual

QueryAABB functions will only be called if this returns true. Returns false by default.

virtual void DtDebugDrawTerrainOutputInterface::setProcessQueryAABBs ( bool  value)
virtual

enable or disable processQueryAABBs

virtual void DtDebugDrawTerrainOutputInterface::queryAABB ( const DtVector min,
const DtVector max,
const DtCoordTransform &  toLocal 
)
virtual

Called with the axis-aligned bounding box values computed for the query.

Reimplemented from DtTriangleOutputInterface.

virtual bool DtDebugDrawTerrainOutputInterface::objectAABB ( const DtVector min,
const DtVector max,
const DtCoordTransform &  toLocal 
)
virtual

Called with the axis-aligned bounding box of each object processed. These AABBs are calculated in the coordinate system in which the query is done.

Returns
Can reject objects from further processing by returning false.

Reimplemented from DtTriangleOutputInterface.

virtual bool DtDebugDrawTerrainOutputInterface::processElevationTiles ( ) const
virtual

elevationTile() functions will only be called if this returns true.

Reimplemented from DtTriangleOutputInterface.

virtual void DtDebugDrawTerrainOutputInterface::setProcessElevationTiles ( bool  value)
virtual

enable or disable processElevationTiles()

virtual bool DtDebugDrawTerrainOutputInterface::elevationTile ( const DtVector p1,
const DtVector p2,
const DtVector p3,
const DtVector p4 
)
virtual

Corner points of an elevation tile.

Returns
Can reject tiles from further processing by returning false.

Reimplemented from DtTriangleOutputInterface.

virtual bool DtDebugDrawTerrainOutputInterface::processElevationPosts ( ) const
virtual

elevationPosts() functions will only be called if this returns true.

Reimplemented from DtTriangleOutputInterface.

virtual void DtDebugDrawTerrainOutputInterface::setElevationPosts ( bool  value)
virtual

enable or disable processElevationPosts()

virtual bool DtDebugDrawTerrainOutputInterface::elevationPost ( std::vector< DtPoint > &  postArray)
virtual

set the list of grid post

Returns
false is a problem occurred

Reimplemented from DtTriangleOutputInterface.

virtual bool DtDebugDrawTerrainOutputInterface::forcePaging ( ) const
virtual

This will force paging in of all terrain within the box, which may take a significant amount of time and may also consume large amounts of memory. Default returns true.

Reimplemented from DtTriangleOutputInterface.

virtual void DtDebugDrawTerrainOutputInterface::setForcePaging ( bool  value)
virtual

enable or disable forcePaging()

virtual bool DtDebugDrawTerrainOutputInterface::shouldExit ( ) const
virtual

Called by implementation to allow early exit. Functions will return as soon as possible if this returns true.

Reimplemented from DtTriangleOutputInterface.

virtual unsigned DtDebugDrawTerrainOutputInterface::triangleCount ( ) const
virtual

Return the number or triangle found.

virtual terrainTriangleStructList& DtDebugDrawTerrainOutputInterface::triangleList ( )
virtual
virtual size_t DtDebugDrawTerrainOutputInterface::numberOfTriangles ( ) const
virtual
virtual void DtDebugDrawTerrainOutputInterface::clearTriangleList ( )
virtual
virtual terrainLineList& DtDebugDrawTerrainOutputInterface::lineList ( )
virtual
virtual size_t DtDebugDrawTerrainOutputInterface::numberOfLines ( ) const
virtual
virtual void DtDebugDrawTerrainOutputInterface::clearLineList ( )
virtual
virtual terrainPointList& DtDebugDrawTerrainOutputInterface::pointList ( )
virtual
virtual size_t DtDebugDrawTerrainOutputInterface::numberOfPoints ( ) const
virtual
virtual void DtDebugDrawTerrainOutputInterface::clearPointList ( )
virtual
virtual void DtDebugDrawTerrainOutputInterface::addLine ( const DtString name,
const DtVector p1,
const DtVector p2,
unsigned  red,
unsigned  green,
unsigned  blue 
)
protectedvirtual

Add a line to draw.

virtual bool DtDebugDrawTerrainOutputInterface::processObjectAABB ( unsigned  index,
const DtVector min,
const DtVector max,
const DtCoordTransform &  toLocal 
)
protectedvirtual

Process collision object.

virtual bool DtDebugDrawTerrainOutputInterface::processElevationTile ( unsigned  index,
const DtVector p1,
const DtVector p2,
const DtVector p3,
const DtVector p4 
)
protectedvirtual

Process the elevation tile.

void DtDebugDrawTerrainOutputInterface::processQueryAABB ( const DtVector min,
const DtVector max,
const DtCoordTransform &  toLocal 
)
protected

Process query boundary.

Member Data Documentation

unsigned DtDebugDrawTerrainOutputInterface::myTriangleCount
protected
unsigned DtDebugDrawTerrainOutputInterface::myLineCount
protected
boost::unordered_set< boost::shared_ptr<makVrv::DtDynamicTerrainFeature> > DtDebugDrawTerrainOutputInterface::myFeatures
protected
bool DtDebugDrawTerrainOutputInterface::myStopDrawFlag
protected
bool DtDebugDrawTerrainOutputInterface::myProcessAABBs
protected
bool DtDebugDrawTerrainOutputInterface::myProcessQueryAABBs
protected
bool DtDebugDrawTerrainOutputInterface::myProcessElevation
protected
bool DtDebugDrawTerrainOutputInterface::myProcessElevationPost
protected
bool DtDebugDrawTerrainOutputInterface::myProcessTriangles
protected
bool DtDebugDrawTerrainOutputInterface::myForcePaging
protected
terrainTriangleStructList DtDebugDrawTerrainOutputInterface::myTriangleList
protected

Triangles list to draw.

terrainLineList DtDebugDrawTerrainOutputInterface::myLineList
protected

Lines list to draw.

terrainPointList DtDebugDrawTerrainOutputInterface::myPointList
protected

Points list to draw.

tbb::spin_mutex DtDebugDrawTerrainOutputInterface::myProcessTriangleMutex
protected
tbb::spin_mutex DtDebugDrawTerrainOutputInterface::myProcessLineMutex
protected
tbb::spin_mutex DtDebugDrawTerrainOutputInterface::myProcessPointMutex
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)