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;
127 virtual bool isCreatingProp()
const;
131 virtual bool isDestroyingProp()
const;
132 virtual void setIsDestroyingProp(
bool);
145 virtual void slot_onCreateTerrainProp(
const DtString& propType,
const DtString& propModelDef);
149 virtual void cleanup();
167 const std::string& keywords =
"");
170 virtual void setLocation(
const DtVector& loc);
173 virtual void createTerrainProp(
const DtString& propType,
const DtString& propModelDef);
187 boost::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)>
signal_createObject;
201 virtual void setAllowEditing(
bool b);
204 virtual bool allowEditing()
const;
205 virtual bool allowLocalObjectsEditing()
const;
206 virtual bool allowPublishedObjectsEditing()
const;
226 virtual void setEditStartedByDoubleClick(
bool);
229 virtual void deleteSelected();
241 virtual void addVertexBeforeSelected();
248 virtual void addVertexAfterSelected();
252 const DtVector& dbVtxLocation )
const;
268 virtual void setWaitTimeAfterComplete(
double);
269 virtual double waitTimeAfterComplete()
const;
297 virtual void sessionStatusChanged(
int);
301 virtual void slot_onTick();
303 virtual void slot_onAttributesChanged(
333 typedef boost::unordered_map<makVrv::DtUniqueID, bool>
EditableMap;
336 typedef boost::unordered_map<int, makVrv::DtElementEntry::ElementType>
KindToTypeMap;
339 typedef boost::unordered_map<makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface*>
TypeCreatorMap;