![]() |
VR-Forces 4.6.1 Class Documentation
|
This driver will manage the creation, modification and removal of intervisibility objects. More...

Classes | |
| class | DtIntervisibilityConnection |
| Connection for the DtIntervisibilityDriver. More... | |
| struct | OriginalInformation |
| Editing information. More... | |
Public Types | |
| typedef boost::unordered_map < DtElementID, DtIntervisibilityElement * > | ElementMap |
| typedef boost::unordered_map < DtElementID, DtIntervisibilityStateListener * > | ListenerMap |
| typedef std::pair< DtElementID, DtVector > | AttachPoint |
| typedef std::vector< AttachPoint > | AttachPoints |
Public Member Functions | |
| DtIntervisibilityDriver (DtDe &, const std::string &className) | |
| CTOR. | |
| virtual | ~DtIntervisibilityDriver () |
| DTOR. | |
| virtual bool | autoStart () const |
| Override to return true (does not look at configuration) | |
| DtIntervisibilityStateListener * | findListener (DtElementID id) |
| DtIntervisibilityElement * | findElement (DtElementID id) |
| virtual DtIntervisibilityElement * | createIntervisibilityLine (const DtVector &startPoint, const DtVector &endPoint) |
| Create and return a new intervisibility line with given start and end points. | |
| virtual DtIntervisibilityElement * | createIntervisibilityLine (const AttachPoints &=AttachPoints()) |
| Creates a new intervisibility line object by using the event processor with the newly create element. | |
| const DtUnicode & | intervisibilityLine () const |
| String which represents the internal keyword used to create an intervisibility line. | |
| virtual DtIntervisibilityElement * | createIntervisibilityFan (const DtVector &startPoint, const DtVector &endPoint) |
| Create and return a new intervisibility fan with given start and end points. | |
| virtual DtIntervisibilityElement * | createIntervisibilityFan (const AttachPoints &=AttachPoints()) |
| Creates a new intervisibility fan object by using the event processor. | |
| const DtUnicode & | intervisibilityFan () const |
| String which represents the internal keyword used to create an intervisibility fan. | |
| const ElementMap & | intervisibilityElements () const |
| All the intervisibility elements current created. | |
| virtual DtIntervisibilityElement * | createIntervisibilityEntityFan (const DtVector &startPoint, const DtVector &endPoint) |
| Create and return a new intervisibility entity fan with given start and end points. | |
| virtual DtIntervisibilityElement * | createIntervisibilityEntityFan (const AttachPoints &=AttachPoints()) |
| Creates a new intervisibility entity fan object by using the event processor. | |
| const DtUnicode & | intervisibilityEntityFan () const |
| String which represents the internal keyword used to create an intervisibility entity fan. | |
| void | addListenerCreator (const std::string &, DtIntervisibilityStateListenerCreator *) |
| Adds a new listener creator given the keyword. | |
| virtual void | cancelChanges () |
| Cancel current creation and remove temporary symbol. | |
| virtual void | destroy (DtElementID id) |
| Given the particular ID, destroys (removes) the object and also removes from selection. | |
| virtual void | destroyAll () |
| Destroys all intervisibility elements. | |
| virtual void | setAllowCreating (bool) |
| Sets whether or not the processor is enabled for creating. | |
| virtual void | setAllowEditing (bool) |
| Sets whether or not the processor supports editing of objects. | |
| virtual DtIntervisibilityElement * | create (const DtUnicode &definition, const DtVector &startPoint, const DtVector &endPoint) |
| Create and return a new element with the points as the starting points. | |
| virtual void | intervisibilityObjectsShown (bool show) |
| const std::string & | className () const |
| Returns the driver's class name. | |
| DtBaseConnection * | connection () |
| Returns the driver's connection. | |
| const DtBaseConnection * | connection () const |
| Returns the driver's connection (const). | |
| DtIntervisibilityElement * | creatingElement () const |
| DtIntervisibilityStateListener * | creatingListener () const |
Public Member Functions inherited from makVrv::DtDriver | |
| DtDriver (DtAgentManager &agentManager, const std::string &instanceName) | |
| CTOR. | |
| virtual | ~DtDriver () |
| DTOR. | |
| virtual void | realizeConfiguration (const DtConfiguration &configuration) |
| Realize the driver using the configuration. | |
| virtual DtConfiguration | createConfiguration () const |
| Create a configuration for the driver. | |
| DtAgentManager & | agentManager () |
| Get the master scene for this host. | |
| virtual DtAgentManagerInterface & | sceneInterface () |
| Get the scene manager interface for creating agents. | |
| bool | started () const |
| Get this driver's active state. | |
| virtual const std::string & | instanceName () const |
| Get this driver's instance name. | |
| 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. | |
Static Public Member Functions | |
| static DtIntervisibilityDriver * | findDriver (DtDe &de) |
| Returns the current intervisibility driver in the driver manager. | |
| static std::string | theInstanceName () |
| Returns the driver's instance (display) name. | |
Protected Types | |
| typedef boost::unordered_map < DtElementID, OriginalInformation > | Editing |
| typedef std::map< std::string, DtIntervisibilityStateListenerCreator * > | ListenerCreatorMap |
Protected Member Functions | |
| virtual DtBasicEditingEventProcessor * | createEventProcessor () const |
| Pure interface that must be implemented to be considered a shape driver creates the event processor used for mouse and keyboard controls. | |
| virtual DtIntervisibilityStateListener * | createListener (const std::string &definition) const |
| Creates a new listener to be used with the element being created. | |
| virtual DtIntervisibilityElement * | createElement (DtIntervisibilityStateListener *, const DtUnicode &definition) const |
| Creates a new shape element for the given listener. | |
| virtual DtIntervisibilityElement * | create (const DtUnicode &elementDefinitionName, const AttachPoints &=AttachPoints()) |
| Creates a new element object by using the event processor. | |
| virtual bool | onTick () |
| call for each tick | |
| virtual bool | onStart () |
| Start the host output. | |
| virtual bool | onStop () |
| Stop the host output. | |
| virtual void | completeSetup () |
| Makes final connections. | |
| virtual void | slot_onCurrentSelectionChanged (const DtSelectionManager::IdSet &selected, const DtSelectionManager::IdSet &deselected) |
| Select/deselect objects. | |
| virtual void | select (const DtSelectionManager::IdSet &, bool) |
| Select/deselect all items in list. | |
| virtual void | connectProcessorSignals () |
| Connects up to event processor to handle signals. | |
| virtual void | slot_locationChanged (const DtVector &, double altAboveGround) |
| Signal sent when the mouse location has changed via a mouse move. | |
| virtual void | slot_altitudeChanged (const DtVector &, double) |
| Signal sent when the altitude has changed. | |
| virtual void | slot_altitudeIsDragging (bool) |
| Called when altitude has entered/left dragging mode. | |
| virtual void | slot_place (DtUniqueID, const DtVector &, double altAboveGround) |
| Signal sent on left click of mouse on terrain or object. | |
| virtual void | finishEditing () |
| Called to finish the current creation and make object permanent. | |
| virtual void | slot_dragStart (const DtSelectionManager::IdSet &set, const DtVector &) |
| Called when a drag operation is about to start, stash off information about current objects (in case of cancel) and proceed to allow editing. | |
| virtual void | modifyEditingObjects (const DtVector &pos, double altAboveGround) |
| Modifies all the objects being edited based on the new point and altitude. | |
| virtual void | resetSelectionForEditableObjects () |
| Called after complete or cancel to reset selection state to original state. | |
| virtual DtVector | clamp (const DtVector &, double altAboveGround) const |
| Clamps point to terrain, then applies delta altitude. | |
| virtual void | elementsRemoved (const DtElementData::UniqueIdList &) |
| Called when a simulation item is removed. | |
| void | installElementDefinitions (DtElementDefinitionManager &manager) |
| Creates and installed procedural element definitions into the manager. | |
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 | slot_displayEngineAdded (const DtDeRecord &igRecord) |
| Called when a display engine is added. | |
| 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. | |
Protected Attributes | |
| DtDe & | myDe |
| ElementMap | myElements |
| ListenerMap | myListeners |
| DtBasicEditingEventProcessor * | myProcessor |
| std::string | myClassName |
| DtBaseConnection * | myConnection |
| bool | myAllowEditing |
| bool | myAllowCreating |
| bool | myDistribute |
| DtSignalConnectionManager | myConnections |
| DtIntervisibilityElement * | myCreatingElement |
| If creating an element via the mouse, these parameters will not not be NULL. | |
| DtIntervisibilityStateListener * | myCreationListener |
| DtSignalConnectionManager | myProcessorConnections |
| Editing | myEditing |
| DtVector | myEditingAnchorLocation |
| ListenerCreatorMap | myListenerCreatorMap |
| Map that will keep track of listener creator by string type. | |
| DtChannel * | myHiddenChannel |
Protected Attributes inherited from makVrv::DtDriver | |
| DtAgentManager & | myAgentManager |
| bool | myStartedFlag |
| std::string | myName |
| DtConfiguration | myConfiguration |
| bool | myPersistentFlag |
| bool | myUserControllableFlag |
| bool | myRequestStateDiffPendingFlag |
| DtElementChanges | myChanges |
This driver will manage the creation, modification and removal of intervisibility objects.
Will use the event processor for mouse and keyboard processing if necessary.
| typedef boost::unordered_map<DtElementID, DtIntervisibilityElement*> makVrv::DtIntervisibilityDriver::ElementMap |
| typedef boost::unordered_map<DtElementID, DtIntervisibilityStateListener*> makVrv::DtIntervisibilityDriver::ListenerMap |
| typedef std::pair<DtElementID, DtVector> makVrv::DtIntervisibilityDriver::AttachPoint |
| typedef std::vector<AttachPoint> makVrv::DtIntervisibilityDriver::AttachPoints |
|
protected |
|
protected |
| makVrv::DtIntervisibilityDriver::DtIntervisibilityDriver | ( | DtDe & | , |
| const std::string & | className | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
virtual |
Override to return true (does not look at configuration)
Reimplemented from makVrv::DtDriver.
| DtIntervisibilityStateListener* makVrv::DtIntervisibilityDriver::findListener | ( | DtElementID | id | ) |
| DtIntervisibilityElement* makVrv::DtIntervisibilityDriver::findElement | ( | DtElementID | id | ) |
|
virtual |
Create and return a new intervisibility line with given start and end points.
|
virtual |
Creates a new intervisibility line object by using the event processor with the newly create element.
If attach points are given, one point for each attach point will be created and then the final point will be put into create mode if the continueCreation parameter is true
| const DtUnicode& makVrv::DtIntervisibilityDriver::intervisibilityLine | ( | ) | const |
String which represents the internal keyword used to create an intervisibility line.
|
virtual |
Create and return a new intervisibility fan with given start and end points.
|
virtual |
Creates a new intervisibility fan object by using the event processor.
If creation is successful will emit a signal with the newly create element. If attach points are given, one point for each attach point will be created and then the final point will be put into create mode if the continueCreation parameter is true
| const DtUnicode& makVrv::DtIntervisibilityDriver::intervisibilityFan | ( | ) | const |
String which represents the internal keyword used to create an intervisibility fan.
| DtIntervisibilityElement* makVrv::DtIntervisibilityDriver::creatingElement | ( | ) | const |
Access to internal variables that are valid when an object is created
| DtIntervisibilityStateListener* makVrv::DtIntervisibilityDriver::creatingListener | ( | ) | const |
| const ElementMap& makVrv::DtIntervisibilityDriver::intervisibilityElements | ( | ) | const |
All the intervisibility elements current created.
|
virtual |
Create and return a new intervisibility entity fan with given start and end points.
|
virtual |
Creates a new intervisibility entity fan object by using the event processor.
If creation is successful will emit a signal with the newly create element. If attach points are given, one point for each attach point will be created and then the final point will be put into create mode if the continueCreation parameter is true
| const DtUnicode& makVrv::DtIntervisibilityDriver::intervisibilityEntityFan | ( | ) | const |
String which represents the internal keyword used to create an intervisibility entity fan.
| void makVrv::DtIntervisibilityDriver::addListenerCreator | ( | const std::string & | , |
| DtIntervisibilityStateListenerCreator * | |||
| ) |
Adds a new listener creator given the keyword.
If one exists, replace.
|
virtual |
Cancel current creation and remove temporary symbol.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
virtual |
Given the particular ID, destroys (removes) the object and also removes from selection.
|
virtual |
Destroys all intervisibility elements.
|
virtual |
Sets whether or not the processor is enabled for creating.
If true, will also enable the processor. If false, will set internal flag however will not disable the processor if it is also enabled for editing
|
virtual |
Sets whether or not the processor supports editing of objects.
If an object is selected, signals will be sent for double click and possible drag/drop operations. If these operations are not valid for editing the selected items, override this class and implement the methods which will determine if editing is allowed (for example, canEdit)
|
virtual |
Create and return a new element with the points as the starting points.
|
virtual |
|
static |
Returns the current intervisibility driver in the driver manager.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
inlinevirtual |
Returns the driver's class name.
Implements makVrv::DtDriver.
|
static |
Returns the driver's instance (display) name.
|
inline |
Returns the driver's connection.
|
inline |
Returns the driver's connection (const).
|
protectedvirtual |
Pure interface that must be implemented to be considered a shape driver creates the event processor used for mouse and keyboard controls.
|
protectedvirtual |
Creates a new listener to be used with the element being created.
|
protectedvirtual |
Creates a new shape element for the given listener.
|
protectedvirtual |
Creates a new element object by using the event processor.
If creation is successful will emit a signal with the newly create element. If attach points are given, one point for each attach point will be created and then the final point will be put into create mode if the continueCreation parameter is true
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
protectedvirtual |
call for each tick
Implements makVrv::DtDriver.
|
protectedvirtual |
Start the host output.
Create all object for an existing host connection. Should return true if start succeeded, and false if unable to start.
Implements makVrv::DtDriver.
|
protectedvirtual |
Stop the host output.
All scene object created by the host should be destroyed. Should return true if stop succeeded, and false if unable to stop.
Implements makVrv::DtDriver.
|
protectedvirtual |
Makes final connections.
|
protectedvirtual |
Select/deselect objects.
|
protectedvirtual |
Select/deselect all items in list.
|
protectedvirtual |
Connects up to event processor to handle signals.
|
protectedvirtual |
Signal sent when the mouse location has changed via a mouse move.
Vector is in local database coordinates
|
protectedvirtual |
Signal sent when the altitude has changed.
|
protectedvirtual |
Called when altitude has entered/left dragging mode.
|
protectedvirtual |
Signal sent on left click of mouse on terrain or object.
ID is the item clicked on. Vector is in local database coordinates
|
protectedvirtual |
Called to finish the current creation and make object permanent.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
protectedvirtual |
Called when a drag operation is about to start, stash off information about current objects (in case of cancel) and proceed to allow editing.
|
protectedvirtual |
Modifies all the objects being edited based on the new point and altitude.
Altitude will be applied as a delta from the height above ground at the anchor position
|
protectedvirtual |
Called after complete or cancel to reset selection state to original state.
Should not be called directly
|
protectedvirtual |
Clamps point to terrain, then applies delta altitude.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
protectedvirtual |
Called when a simulation item is removed.
If attached to an intervisibility object will remove that object
|
protected |
Creates and installed procedural element definitions into the manager.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
If creating an element via the mouse, these parameters will not not be NULL.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Map that will keep track of listener creator by string type.
|
protected |