![]() |
VR-Forces 4.5 Class Documentation
|
The DtDriver for CIGI. More...

Public Member Functions | |
| DtCigiDriver (DtAgentManager &agentManager, const std::string &uniqueName) | |
| Constructor. | |
| virtual | ~DtCigiDriver () |
| Destructor. | |
| virtual const std::string & | className () const |
| Get this Driver's class name. | |
| const DtCigiConnectionInitializer & | connectionSettings () const |
| Returns the CIGI connection settings. | |
| virtual void | setConnectionSettings (const DtCigiConnectionInitializer &settings) |
| Set the connection settings. | |
| virtual DtConfiguration | createConfiguration () const |
| Create a configuration for the driver. | |
| virtual void | realizeConfiguration (const DtConfiguration &config) |
| Realize the driver via a generic configuration. | |
| virtual void | run () |
| Function that will be called when the thread is started. | |
| virtual DtAgentManagerInterface & | sceneInterface () |
| Returns the scene interface. | |
| virtual bool | useThreadFlag () const |
| Returns whether the CIGI Driver is using a separate thread for CIGI message processing. | |
| virtual void | queueDriverFunction (boost::function< void()> func) |
| Queues a function to be run from the driver thread. | |
| virtual void | queueConnectionFunction (boost::function< void()> func) |
| Queues a function to be run from the connection thread. | |
| void | reportSmoothingEnabledChanged (bool enabled) |
| virtual DtIgSettingsController & | igSettingsController () |
| Accessors for CIGI control objects. | |
| virtual const DtIgSettingsController & | isSettingsController () const |
| virtual DtCigiViewController & | viewController () |
| virtual const DtCigiViewController & | viewController () const |
| virtual DtCigiIntersectionHandler & | intersectionHandler () |
| virtual const DtCigiIntersectionHandler & | intersectionHandler () const |
Public Member Functions inherited from makVrv::DtDriver | |
| DtDriver (DtAgentManager &agentManager, const std::string &instanceName) | |
| CTOR. | |
| virtual | ~DtDriver () |
| DTOR. | |
| DtAgentManager & | agentManager () |
| Get the master scene for this host. | |
| bool | started () const |
| Get this driver's active state. | |
| virtual const std::string & | instanceName () const |
| Get this driver's instance name. | |
| virtual bool | autoStart () const |
| Get whether this driver is set to automatically start if it is persistent. | |
| virtual void | setAutoStart (bool autoStart) |
| Set whether this driver automatically starts if it is persistent. | |
| virtual bool | isWindowDependent () const |
| Get whether this driver is set to automatically start when the first window is created and stop when the last window is destroyed. | |
| virtual void | setIsWindowDependent (bool dep) |
| Set whether this driver is set to automatically start when the first window is created and stop when the last window is destroyed. | |
| virtual void | setIsUserControllable (bool) |
| Set whether this driver can be started and stopped by the user. | |
| virtual bool | isUserControllable () const |
| Get whether this driver can be started and stopped by the user. | |
| virtual void | setIsPersistent (bool per) |
| Set if the driver is persistent and should be saved between runs. | |
| virtual bool | isPersistent () const |
| Get if the driver is persistent and should be saved between runs. | |
| virtual bool | isOnDriverSelectionList () const |
| Returns whether or not this driver is to be automatically started/stopped from the driver selection list. | |
| virtual void | setOnDriverSelectionList (bool) |
| Sets whether or not this item is on the driver selection list. | |
| bool | objectFromAgentManager (const DtUniqueID &id) const |
| check to see if the object was created using this driver's agent manager. | |
Public Attributes | |
| boost::signal< void(DtCigiConnection *)> | signal_sessionCreated |
| This signal is emitted when the CIGI session is created. | |
| boost::signal< void(DtCigiConnection *)> | signal_sessionAboutToBeDestroyed |
| This signal is emitted when the CIGI session is about to be destroyed. | |
Protected Types | |
| typedef DtLockedBufferedQueue < boost::function< void()> > | FunctionCallQueue |
| Typedefs for the function lists. | |
| typedef std::vector < boost::function< void()> > | FunctionCallList |
Protected Member Functions | |
| virtual bool | onStart () |
| Start the driver processing. | |
| virtual bool | onStop () |
| Stop the driver processing. | |
| virtual bool | onTick () |
| Tick the driver. | |
| virtual void | startThread () |
| Starts a separate thread that executes the run method. | |
| virtual void | stopThread () |
| Stops the separate thread. | |
| virtual void | setConnectionState (bool connected) |
| Sets the connection state. | |
| virtual void | slot_onLoadDatabase (const std::string &filename) |
| Slot called when signal_loadDatabase is received from the DtCigiConnection. | |
| virtual void | performLoadDatabase (const std::string &filename) |
| Performs the database load and connects to DtTerrainPatchObjectSignaler::signal_terrainPatchCreated. | |
| virtual void | slot_terrainPatchCreated () |
| Called when signal_terrainPatchCreated is raised and connects to DtDe::signal_preTick. | |
| virtual void | slot_firstTickAfterTerrainPatchCreated () |
| virtual void | slot_onCoordinateSystemChanged (const std::string &name, const std::string ¶ms) |
| Slot called when the IG's coordinate system changes. | |
| virtual void | runFunctionQueue (FunctionCallQueue &queue) |
| Iterates through the function queue and executes the functions. | |
| virtual void | slot_displayEngineAdded (const DtDeRecord &igRecord) |
| Respond when a display engine is added. | |
Protected Member Functions inherited from makVrv::DtDriver | |
| void | applyChangesAndDelete (DtElementChanges *changes) |
| Function for apply changes from a changes object and deleting it. | |
| void | reportElementCreated (DtElementID id, DtElementID parentId, DtElementEntry::ElementType type) |
| Report an element created. | |
| void | reportElementAttribute (DtElementID id, DtElementAttribute *attribute) |
| Report an element attribute changed. | |
| void | reportElementDestroyed (DtElementID id) |
| Report an element destroyed. | |
| void | start () |
| Start the driver. | |
| void | stop () |
| Stop the driver. | |
| bool | tick () |
| Tick the host driver. | |
| virtual void | setInstanceName (const std::string &name) |
| set the Instance name. | |
| virtual void | installAccessories () |
| Installs accessories on this driver. | |
| virtual void | uninstallAccessories () |
| Removes accessories from this driver. | |
Static Protected Attributes | |
| static std::string | theCigiDriverClassName |
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)
|
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.
|
virtual |
Create a configuration for the driver.
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 |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
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 DtConnection::restart() which will restart all CIGI-related agents without disconnecting from the host
Reimplemented from makVrv::DtDriver.
| boost::signal<void (DtCigiConnection*)> makVrv::DtCigiDriver::signal_sessionCreated |
This signal is emitted when the CIGI session is created.
| boost::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 |
The line-of-sight responder held by the connection.
|
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 |
Processes system/view component controls and other messages that change IG settings.
|
protected |
Processes HAT/HOT/LOS requests.
|
protected |
When we should next process CIGI messages.