21 #include <boost/signals.hpp>
22 #include <boost/unordered_map.hpp>
23 #include <matrix/vlVector.h>
30 class DtCoordinateSystem;
31 class DtDisplayUnitsConverter;
32 class DtBasicEditingEventProcessor;
33 class DtElementDefinitionManager;
34 class DtIntervisibilityElement;
35 class DtIntervisibilityStateListener;
36 class DtIntervisibilityStateListenerCreator;
46 typedef boost::unordered_map<DtElementID, DtIntervisibilityElement*>
48 typedef boost::unordered_map<DtElementID, DtIntervisibilityStateListener*>
62 virtual bool autoStart()
const;
70 const DtVector& startPoint,
const DtVector& endPoint);
76 virtual void createIntervisibilityLine(
81 const DtUnicode& intervisibilityLine()
const;
86 const DtVector& startPoint,
const DtVector& endPoint);
93 virtual void createIntervisibilityFan(
98 const DtUnicode& intervisibilityFan()
const;
103 const DtVector& startPoint,
const DtVector& endPoint);
110 virtual void createIntervisibilityEntityFan(
115 const DtUnicode& intervisibilityEntityFan()
const;
119 void addListenerCreator(
const std::string&,
123 virtual void cancelChanges();
130 virtual void destroyAll();
136 virtual void setAllowCreating(
bool);
144 virtual void setAllowEditing(
bool);
148 const DtVector& startPoint,
const DtVector& endPoint);
150 virtual void intervisibilityObjectsShown(
bool show );
156 const std::string& className()
const
162 static std::string theInstanceName();
184 const std::string& definition)
const;
195 virtual void create(
const DtUnicode& elementDefinitionName,
196 const AttachPoints& = AttachPoints());
199 virtual bool onTick();
204 virtual bool onStart();
209 virtual bool onStop();
212 virtual void completeSetup();
215 virtual void slot_onCurrentSelectionChanged(
223 virtual void connectProcessorSignals();
227 virtual void slot_locationChanged(DtVector,
double altAboveGround);
230 virtual void slot_altitudeChanged(DtVector,
double);
233 virtual void slot_altitudeIsDragging(
bool);
237 virtual void slot_place(
DtUniqueID, DtVector,
double altAboveGround);
240 virtual void finishEditing();
251 virtual void modifyEditingObjects(
const DtVector& pos,
double altAboveGround);
255 virtual void resetSelectionForEditableObjects();
258 virtual DtVector clamp(
const DtVector&,
double altAboveGround)
const;
295 virtual void registerInstance(
const std::string& instanceName,
DtVirtualBaseClass* instance );
335 typedef boost::unordered_map<DtElementID, OriginalInformation>
Editing;
336 typedef std::map<std::string, DtIntervisibilityStateListenerCreator*>
380 virtual const std::string& extension()
const;