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 Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtDrawnIntersectorManager Class Reference

Classes

struct  IntersectionQueueOp
 

Public Member Functions

 DtDrawnIntersectorManager (DtDe &de)
 
virtual ~DtDrawnIntersectorManager ()
 
 DtDrawnIntersectorManager ()=delete
 
 DtDrawnIntersectorManager (const DtDrawnIntersectorManager &rhs)=delete
 
DtDrawnIntersectorManageroperator= (const DtDrawnIntersectorManager &rhs)=delete
 
virtual void update (DtTime tNow)
 
virtual void drawIntersection (const DtIntersector::DtIntersections &results, double durationmodelSet, DtModelSetId modelSet)
 
virtual void drawIntersection (const DtIntersectorResult &result, double duration, DtModelSetId modelSet)
 

Protected Member Functions

virtual void processIntersectionsQueue (DtTime tNow)
 
virtual void expireDrawnIntersections (DtTime tNow)
 

Protected Attributes

DtDemyDe
 
tbb::concurrent_queue
< IntersectionQueueOp
myQueue
 
std::multimap< double,
DtDrawnIntersector * > 
myDrawnIntersectorMap
 

Constructor & Destructor Documentation

makVrv::DtDrawnIntersectorManager::DtDrawnIntersectorManager ( DtDe de)
virtual makVrv::DtDrawnIntersectorManager::~DtDrawnIntersectorManager ( )
virtual
makVrv::DtDrawnIntersectorManager::DtDrawnIntersectorManager ( )
delete
makVrv::DtDrawnIntersectorManager::DtDrawnIntersectorManager ( const DtDrawnIntersectorManager rhs)
delete

Member Function Documentation

DtDrawnIntersectorManager& makVrv::DtDrawnIntersectorManager::operator= ( const DtDrawnIntersectorManager rhs)
delete
virtual void makVrv::DtDrawnIntersectorManager::update ( DtTime  tNow)
virtual

This should be called from the main thread, after all the channels have been updated (and hence all the intersectors have pushed the intersections to draw on this manager's queue)

virtual void makVrv::DtDrawnIntersectorManager::drawIntersection ( const DtIntersector::DtIntersections results,
double  durationmodelSet,
DtModelSetId  modelSet 
)
virtual

This is thread safe. It just pushes the results on to a thread safe concurrent queue.

virtual void makVrv::DtDrawnIntersectorManager::drawIntersection ( const DtIntersectorResult result,
double  duration,
DtModelSetId  modelSet 
)
virtual

This is thread safe. It just pushes the results on to a thread safe concurrent queue.

virtual void makVrv::DtDrawnIntersectorManager::processIntersectionsQueue ( DtTime  tNow)
protectedvirtual

pop intersections list and make agents to draw the intersections

virtual void makVrv::DtDrawnIntersectorManager::expireDrawnIntersections ( DtTime  tNow)
protectedvirtual

expire drawn intersections

Member Data Documentation

DtDe& makVrv::DtDrawnIntersectorManager::myDe
protected
tbb::concurrent_queue<IntersectionQueueOp> makVrv::DtDrawnIntersectorManager::myQueue
protected
std::multimap<double, DtDrawnIntersector* > makVrv::DtDrawnIntersectorManager::myDrawnIntersectorMap
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)