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

The DtIndirectGeometryUpdateSystem class provides a system for updating DtIndirectGeometry objects.

This class is meant to have some methods that can be used by multiple threads. Any method that is thread safe will be marked as such.

DtIndirectGeometry object will register themselves with this updater once they are live in the scenegraph. They will self unregister upon deletion.

Register and unregister of components to this system is generally done in background threads.

Inheritance diagram for makVrv::DtIndirectGeometryUpdateSystem:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtIndirectGeometryUpdateSystem ()
 
 DtIndirectGeometryUpdateSystem (const DtIndirectGeometryUpdateSystem &other)=delete
 
 DtIndirectGeometryUpdateSystem (const DtIndirectGeometryUpdateSystem &&other)=delete
 
DtIndirectGeometryUpdateSystemoperator= (const DtIndirectGeometryUpdateSystem &other)=delete
 
DtIndirectGeometryUpdateSystemoperator= (const DtIndirectGeometryUpdateSystem &&other)=delete
 
virtual void registerComponent (DtIndirectGeometry *component)
 
virtual void unregisterComponent (const DtIndirectGeometry *component)
 
virtual void update (const osg::FrameStamp *frameStamp)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static
DtIndirectGeometryUpdateSystem
instance (DtDe &de)
 
static void registerInstance (DtDe &de, DtIndirectGeometryUpdateSystem *system)
 
static const std::string & theClassName ()
 

Protected Member Functions

 DtIndirectGeometryUpdateSystem (DtDe &de)
 

Protected Attributes

DtDemyDe
 
std::mutex myComponentMutex
 
std::vector< DtIndirectGeometry * > myComponents
 

Constructor & Destructor Documentation

virtual makVrv::DtIndirectGeometryUpdateSystem::~DtIndirectGeometryUpdateSystem ( )
virtual
makVrv::DtIndirectGeometryUpdateSystem::DtIndirectGeometryUpdateSystem ( const DtIndirectGeometryUpdateSystem other)
delete

Copy Constructor not implemented - Copy not allowed.

makVrv::DtIndirectGeometryUpdateSystem::DtIndirectGeometryUpdateSystem ( const DtIndirectGeometryUpdateSystem &&  other)
delete

Move Constructor not implemented - Move not allowed.

makVrv::DtIndirectGeometryUpdateSystem::DtIndirectGeometryUpdateSystem ( DtDe de)
protected

Member Function Documentation

static DtIndirectGeometryUpdateSystem& makVrv::DtIndirectGeometryUpdateSystem::instance ( DtDe de)
static

Get/Create the DtIndirectGeometryUpdateSystem instance. Use DtIndirectGeometryUpdateSystem::registerInstance(...) to override the class instance.

static void makVrv::DtIndirectGeometryUpdateSystem::registerInstance ( DtDe de,
DtIndirectGeometryUpdateSystem system 
)
static

Register the provided instance of a DtIndirectGeometryUpdateSystem.

static const std::string& makVrv::DtIndirectGeometryUpdateSystem::theClassName ( )
static

Get the name used to register this class.

DtIndirectGeometryUpdateSystem& makVrv::DtIndirectGeometryUpdateSystem::operator= ( const DtIndirectGeometryUpdateSystem other)
delete

Assignment Operator not implemented - Assignment not allowed.

DtIndirectGeometryUpdateSystem& makVrv::DtIndirectGeometryUpdateSystem::operator= ( const DtIndirectGeometryUpdateSystem &&  other)
delete

Move Assignment Operator not implemented - Move Assignment not allowed.

virtual void makVrv::DtIndirectGeometryUpdateSystem::registerComponent ( DtIndirectGeometry component)
virtual

Thread safe. Registers the given component with this system. The system does not own the component. The system will perform operations on the component while it is registered. Call from main thread only.

virtual void makVrv::DtIndirectGeometryUpdateSystem::unregisterComponent ( const DtIndirectGeometry component)
virtual

Thread safe. Un-Registers the given component with this system. The system does not own the component. Call from main thread only.

virtual void makVrv::DtIndirectGeometryUpdateSystem::update ( const osg::FrameStamp *  frameStamp)
virtual

Called from the renderer in the main thread to perform an update on the components.

Member Data Documentation

DtDe& makVrv::DtIndirectGeometryUpdateSystem::myDe
protected
std::mutex makVrv::DtIndirectGeometryUpdateSystem::myComponentMutex
protected
std::vector<DtIndirectGeometry*> makVrv::DtIndirectGeometryUpdateSystem::myComponents
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)