26 class DtDriverManager;
34 typedef std::set<DtUniqueID>
IdSet;
39 SelectionModeEntities = 1,
40 SelectionModeTerrain = 2
68 MaintainSelectionIfSelected
81 virtual void performSelectionOperation(SelectionOperation op,
const IdSet& ids);
84 virtual void setCurrentSelections(
const IdSet& selections );
90 virtual void addToCurrentSelection(
const IdSet& adds );
95 virtual void maintainCurrentSelectionIfSelected(
const IdSet& maintain );
98 virtual void removeFromCurrentSelection(
const IdSet& removes );
102 virtual void toggleFromCurrentSelection(
const IdSet& toggles );
105 virtual void removeFromCurrentSelection(
109 SelectionMode selectionMode()
const;
110 virtual void setSelectionMode( SelectionMode
mode );
117 virtual bool isSelectable(
DtUniqueID id )
const;
127 virtual SelectionType selectionType()
const;
130 virtual bool propSelectionHasNonReplacedProp();
134 virtual bool propSelectionMajorityTransparent();
137 virtual void slot_onElementsRemoved(
141 virtual void backupCurrentSelection();
145 virtual bool restoreCurrentSelection();
147 bool selectionIsVertex(
const IdSet& selection );
156 virtual bool allItemsWantVertexSelection(
const IdSet&)
const;
165 virtual bool wantsVertexSelection(
DtElementID)
const;
168 boost::signal<void (
const IdSet& selected,
const IdSet& deselected,
169 SelectionType newType,
174 boost::signal<void (const DtUniqueID& id, const DtUniqueID& parentId)>
179 boost::signal<void (const DtUniqueID& id, const DtUniqueID& parentId)>
194 virtual void removeSelectableObjectTypeFromAllModes(
212 bool vertexSelectsParent );
223 void removeFromCurrentSelection(
DtUniqueID id );
226 void announceCurrentSelectionChanged(
const IdSet& selected,
229 void updateSelectionDisplay(
const IdSet& selected,
230 const IdSet& deselected );
232 void updateSelectionType();
237 void convertVertexIdsToParentIds(
const IdSet& in,
IdSet& out );
242 typedef boost::unordered_map<SelectionMode, ElementTypeSet>