23 class DtDriverManager;
32 typedef std::set<DtUniqueID>
IdSet;
37 SelectionModeEntities = 1,
38 SelectionModeTerrain = 2
66 MaintainSelectionIfSelected
79 virtual void performSelectionOperation(SelectionOperation op,
const IdSet& ids);
82 virtual void setCurrentSelections(
const IdSet& selections );
90 virtual void setCurrentHovered(
const DtUniqueID& sceneObjId,
bool hovered );
96 virtual void addToCurrentSelection(
const IdSet& adds );
101 virtual void maintainCurrentSelectionIfSelected(
const IdSet& maintain );
104 virtual void removeFromCurrentSelection(
const IdSet& removes );
108 virtual void toggleFromCurrentSelection(
const IdSet& toggles );
111 virtual void removeFromCurrentSelection(
115 SelectionMode selectionMode()
const;
116 virtual void setSelectionMode( SelectionMode
mode );
123 virtual bool isSelectable(
DtUniqueID id )
const;
133 virtual SelectionType selectionType()
const;
136 virtual bool propSelectionHasNonReplacedProp();
140 virtual bool propSelectionMajorityTransparent();
143 virtual void slot_onElementsRemoved(
147 virtual void backupCurrentSelection();
151 virtual bool restoreCurrentSelection();
153 bool selectionIsVertex(
const IdSet& selection );
162 virtual bool allItemsWantVertexSelection(
const IdSet&)
const;
171 virtual bool wantsVertexSelection(
DtElementID)
const;
177 boost::signalslib::signal<void (
const IdSet& selected,
const IdSet& deselected,
183 boost::signalslib::signal<void (const DtUniqueID& id, const DtUniqueID& parentId)>
188 boost::signalslib::signal<void (const DtUniqueID& id, const DtUniqueID& parentId)>
207 virtual void removeSelectableObjectTypeFromAllModes(
225 bool vertexSelectsParent );
236 void removeFromCurrentSelection(
DtUniqueID id );
239 void announceCurrentSelectionChanged(
const IdSet& selected,
242 void updateSelectionDisplay(
const IdSet& selected,
243 const IdSet& deselected );
245 void updateSelectionType();
250 void convertVertexIdsToParentIds(
const IdSet& in,
IdSet& out );
255 typedef boost::unordered_map<SelectionMode, ElementTypeSet>
Definition: DtSelectionManager.h:65
SelectionMode mySelectionMode
Definition: DtSelectionManager.h:262
IdSetQueue myBackupSelections
Definition: DtSelectionManager.h:267
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void()> signal_selectionModeChanged
Emited when the selection mode changes.
Definition: DtSelectionManager.h:200
Definition: DtSelectionManager.h:50
SelectionModeMap mySelectionModeMap
Definition: DtSelectionManager.h:269
DtSignalConnectionManager mySignals
Definition: DtSelectionManager.h:270
Definition: DtSelectionManager.h:53
The master window of the scene.
Definition: DtSelectionManager.h:28
boost::signalslib::signal< void(const DtUniqueID &id, const DtUniqueID &parentId)> signal_vertexDeselected
Special case: emitted in addition to currentSelectionChanged when a vertex is deselected.
Definition: DtSelectionManager.h:189
Definition: DtSelectionManager.h:52
Contains makVrv::DtElementData class.
std::set< DtElementEntry::ElementType > ElementTypeSet
Definition: DtSelectionManager.h:254
std::set< DtElementEntry::ElementType > WantsVertexSelection
Definition: DtSelectionManager.h:253
DtElementEntry holds the non-simulation-specific data about an element, including its element type an...
Definition: DtElementEntry.h:22
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
Definition: DtSelectionManager.h:47
Definition: DtSelectionManager.h:64
Definition: DtSelectionManager.h:51
Definition: DtSelectionManager.h:62
boost::signalslib::signal< void(const DtElementID &entityId, bool hasMouseCursor)> signal_elementHasMouseCursorStateChanged
Emitted when an element's scene object is being hovered over by the mouse cursor. ...
Definition: DtSelectionManager.h:174
unsigned int ObjectType
Definition: DtElementEntry.h:51
bool myIgnoreSelectionModeChanges
Definition: DtSelectionManager.h:265
Contains makVrv::DtVirtualBaseClass class.
Definition: DtSelectionManager.h:54
DtDe & myDe
Definition: DtSelectionManager.h:260
boost::signalslib::signal< void(const DtUniqueID &id, const DtUniqueID &parentId)> signal_vertexSelected
Special case: emitted in addition to of currentSelectionChanged when a vertex is selected.
Definition: DtSelectionManager.h:184
Definition: DtSelectionManager.h:45
boost::unordered_map< SelectionMode, ElementTypeSet > SelectionModeMap
Definition: DtSelectionManager.h:256
This file contains the declaration for the class DtMouseEvent.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myIgnoreSelectionChanges
Set when a signal is raised to avoid loops.
Definition: DtSelectionManager.h:264
boost::signalslib::signal< void(const IdSet &selected, const IdSet &deselected, SelectionType newType, SelectionType oldType)> signal_currentSelectionChanged
Emited when the current selection changes.
Definition: DtSelectionManager.h:179
IdSet myCurrentSelections
Definition: DtSelectionManager.h:261
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
SelectionOperation
Definition: DtSelectionManager.h:58
ElementType
Definition: DtElementEntry.h:26
Definition: DtSelectionManager.h:44
boost::signalslib::signal< void(const DtUniqueID &, const DtColorValue &, bool)> signal_entityTrackHistoryColorOverride
Emitted when the selected entity has its track history color changed.
Definition: DtSelectionManager.h:196
WantsVertexSelection myWantsVertexSelection
Definition: DtSelectionManager.h:268
Definition: DtSelectionManager.h:46
Base class to provide boost signal/slot management.
Definition: DtSelectionManager.h:61
std::queue< IdSet > IdSetQueue
Definition: DtSelectionManager.h:257
const char int mode
Definition: ioapi.h:38
std::vector< DtElementID > UniqueIdList
Public Type Definitions.
Definition: DtElementData.h:49
Contains makVrv::DtUniqueID type.
SelectionType
The nature of the current selection.
Definition: DtSelectionManager.h:42
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Definition: DtSelectionManager.h:48
SelectionType mySelectionType
Definition: DtSelectionManager.h:266
Definition: DtSelectionManager.h:49
SelectionMode
Definition: DtSelectionManager.h:34
Definition: DtSelectionManager.h:63
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
boost::signalslib::signal< void(const IdSet &entityIds, bool pinAllLabels)> signal_infoLabelsArePinned
Emitted when the selected entities have their info pin state toggled Perhaps this signal doesn't belo...
Definition: DtSelectionManager.h:193
Contains DLL export macros.