33 #define DtMultipleObjectEditorManipulationHandlerType DtEntityType(300, 300, 300, 300, 300, 300, 300)
37 class DtVrfObjectManipulationHandlerBaseClass;
38 class DtVrfEditManagerEventProcessor;
59 AllowLocalObjects = 0x00000001,
60 AllowPublishedObjects = 0x00000002,
61 AllowAll = AllowLocalObjects | AllowPublishedObjects
73 bool creatingObject()
const;
80 virtual void setAlwaysCreateLocal(
bool);
81 virtual bool alwaysCreateLocal()
const;
89 virtual void removeObjectManipulationHandler(
const DtEntityType&);
108 virtual bool isEditable(
const makVrv::DtUniqueID&,
const std::string& keywordsToCheck =
"")
const;
115 virtual std::vector<DtVector> convertToLocal(
const std::vector<DtVector>& geocentric)
const;
118 virtual bool isEditingOrCreating()
const;
120 virtual bool isBoxObject(
const DtEntityType&,
const std::string& keywords)
const;
135 virtual bool isCreatingProp()
const;
139 virtual bool isDestroyingProp()
const;
140 virtual void setIsDestroyingProp(
bool);
159 virtual void slot_onCreateTerrainProp(
const DtString& propType,
const DtString& propModelDef);
163 virtual void cleanup();
174 virtual void mapEntityTypeToVertexEditingType(
const DtEntityType& from,
const DtEntityType& to);
175 virtual DtEntityType mapToVertexEditingType(
const DtEntityType& from)
const;
176 virtual void removeToVertexEditingType(
const DtEntityType& from);
187 const std::string& keywords =
"");
190 virtual void setLocation(
const DtVector& loc);
193 virtual void createTerrainProp(
const DtString& propType,
const DtString& propModelDef);
213 boost::signals2::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)>
signal_createObject;
230 virtual void setAllowEditing(
bool b);
233 virtual bool allowEditing()
const;
234 virtual bool allowLocalObjectsEditing()
const;
235 virtual bool allowPublishedObjectsEditing()
const;
257 virtual void setEditStartedByDoubleClick(
bool);
260 virtual void setCreationEndedWithDoubleClick(
bool creationEndedWithDoubleClick);
264 virtual bool isDoubleClickSupportedForCurrentObject()
const;
267 virtual bool isCurrentObjectValidForCreation();
270 virtual void deleteSelected();
275 const DtVector& dbLocation );
280 const DtVector& dbLocation );
282 virtual void addVertexBeforeSelected();
287 const DtVector& dbLocation );
289 virtual void addVertexAfterSelected();
293 const DtVector& dbVtxLocation )
const;
298 DtVector& dbLocation )
const;
306 ProcessEnvStateFunction* processor );
309 virtual void setWaitTimeAfterComplete(
double);
310 virtual double waitTimeAfterComplete()
const;
313 virtual void setLocalWaitTimeAfterComplete(
double);
314 virtual double localWaitTimeAfterComplete()
const;
343 const DtVector& dbVtxLocation );
346 const DtVector& dbVtxLocation,
bool before );
348 virtual void sessionStatusChanged(
int);
352 virtual void slot_onTick();
354 virtual void slot_onAttributesChanged(
385 typedef boost::unordered_map<makVrv::DtUniqueID, bool>
EditableMap;
388 typedef boost::unordered_map<int, makVrv::DtElementEntry::ElementType>
KindToTypeMap;
391 typedef boost::unordered_map<makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface*>
TypeCreatorMap;
AllowEditingOf myAllowEditingOf
Definition: vrfObjectManipulationManager.h:399
bool myAlwaysCreateLocal
Definition: vrfObjectManipulationManager.h:378
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(makVrv::DtElementID)> signal_unhandledEdit
Definition: vrfObjectManipulationManager.h:222
boost::signals2::signal< void(const makVrv::DtUniqueID &, DtEditingType)> signal_editingObject
Definition: vrfObjectManipulationManager.h:325
TypeCreatorMap myTypeCreators
Definition: vrfObjectManipulationManager.h:392
boost::signals2::signal< void(const makVrv::DtUniqueID &, DtEditingType)> signal_editingTerrainProp
Definition: vrfObjectManipulationManager.h:327
makVrv::DtDe & myDe
Definition: vrfObjectManipulationManager.h:373
double myWaitTimeAfterComplete
Definition: vrfObjectManipulationManager.h:394
boost::unordered_map< int, makVrv::DtElementEntry::ElementType > KindToTypeMap
Definition: vrfObjectManipulationManager.h:388
Contains makVrv:DtSelectionManager class.
Definition: vrfObjectManipulationManager.h:405
KindToTypeMap myKindToTypeMap
Definition: vrfObjectManipulationManager.h:389
makVrv::DtSelectionManager::IdSet myRemainingSavedSelections
Definition: vrfObjectManipulationManager.h:381
bool myIsDestroyingProp
Definition: vrfObjectManipulationManager.h:402
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
boost::signals2::signal< void(int, DtSimObjectReference, DtVector)> signal_aboutToDeletePoint
About to delete the point for the given state view at the given index.
Definition: vrfObjectManipulationManager.h:206
DtVrfEditManagerEventProcessor * myEventProcessor
Definition: vrfObjectManipulationManager.h:377
VertexEditingTypeMap myVertexEditingTypeMap
Definition: vrfObjectManipulationManager.h:375
boost::signals2::signal< void()> signal_eventProcessorRemoved
Definition: vrfObjectManipulationManager.h:224
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Definition: vrfObjectManipulationManager.h:47
The abstract Channel Class.
Definition: DtChannel.h:35
boost::signals2::signal< void(const makVrv::DtSelectionManager::IdSet &, DtEditingType)> signal_editingTerrainProps
Definition: vrfObjectManipulationManager.h:330
boost::signals2::signal< void()> signal_selectionRestored
Signal when the selection has been restored to what it was before creation.
Definition: vrfObjectManipulationManager.h:203
boost::signals2::signal< void(int, DtSimObjectReference, 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:209
boost::function< void(DtSimObjectReference)> ProcessEnvStateFunction
Definition: vrfObjectManipulationManager.h:52
makVrv::DtSelectionManager::IdSet mySavedSelectionState
Definition: vrfObjectManipulationManager.h:380
DtOrderedEntityTypeList< DtEntityType * > VertexEditingTypeMap
Definition: vrfObjectManipulationManager.h:51
boost::unordered_map< makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface * > TypeCreatorMap
Definition: vrfObjectManipulationManager.h:391
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtSelectionManager::IdSet myObjectsEditing
Definition: vrfObjectManipulationManager.h:382
boost::signals2::signal< void()> signal_editingNotAllowed
Definition: vrfObjectManipulationManager.h:333
makVrv::DtSignalConnectionManager myAnnouncerSignals
Definition: vrfObjectManipulationManager.h:401
Definition: vrfObjectFacadeInterface.h:53
Definition: vrfObjectManipulationHandlerBaseClass.h:75
Definition: vrfObjectManipulationHandlerBaseClass.h:44
static DtEntityType DtEditingMultipleObjectsType(256, 256, 256, 256, 256, 256, 256)
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:200
std::vector< EntryAttributes > EntryAttributesList
Define the type used to signal changes to one or more attributes for one or more elements.
Definition: DtElementAttributeManager.h:44
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::unordered_map< makVrv::DtUniqueID, bool > EditableMap
Definition: vrfObjectManipulationManager.h:385
boost::signals2::signal< void(DtEntityType, DtEditingType)> signal_editingObjectByEntityType
Definition: vrfObjectManipulationManager.h:326
VrfObjectManipulationCreators myManipulationHandlers
Definition: vrfObjectManipulationManager.h:374
ElementType
Definition: DtElementEntry.h:26
Definition: vrfObjectManipulationHandlerBaseClass.h:833
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_objectFacadeAboutToBeRemoved
Definition: vrfObjectManipulationManager.h:219
AllowEditingOf allowEditingOf() const
Definition: vrfObjectManipulationManager.h:237
boost::signals2::signal< void(const makVrv::DtSelectionManager::IdSet &, DtEditingType)> signal_editingObjects
Definition: vrfObjectManipulationManager.h:329
Definition: vrfObjectManipulationHandlerBaseClass.h:503
DtOrderedEntityTypeList< DtVrfObjectManipulationHandlerCreatorInterface * > VrfObjectManipulationCreators
Definition: vrfObjectManipulationManager.h:50
boost::signals2::signal< void(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData &)> signal_createObject
Definition: vrfObjectManipulationManager.h:213
AllowEditingOf
Definition: vrfObjectManipulationManager.h:56
Base class to provide boost signal/slot management.
boost::signals2::signal< void()> signal_creatingTerrainProp
Definition: vrfObjectManipulationManager.h:215
boost::signals2::signal< void()> signal_stopped
Definition: vrfObjectManipulationManager.h:211
makVrv::DtSelectionManager::IdSet myVisibleObjects
Definition: vrfObjectManipulationManager.h:383
boost::signals2::signal< void(const DtEntityType &, int, makVrf::DtCreationSignalType)> signal_creatingObject
Definition: vrfObjectManipulationManager.h:212
Contains makVrv::DtUniqueID type.
Contains the DtElementAttributeManager class declaration.
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:76
std::vector< DtVrfObjectManipulationHandlerBaseClass * > myHandlersToBeCleanedUp
Definition: vrfObjectManipulationManager.h:397
boost::signals2::signal< void(DtVrfObjectManipulationHandlerBaseClass *)> signal_editStopped
Definition: vrfObjectManipulationManager.h:332
double myLocalWaitTimeAfterComplete
Definition: vrfObjectManipulationManager.h:395
EditableMap myEditableMap
Definition: vrfObjectManipulationManager.h:386
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
boost::signals2::signal< void(const DtString &, const DtString &)> signal_createTerrainProp
Definition: vrfObjectManipulationManager.h:216
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:218
DtVrfObjectManipulationHandlerBaseClass * myCurrentObjectManipulationHandler
Definition: vrfObjectManipulationManager.h:376