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

This class will triangulate the given objects in the queue into the collision world supplied.

Classes

struct  ProcessGeometry
 

Public Types

typedef std::vector
< MAKVRinTerra::DtFeatureGeometry
GeometryArray
 

Public Member Functions

 DtThreadedTriangulator (const MAKVRinTerra::DtProj &, DtCollisionWorld *)
 
virtual ~DtThreadedTriangulator ()
 
virtual void addProcessGeometry (const GeometryArray &, const DtSurface &, bool triangulate)
 
virtual void process ()
 
virtual void stop ()
 
virtual void start ()
 
virtual bool isStopped () const
 
virtual bool isRunning () const
 
virtual void cancel ()
 
virtual bool isCancelled () const
 
virtual bool isProcessing () const
 
virtual void join ()
 

Static Public Member Functions

static void threadMain (DtThreadedTriangulator *)
 

Protected Types

typedef std::vector
< ProcessGeometry
ProcessGeometries
 

Protected Member Functions

virtual
MAKVRinTerra::DtFeatureGeometry::Point 
preProcessGeometry (const MAKVRinTerra::DtFeatureGeometry::Point &geom, const DtSurface &surface) const
 
virtual void tessellate (const GeometryArray &pointFeatures, const DtSurface &defaultSurface)
 
virtual void triangulate (const GeometryArray &pointFeatures, const DtSurface &defaultSurface)
 

Protected Attributes

MAKVRinTerra::DtProj::Ptr myProjection
 
DtCollisionWorldmyCollisionWorld
 
tbb::tbb_thread * myThread
 
tbb::spin_rw_mutex myMutex
 
bool myStop
 
bool myRunning
 
bool myCancelled
 
bool myProcessing
 
ProcessGeometries myProcessGeometries
 

Member Typedef Documentation

Constructor & Destructor Documentation

DtThreadedTriangulator::DtThreadedTriangulator ( const MAKVRinTerra::DtProj ,
DtCollisionWorld  
)

CTOR. If useShape is true uses convex hull shape rather than triangulating.

virtual DtThreadedTriangulator::~DtThreadedTriangulator ( )
virtual

DTOR.

Member Function Documentation

virtual void DtThreadedTriangulator::addProcessGeometry ( const GeometryArray ,
const DtSurface ,
bool  triangulate 
)
virtual

Adds a new geometry to process.

static void DtThreadedTriangulator::threadMain ( DtThreadedTriangulator )
static

Main thread entry point.

virtual void DtThreadedTriangulator::process ( )
virtual

Processing thread called from main thread.

virtual void DtThreadedTriangulator::stop ( )
virtual

Stops this thread and disallows processing. Call start to allow additions again.

virtual void DtThreadedTriangulator::start ( )
virtual

Allows processing to be continued.

virtual bool DtThreadedTriangulator::isStopped ( ) const
virtual

Returns true if this should stop.

virtual bool DtThreadedTriangulator::isRunning ( ) const
virtual

Returns true if this running.

virtual void DtThreadedTriangulator::cancel ( )
virtual

Cancels any pending operation.

virtual bool DtThreadedTriangulator::isCancelled ( ) const
virtual

Returns true if cancelled.

virtual bool DtThreadedTriangulator::isProcessing ( ) const
virtual

Returns true if processing.

virtual void DtThreadedTriangulator::join ( )
virtual

Joins the thread.

virtual MAKVRinTerra::DtFeatureGeometry::Point DtThreadedTriangulator::preProcessGeometry ( const MAKVRinTerra::DtFeatureGeometry::Point geom,
const DtSurface surface 
) const
protectedvirtual

Effect geometry if need be before placing into scene graph.

virtual void DtThreadedTriangulator::tessellate ( const GeometryArray pointFeatures,
const DtSurface defaultSurface 
)
protectedvirtual

Tessellate geometry.

virtual void DtThreadedTriangulator::triangulate ( const GeometryArray pointFeatures,
const DtSurface defaultSurface 
)
protectedvirtual

Triangulate geometry.

Member Data Documentation

MAKVRinTerra::DtProj::Ptr DtThreadedTriangulator::myProjection
protected
DtCollisionWorld* DtThreadedTriangulator::myCollisionWorld
protected
tbb::tbb_thread* DtThreadedTriangulator::myThread
protected
tbb::spin_rw_mutex DtThreadedTriangulator::myMutex
mutableprotected
bool DtThreadedTriangulator::myStop
protected
bool DtThreadedTriangulator::myRunning
protected
bool DtThreadedTriangulator::myCancelled
protected
bool DtThreadedTriangulator::myProcessing
protected
ProcessGeometries DtThreadedTriangulator::myProcessGeometries
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)