23 #include <boost/signal.hpp>
35 #define DtMultipleObjectEditorManipulationHandlerType DtEntityType(300, 300, 300, 300, 300, 300, 300)
39 class DtVrfObjectManipulationHandlerBaseClass;
40 class DtVrfEditManagerEventProcessor;
55 AllowLocalObjects = 0x00000001,
56 AllowPublishedObjects = 0x00000002,
57 AllowAll = AllowLocalObjects | AllowPublishedObjects
69 bool creatingObject()
const;
76 virtual void setAlwaysCreateLocal(
bool);
77 virtual bool alwaysCreateLocal()
const;
85 virtual void removeObjectManipulationHandler(
const DtEntityType&);
104 virtual bool isEditable(
const makVrv::DtUniqueID&,
const std::string& keywordsToCheck =
"noedit")
const;
111 virtual std::vector<DtVector> convertToLocal(
const std::vector<DtVector>& geocentric)
const;
114 virtual bool isEditingOrCreating()
const;
117 virtual bool isBoxObject(
const DtEntityType&,
const std::string& keywords)
const;
131 virtual bool isCreatingProp()
const;
135 virtual bool isDestroyingProp()
const;
136 virtual void setIsDestroyingProp(
bool);
152 virtual void slot_onCreateTerrainProp(
const DtString& propType,
const DtString& propModelDef);
156 virtual void cleanup();
167 virtual void mapEntityTypeToVertexEditingType(
const DtEntityType& from,
const DtEntityType& to);
168 virtual DtEntityType mapToVertexEditingType(
const DtEntityType& from)
const;
169 virtual void removeToVertexEditingType(
const DtEntityType& from);
180 const std::string& keywords =
"");
183 virtual void setLocation(
const DtVector& loc);
186 virtual void createTerrainProp(
const DtString& propType,
const DtString& propModelDef);
206 boost::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)>
signal_createObject;
223 virtual void setAllowEditing(
bool b);
226 virtual bool allowEditing()
const;
227 virtual bool allowLocalObjectsEditing()
const;
228 virtual bool allowPublishedObjectsEditing()
const;
250 virtual void setEditStartedByDoubleClick(
bool);
253 virtual void deleteSelected();
265 virtual void addVertexBeforeSelected();
272 virtual void addVertexAfterSelected();
276 const DtVector& dbVtxLocation )
const;
289 ProcessEnvStateFunction* processor );
292 virtual void setWaitTimeAfterComplete(
double);
293 virtual double waitTimeAfterComplete()
const;
296 virtual void setLocalWaitTimeAfterComplete(
double);
297 virtual double localWaitTimeAfterComplete()
const;
328 virtual void sessionStatusChanged(
int);
332 virtual void slot_onTick();
334 virtual void slot_onAttributesChanged(
368 typedef boost::unordered_map<makVrv::DtUniqueID, bool>
EditableMap;
371 typedef boost::unordered_map<int, makVrv::DtElementEntry::ElementType>
KindToTypeMap;
374 typedef boost::unordered_map<makVrv::DtElementEntry::ElementType, DtVrfObjectManipulationHandlerCreatorInterface*>
TypeCreatorMap;