24 #include <boost/signals2.hpp>
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;
118 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 deleteSelected();
269 virtual void addVertexBeforeSelected();
276 virtual void addVertexAfterSelected();
280 const DtVector& dbVtxLocation )
const;
293 ProcessEnvStateFunction* processor );
296 virtual void setWaitTimeAfterComplete(
double);
297 virtual double waitTimeAfterComplete()
const;
300 virtual void setLocalWaitTimeAfterComplete(
double);
301 virtual double localWaitTimeAfterComplete()
const;
335 virtual void sessionStatusChanged(
int);
339 virtual void slot_onTick();
341 virtual void slot_onAttributesChanged(
372 typedef boost::unordered_map<makVrv::DtUniqueID, bool>
EditableMap;
375 typedef boost::unordered_map<int, makVrv::DtElementEntry::ElementType>
KindToTypeMap;
378 typedef boost::unordered_map<makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface*>
TypeCreatorMap;
AllowEditingOf myAllowEditingOf
Definition: vrfObjectManipulationManager.h:386
bool myAlwaysCreateLocal
Definition: vrfObjectManipulationManager.h:365
Virtual base class.
Definition: DtVirtualBaseClass.h:22
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:312
TypeCreatorMap myTypeCreators
Definition: vrfObjectManipulationManager.h:379
boost::signals2::signal< void(const makVrv::DtUniqueID &, DtEditingType)> signal_editingTerrainProp
Definition: vrfObjectManipulationManager.h:314
makVrv::DtDe & myDe
Definition: vrfObjectManipulationManager.h:360
boost::signals2::signal< void()> signal_editStopped
Definition: vrfObjectManipulationManager.h:319
double myWaitTimeAfterComplete
Definition: vrfObjectManipulationManager.h:381
boost::unordered_map< int, makVrv::DtElementEntry::ElementType > KindToTypeMap
Definition: vrfObjectManipulationManager.h:375
Contains makVrv:DtSelectionManager class.
Definition: vrfObjectManipulationManager.h:392
KindToTypeMap myKindToTypeMap
Definition: vrfObjectManipulationManager.h:376
makVrv::DtSelectionManager::IdSet myRemainingSavedSelections
Definition: vrfObjectManipulationManager.h:368
bool myIsDestroyingProp
Definition: vrfObjectManipulationManager.h:389
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:44
DtVrfEditManagerEventProcessor * myEventProcessor
Definition: vrfObjectManipulationManager.h:364
VertexEditingTypeMap myVertexEditingTypeMap
Definition: vrfObjectManipulationManager.h:362
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:29
boost::signals2::signal< void(const makVrv::DtSelectionManager::IdSet &, DtEditingType)> signal_editingTerrainProps
Definition: vrfObjectManipulationManager.h:317
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:367
DtOrderedEntityTypeList< DtEntityType * > VertexEditingTypeMap
Definition: vrfObjectManipulationManager.h:48
boost::unordered_map< makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface * > TypeCreatorMap
Definition: vrfObjectManipulationManager.h:378
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtSelectionManager::IdSet myObjectsEditing
Definition: vrfObjectManipulationManager.h:369
boost::signals2::signal< void()> signal_editingNotAllowed
Definition: vrfObjectManipulationManager.h:320
makVrv::DtSignalConnectionManager myAnnouncerSignals
Definition: vrfObjectManipulationManager.h:388
Definition: vrfObjectFacadeInterface.h:47
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Definition: vrfObjectManipulationHandlerBaseClass.h:46
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:41
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
boost::unordered_map< makVrv::DtUniqueID, bool > EditableMap
Definition: vrfObjectManipulationManager.h:372
boost::signals2::signal< void(DtEntityType, DtEditingType)> signal_editingObjectByEntityType
Definition: vrfObjectManipulationManager.h:313
VrfObjectManipulationCreators myManipulationHandlers
Definition: vrfObjectManipulationManager.h:361
ElementType
Definition: DtElementEntry.h:26
Definition: vrfObjectManipulationHandlerBaseClass.h:806
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
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:316
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:477
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:370
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:384
double myLocalWaitTimeAfterComplete
Definition: vrfObjectManipulationManager.h:382
EditableMap myEditableMap
Definition: vrfObjectManipulationManager.h:373
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:363