36 #define DtMultipleObjectEditorManipulationHandlerType DtEntityType(300, 300, 300, 300, 300, 300, 300)
40 class DtVrfObjectManipulationHandlerBaseClass;
41 class DtVrfEditManagerEventProcessor;
56 AllowLocalObjects = 0x00000001,
57 AllowPublishedObjects = 0x00000002,
58 AllowAll = AllowLocalObjects | AllowPublishedObjects
70 bool creatingObject()
const;
77 virtual void setAlwaysCreateLocal(
bool);
78 virtual bool alwaysCreateLocal()
const;
86 virtual void removeObjectManipulationHandler(
const DtEntityType&);
105 virtual bool isEditable(
const makVrv::DtUniqueID&,
const std::string& keywordsToCheck =
"")
const;
112 virtual std::vector<DtVector> convertToLocal(
const std::vector<DtVector>& geocentric)
const;
115 virtual bool isEditingOrCreating()
const;
117 virtual bool isBoxObject(
const DtEntityType&,
const std::string& keywords)
const;
132 virtual bool isCreatingProp()
const;
136 virtual bool isDestroyingProp()
const;
137 virtual void setIsDestroyingProp(
bool);
156 virtual void slot_onCreateTerrainProp(
const DtString& propType,
const DtString& propModelDef);
160 virtual void cleanup();
171 virtual void mapEntityTypeToVertexEditingType(
const DtEntityType& from,
const DtEntityType& to);
172 virtual DtEntityType mapToVertexEditingType(
const DtEntityType& from)
const;
173 virtual void removeToVertexEditingType(
const DtEntityType& from);
184 const std::string& keywords =
"");
187 virtual void setLocation(
const DtVector& loc);
190 virtual void createTerrainProp(
const DtString& propType,
const DtString& propModelDef);
210 boost::signals2::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)>
signal_createObject;
227 virtual void setAllowEditing(
bool b);
230 virtual bool allowEditing()
const;
231 virtual bool allowLocalObjectsEditing()
const;
232 virtual bool allowPublishedObjectsEditing()
const;
254 virtual void setEditStartedByDoubleClick(
bool);
257 virtual void setCreationEndedWithDoubleClick(
bool creationEndedWithDoubleClick);
261 virtual bool isDoubleClickSupportedForCurrentObject();
264 virtual bool isCurrentObjectValidForCreation();
267 virtual void deleteSelected();
279 virtual void addVertexBeforeSelected();
286 virtual void addVertexAfterSelected();
290 const DtVector& dbVtxLocation )
const;
303 ProcessEnvStateFunction* processor );
306 virtual void setWaitTimeAfterComplete(
double);
307 virtual double waitTimeAfterComplete()
const;
310 virtual void setLocalWaitTimeAfterComplete(
double);
311 virtual double localWaitTimeAfterComplete()
const;
345 virtual void sessionStatusChanged(
int);
349 virtual void slot_onTick();
351 virtual void slot_onAttributesChanged(
382 typedef boost::unordered_map<makVrv::DtUniqueID, bool>
EditableMap;
385 typedef boost::unordered_map<int, makVrv::DtElementEntry::ElementType>
KindToTypeMap;
388 typedef boost::unordered_map<makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface*>
TypeCreatorMap;
AllowEditingOf myAllowEditingOf
Definition: vrfObjectManipulationManager.h:396
bool myAlwaysCreateLocal
Definition: vrfObjectManipulationManager.h:375
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(makVrv::DtElementID)> signal_unhandledEdit
Definition: vrfObjectManipulationManager.h:219
boost::signals2::signal< void(const makVrv::DtUniqueID &, DtEditingType)> signal_editingObject
Definition: vrfObjectManipulationManager.h:322
TypeCreatorMap myTypeCreators
Definition: vrfObjectManipulationManager.h:389
boost::signals2::signal< void(const makVrv::DtUniqueID &, DtEditingType)> signal_editingTerrainProp
Definition: vrfObjectManipulationManager.h:324
makVrv::DtDe & myDe
Definition: vrfObjectManipulationManager.h:370
boost::signals2::signal< void()> signal_editStopped
Definition: vrfObjectManipulationManager.h:329
double myWaitTimeAfterComplete
Definition: vrfObjectManipulationManager.h:391
boost::unordered_map< int, makVrv::DtElementEntry::ElementType > KindToTypeMap
Definition: vrfObjectManipulationManager.h:385
Contains makVrv:DtSelectionManager class.
Definition: vrfObjectManipulationManager.h:402
KindToTypeMap myKindToTypeMap
Definition: vrfObjectManipulationManager.h:386
makVrv::DtSelectionManager::IdSet myRemainingSavedSelections
Definition: vrfObjectManipulationManager.h:378
bool myIsDestroyingProp
Definition: vrfObjectManipulationManager.h:399
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
DtVrfEditManagerEventProcessor * myEventProcessor
Definition: vrfObjectManipulationManager.h:374
VertexEditingTypeMap myVertexEditingTypeMap
Definition: vrfObjectManipulationManager.h:372
boost::signals2::signal< void()> signal_eventProcessorRemoved
Definition: vrfObjectManipulationManager.h:221
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
The Master Scenario Settings Dialog.
Definition: vrfObjectManipulationManager.h:44
The abstract Channel Class.
Definition: DtChannel.h:30
boost::signals2::signal< void(const makVrv::DtSelectionManager::IdSet &, DtEditingType)> signal_editingTerrainProps
Definition: vrfObjectManipulationManager.h:327
boost::signals2::signal< void()> signal_selectionRestored
Signal when the selection has been restored to what it was before creation.
Definition: vrfObjectManipulationManager.h:200
makVrv::DtSelectionManager::IdSet mySavedSelectionState
Definition: vrfObjectManipulationManager.h:377
DtOrderedEntityTypeList< DtEntityType * > VertexEditingTypeMap
Definition: vrfObjectManipulationManager.h:48
boost::unordered_map< makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface * > TypeCreatorMap
Definition: vrfObjectManipulationManager.h:388
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtSelectionManager::IdSet myObjectsEditing
Definition: vrfObjectManipulationManager.h:379
boost::signals2::signal< void()> signal_editingNotAllowed
Definition: vrfObjectManipulationManager.h:330
makVrv::DtSignalConnectionManager myAnnouncerSignals
Definition: vrfObjectManipulationManager.h:398
Definition: vrfObjectFacadeInterface.h:47
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Definition: vrfObjectManipulationHandlerBaseClass.h:44
Definition: vrfObjectManipulationHandlerBaseClass.h:88
boost::signals2::signal< void(bool &)> signal_deleteSelected
Signal to delete the selected objects. Set handled to true if delete is handled.
Definition: vrfObjectManipulationManager.h:197
std::vector< EntryAttributes > EntryAttributesList
Definition: DtElementAttributeManager.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::unordered_map< makVrv::DtUniqueID, bool > EditableMap
Definition: vrfObjectManipulationManager.h:382
boost::signals2::signal< void(DtEntityType, DtEditingType)> signal_editingObjectByEntityType
Definition: vrfObjectManipulationManager.h:323
VrfObjectManipulationCreators myManipulationHandlers
Definition: vrfObjectManipulationManager.h:371
ElementType
Definition: DtElementEntry.h:26
Definition: vrfObjectManipulationHandlerBaseClass.h:820
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_objectFacadeAboutToBeRemoved
Definition: vrfObjectManipulationManager.h:216
AllowEditingOf allowEditingOf() const
Definition: vrfObjectManipulationManager.h:234
boost::signals2::signal< void(const makVrv::DtSelectionManager::IdSet &, DtEditingType)> signal_editingObjects
Definition: vrfObjectManipulationManager.h:326
boost::signals2::signal< void(int, DtEnvironmentStateView *, DtVector &)> signal_aboutToAddPoint
About to add the point at the given index for the given state view. Point is in world coordinates...
Definition: vrfObjectManipulationManager.h:206
Definition: vrfObjectManipulationHandlerBaseClass.h:485
DtOrderedEntityTypeList< DtVrfObjectManipulationHandlerCreatorInterface * > VrfObjectManipulationCreators
Definition: vrfObjectManipulationManager.h:47
boost::signals2::signal< void(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData &)> signal_createObject
Definition: vrfObjectManipulationManager.h:210
AllowEditingOf
Definition: vrfObjectManipulationManager.h:53
Base class to provide boost signal/slot management.
boost::signals2::signal< void()> signal_creatingTerrainProp
Definition: vrfObjectManipulationManager.h:212
boost::signals2::signal< void()> signal_stopped
Definition: vrfObjectManipulationManager.h:208
makVrv::DtSelectionManager::IdSet myVisibleObjects
Definition: vrfObjectManipulationManager.h:380
boost::signals2::signal< void(const DtEntityType &, int, makVrf::DtCreationSignalType)> signal_creatingObject
Definition: vrfObjectManipulationManager.h:209
Contains makVrv::DtUniqueID type.
Contains the DtElementAttributeManager class declaration.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::function< void(DtEnvironmentStateView *)> ProcessEnvStateFunction
Definition: vrfObjectManipulationManager.h:49
std::vector< DtVrfObjectManipulationHandlerBaseClass * > myHandlersToBeCleanedUp
Definition: vrfObjectManipulationManager.h:394
double myLocalWaitTimeAfterComplete
Definition: vrfObjectManipulationManager.h:392
EditableMap myEditableMap
Definition: vrfObjectManipulationManager.h:383
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
boost::signals2::signal< void(const DtString &, const DtString &)> signal_createTerrainProp
Definition: vrfObjectManipulationManager.h:213
Listen for double-click events on behalf of the DtVrfEditManager and initiate the edit process...
Definition: vrfEditManagerEventProcessor.h:35
Contains makVrv::DtElementEntry class.
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, bool)> signal_objectFacadeCreated
Definition: vrfObjectManipulationManager.h:215
boost::signals2::signal< void(int, DtEnvironmentStateView *, DtVector)> signal_aboutToDeletePoint
About to delete the point for the given state view at the given index.
Definition: vrfObjectManipulationManager.h:203
DtVrfObjectManipulationHandlerBaseClass * myCurrentObjectManipulationHandler
Definition: vrfObjectManipulationManager.h:373