23 #include <boost/signal.hpp>
35 #define DtMultipleObjectEditorManipulationHandlerType DtEntityType(300, 300, 300, 300, 300, 300, 300)
39 class DtVrfObjectManipulationHandlerBaseClass;
40 class DtVrfEditManagerEventProcessor;
54 AllowLocalObjects = 0x00000001,
55 AllowPublishedObjects = 0x00000002,
56 AllowAll = AllowLocalObjects | AllowPublishedObjects
68 bool creatingObject()
const;
75 virtual void setAlwaysCreateLocal(
bool);
76 virtual bool alwaysCreateLocal()
const;
84 virtual void removeObjectManipulationHandler(
const DtEntityType&);
107 virtual std::vector<DtVector> convertToLocal(
const std::vector<DtVector>& geocentric)
const;
110 virtual bool isEditingOrCreating()
const;
113 virtual bool isBoxObject(
const DtEntityType&,
const std::string& keywords)
const;
131 virtual void slot_onCreateTerrainProp(
const DtString& propType,
const DtString& propModelDef);
141 virtual void cleanup();
159 const std::string& keywords =
"");
162 virtual void setLocation(
const DtVector& loc);
165 virtual void createTerrainProp(
const DtString& propType,
const DtString& propModelDef);
179 boost::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)>
signal_createObject;
193 virtual void setAllowEditing(
bool b);
196 virtual bool allowEditing()
const;
197 virtual bool allowLocalObjectsEditing()
const;
198 virtual bool allowPublishedObjectsEditing()
const;
216 virtual void deleteSelected();
228 virtual void addVertexBeforeSelected();
235 virtual void addVertexAfterSelected();
239 const DtVector& dbVtxLocation )
const;
255 virtual void setWaitTimeAfterComplete(
double);
256 virtual double waitTimeAfterComplete()
const;
280 virtual void sessionStatusChanged(
int);
284 virtual void slot_onTick();
286 virtual void slot_onAttributesChanged(
315 typedef boost::unordered_map<makVrv::DtUniqueID, bool>
EditableMap;
318 typedef boost::unordered_map<int, makVrv::DtElementEntry::ElementType>
KindToTypeMap;
321 typedef boost::unordered_map<makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface*>
TypeCreatorMap;