![]() |
VR-Forces Developer's Guide
|
The DtDriver for CIGI. Provides communication between the IG (DtDe) and the DtCigiConnection which does most of the actual processing of CIGI messages (except for those that need the DtDe, like HAT/HOT/LOS, etc)

Public Attributes | |
| vrvSignalsLib::signal< void(DtCigiConnection *)> | signal_sessionCreated |
| vrvSignalsLib::signal< void(DtCigiConnection *)> | signal_sessionAboutToBeDestroyed |
Protected Types | |
| typedef DtLockedBufferedQueue < boost::function< void()> > | FunctionCallQueue |
| typedef std::vector < boost::function< void()> > | FunctionCallList |
Protected Member Functions | |
| virtual bool | onStart () |
| virtual bool | onStop () |
| virtual bool | onTick () |
| virtual void | startThread () |
| virtual void | stopThread () |
| virtual void | setConnectionState (bool connected) |
| virtual void | slot_onLoadDatabase (const std::string &filename) |
| virtual void | performLoadDatabase (const std::string &filename) |
| virtual void | slot_terrainPatchCreated () |
| virtual void | slot_firstTickAfterTerrainPatchCreated () |
| virtual void | slot_onCoordinateSystemChanged (const std::string &name, const std::string ¶ms) |
| virtual void | runFunctionQueue (FunctionCallQueue &queue) |
| virtual void | slot_displayEngineAdded (const DtDeRecord &igRecord) |
Protected Member Functions inherited from makVrv::DtDriver | |
| void | applyChangesAndDelete (DtElementChanges *changes) |
| void | reportElementCreated (DtElementID id, DtElementID parentId, DtElementEntry::ElementType type) |
| void | reportElementAttribute (DtElementID id, DtElementAttribute *attribute) |
| void | reportElementDestroyed (DtElementID id) |
| void | start () |
| void | stop () |
| bool | tick () |
| virtual void | setInstanceName (const std::string &name) |
| virtual void | installAccessories () |
| virtual void | uninstallAccessories () |
Static Protected Attributes | |
| static std::string | theCigiDriverClassName |
Static Protected Attributes inherited from makVrv::DtDriver | |
| static const std::string | theOnDriverSelectionList |
|
protected |
Typedefs for the function lists.
|
protected |
| makVrv::DtCigiDriver::DtCigiDriver | ( | DtAgentManager & | agentManager, |
| const std::string & | uniqueName | ||
| ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Get this Driver's class name.
Implements makVrv::DtDriver.
|
inline |
Returns the CIGI connection settings.
References myInitializer.
|
virtual |
Set the connection settings.
|
overridevirtual |
Create a configuration for the driver. Note: The saveAllParameters flag is not used by the DtCigiDriver.
Reimplemented from makVrv::DtDriver.
|
virtual |
Realize the driver via a generic configuration.
Reimplemented from makVrv::DtDriver.
|
virtual |
Function that will be called when the thread is started. Runs the loop that ticks the driver, processes CIGI messages, updates the IG, and sends any responses/start-of-frame.
|
virtual |
Returns the scene interface. Returns an asynchronous interface if running a separate thread.
Reimplemented from makVrv::DtDriver.
|
virtual |
Returns whether the CIGI Driver is using a separate thread for CIGI message processing.
|
virtual |
Queues a function to be run from the driver thread.
|
virtual |
Queues a function to be run from the connection thread.
| void makVrv::DtCigiDriver::reportSmoothingEnabledChanged | ( | bool | enabled | ) |
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
virtual |
Accessors for CIGI control objects.
|
protectedvirtual |
Start the driver processing.
Implements makVrv::DtDriver.
|
protectedvirtual |
Stop the driver processing.
Implements makVrv::DtDriver.
|
protectedvirtual |
Tick the driver. Runs the driver functions if multi-threaded. Otherwise, processes any incoming messages, and sends any responses.
Implements makVrv::DtDriver.
|
protectedvirtual |
Starts a separate thread that executes the run method.
|
protectedvirtual |
Stops the separate thread.
|
protectedvirtual |
Sets the connection state.
|
protectedvirtual |
Slot called when signal_loadDatabase is received from the DtCigiConnection. When multi-threaded, this requests that performLoadDatabase run in the render thread; otherwise it calls performLoadDatabase directly.
|
protectedvirtual |
Performs the database load and connects to DtTerrainPatchObjectSignaler::signal_terrainPatchCreated. That signal is raised when a terrain is loaded from disk (or a connection to an osgEarth server is established.
|
protectedvirtual |
Called when signal_terrainPatchCreated is raised and connects to DtDe::signal_preTick. signal_preTick is the first tick after the terrain database is loaded; This gives OSG a chance to process the terrain for a (typically long) frame.
|
protectedvirtual |
|
protectedvirtual |
Slot called when the IG's coordinate system changes. Updates the connection's coordinate system in a thread-safe manner.
|
protectedvirtual |
Iterates through the function queue and executes the functions.
|
protectedvirtual |
Respond when a display engine is added. Unlike most drivers, that simply start and the restart, when connected this driver needs to maintain its host connection; Therefore, if started and connected, it calls DtVrlinkBaseConnection::restart() which will restart all CIGI-related agents without disconnecting from the host.
Reimplemented from makVrv::DtDriver.
| vrvSignalsLib::signal<void (DtCigiConnection*)> makVrv::DtCigiDriver::signal_sessionCreated |
This signal is emitted when the CIGI session is created.
| vrvSignalsLib::signal<void (DtCigiConnection*)> makVrv::DtCigiDriver::signal_sessionAboutToBeDestroyed |
This signal is emitted when the CIGI session is about to be destroyed.
|
staticprotected |
|
protected |
Determines whether the reading/processing/sending of CIGI messages should be performed in a separate thread or not.
|
protected |
The (possible) other thread that performs CIGI operations.
|
protected |
The CIGI connection that performs network IO and message processing. This object should be used in a threadsafe manner (i.e. through the function queue.
|
protected |
Whether we are connected to the network or not.
|
protected |
Referenced by connectionSettings().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Processes CIGI view control/definition messages.
|
protected |
Handles sensor tracking.
|
protected |
Processes system/view component controls and other messages that change IG settings.
|
protected |
Processes HAT/HOT/LOS requests.
|
protected |
Processes position requests, has access to DtDe.
|
protected |
Processes CIGI Symbols, has access to DtDe.
|
protected |
When we should next process CIGI messages.
|
protected |
|
protected |