![]() |
VR-Forces Developer's Guide
|
The master window of the scene.

Public Types | |
| enum | SelectionMode { SelectionModeAll = 0, SelectionModeEntities = 1, SelectionModeTerrain = 2 } |
| enum | SelectionType { NoValidSelection, Entity, Prop, BuoyOrBeacon, Terrain, Aggregate, Observer, ControlObject, OverlayObject, Intervisibility, Feature, Mixed } |
| enum | SelectionOperation { NoOperation = 0, AddToSelection, RemoveFromSelection, MultipleSelection, SetSelection, ClearSelection, MaintainSelectionIfSelected } |
| typedef std::set< DtUniqueID > | IdSet |
Static Public Member Functions | |
| static DtSelectionManager & | instance (DtDe &de) |
| static SelectionOperation | selectionOperationForMouseEvent (const DtMouseEvent &mouseEvent) |
| static bool | typeSupportsMultipleSelection (DtElementEntry::ObjectType type, bool vertexSelectsParent) |
Public Attributes | |
| boost::signalslib::signal < void(const DtElementID &entityId, bool hasMouseCursor)> | signal_elementHasMouseCursorStateChanged |
| boost::signalslib::signal < void(const IdSet &selected, const IdSet &deselected, SelectionType newType, SelectionType oldType)> | signal_currentSelectionChanged |
| boost::signalslib::signal < void(const DtUniqueID &id, const DtUniqueID &parentId)> | signal_vertexSelected |
| boost::signalslib::signal < void(const DtUniqueID &id, const DtUniqueID &parentId)> | signal_vertexDeselected |
| boost::signalslib::signal < void(const IdSet &entityIds, bool pinAllLabels)> | signal_infoLabelsArePinned |
| boost::signalslib::signal < void(const DtUniqueID &)> | signal_switchEntitySymbolDecorationQuadrant |
| boost::signalslib::signal < void(const DtUniqueID &, const DtColorValue &, bool)> | signal_entityTrackHistoryColorOverride |
| boost::signalslib::signal< void()> | signal_selectionModeChanged |
Protected Types | |
| typedef std::set < DtElementEntry::ElementType > | WantsVertexSelection |
| typedef std::set < DtElementEntry::ElementType > | ElementTypeSet |
| typedef std::unordered_map < SelectionMode, ElementTypeSet > | SelectionModeMap |
| typedef std::queue< IdSet > | IdSetQueue |
Protected Member Functions | |
| DtSelectionManager (DtDe &de) | |
| virtual void | addToCurrentSelection (DtUniqueID id) |
| virtual void | removeFromCurrentSelection (DtUniqueID id) |
| virtual void | announceCurrentSelectionChanged (const IdSet &selected, const IdSet &deselected, SelectionType oldType) |
| virtual void | updateSelectionType () |
| virtual SelectionType | elementSelectionType (DtElementEntry *entry) const |
| virtual void | convertVertexIdsToParentIds (const IdSet &in, IdSet &out) |
| typedef std::set<DtUniqueID> makVrv::DtSelectionManager::IdSet |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
DTOR.
|
protected |
CTOR.
|
static |
Get the selection manager instance.
|
virtual |
Utility function for specify the operation using a variable.
Reimplemented in makVrf::DtVrfSelectionManager.
|
virtual |
set the current selection set
Reimplemented in makVrf::DtVrfSelectionManager.
|
virtual |
Announce whether a widget associated with some scene object is being hovered over with the mouse cursor. This function finds the DtElementID of the scene object from its scene object id and emits signal_elementHasMouseCursorStateChanged(elementId, hovered). This function will do nothing if the element ID cannot be determined.
|
virtual |
get the current selection set
|
virtual |
add to the current selection set
|
virtual |
If item is already selected, maintain the current selection, else act as SetSelection. This will only be true if all items are currently selected in the supplied set.
|
virtual |
add to the current selection set
|
virtual |
Each id current not selected will be selected and each id already selected will be deselected.
|
virtual |
add to the current selection set
|
virtual |
Selection Mode.
|
virtual |
|
virtual |
Determine an element's selectability Determines, based on the element's type and current selection mode, if the object is selectable. This form needs to look up the element, so it's better to use the form with a DtElementEntry argument if you have it.
|
virtual |
Determine an object's selectability Determines, based on the object's type and current selection mode, if the object is selectable.
|
virtual |
Check to see if an object is selected.
|
virtual |
|
virtual |
check to see if any of the selected props are not replaced props
|
virtual |
Is the majority of selected props transparent or opaque; used by toggle transparency selected.
|
virtual |
Called by signal whenever elements are removed.
|
virtual |
Puts the current selection onto the backup queue.
|
virtual |
Restores a previously backed up selection. If there are no selections backed up, returns false.
|
virtual |
|
virtual |
|
virtual |
Returns true if the items in the selection set are vertices and the vertices parents all want vertex selection. Element types can be added to vertex selection by calling addWantsVertexSelection(). To remove, call removeWantsVertexSelection()
|
virtual |
Adds an item to the wants to have vertex selection list.
|
virtual |
Removes an item to the wants to have vertex selection list.
|
virtual |
Returns true if the object type wants vertex selection.
|
virtual |
{@
Manages types that are valid for certain selection modes
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Uses current selection mode to see if object type is selectable.
|
static |
Choose the appropriate selection operation based on the mouse event.
|
static |
Check to see if an object type supports multiple selection. Since it matters if we're currently selecting our parent with vertices and since this function is static, that must be passed in.
|
protectedvirtual |
add to the current selection set
|
protectedvirtual |
add to the current selection set
|
protectedvirtual |
Announce the selection changes by emitting signals.
|
protectedvirtual |
|
protectedvirtual |
Get the selection type for an element.
Reimplemented in makVrf::DtVrfSelectionManager.
|
protectedvirtual |
| boost::signalslib::signal<void (const DtElementID& entityId, bool hasMouseCursor)> makVrv::DtSelectionManager::signal_elementHasMouseCursorStateChanged |
Emitted when an element's scene object is being hovered over by the mouse cursor.
| boost::signalslib::signal<void (const IdSet& selected, const IdSet& deselected, SelectionType newType, SelectionType oldType)> makVrv::DtSelectionManager::signal_currentSelectionChanged |
Emited when the current selection changes.
| boost::signalslib::signal<void (const DtUniqueID& id, const DtUniqueID& parentId)> makVrv::DtSelectionManager::signal_vertexSelected |
Special case: emitted in addition to of currentSelectionChanged when a vertex is selected.
| boost::signalslib::signal<void (const DtUniqueID& id, const DtUniqueID& parentId)> makVrv::DtSelectionManager::signal_vertexDeselected |
Special case: emitted in addition to currentSelectionChanged when a vertex is deselected.
| boost::signalslib::signal<void (const IdSet& entityIds, bool pinAllLabels)> makVrv::DtSelectionManager::signal_infoLabelsArePinned |
Emitted when the selected entities have their info pin state toggled Perhaps this signal doesn't belong here...
| boost::signalslib::signal<void(const DtUniqueID&)> makVrv::DtSelectionManager::signal_switchEntitySymbolDecorationQuadrant |
Emitted when the selected entity has its symbol decoration quadrant switched.
| boost::signalslib::signal<void(const DtUniqueID&, const DtColorValue&, bool)> makVrv::DtSelectionManager::signal_entityTrackHistoryColorOverride |
Emitted when the selected entity has its track history color changed.
| boost::signalslib::signal<void ()> makVrv::DtSelectionManager::signal_selectionModeChanged |
Emited when the selection mode changes.
|
protected |
|
protected |
|
protected |
|
protected |
Set when a signal is raised to avoid loops.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |