![]() |
VR-Forces Developer's Guide
|
This driver will manage the creation, modification and removal of intervisibility objects. Will use the event processor for mouse and keyboard processing if necessary.

Classes | |
| class | DtIntervisibilityConnection |
| struct | OriginalInformation |
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 |
Static Public Member Functions | |
| static DtIntervisibilityDriver * | findDriver (DtDe &de) |
| static std::string | theInstanceName () |
Protected Types | |
| typedef boost::unordered_map < DtElementID, OriginalInformation > | Editing |
| typedef std::map< std::string, DtIntervisibilityStateListenerCreator * > | ListenerCreatorMap |
| 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.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
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 |
Access to internal variables that are valid when an object is created.
| 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.
|
virtual |
Creates a new range line at the start point, allowing the user to drag to set end point.
|
virtual |
Create and return a new range line with given start and end points.
|
virtual |
Creates a new range 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.
|
virtual |
The range line lives under the intervisiblity menu, however, it does not create an actual intervisiblity line. it creates a line that shows range/bearing labels, allows for attachment, and the end point look is modified from the intervisility settings menu.
| 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.
|
static |
Returns the current intervisibility driver in the driver manager.
|
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.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
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.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
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.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
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.
Reimplemented in makVrf::DtVrfGuiIntervisibilityDriver.
|
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.
|
protectedvirtual |
slot for when the coordinate system changes
|
protectedvirtual |
slot for when the visibility of intervisibility objects is toggled
|
protectedvirtual |
slot for when the visibility of range lines is toggled
|
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 |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.