18 #include <vlutil/vlPerformanceStats.h>
20 #include <matrix/vlVector.h>
21 #include <matrix/geodCoord.h>
22 #include <vlpi/entityType.h>
24 #include <boost/signal.hpp>
67 virtual bool createObject(
const DtEntityType& entType,
int force,
71 virtual bool createObject(
const DtString& key,
const DtString& associatedData,
81 virtual void setForce(
int);
85 virtual void setAllowCreationOnMouseClick(
bool flag);
88 virtual void setLabel(
const std::string&);
89 virtual std::string label()
const;
92 virtual bool allowCreationOnMouseClick()
const;
96 virtual DtGeodeticCoord clampToGround(
const DtGeodeticCoord&)
const;
99 virtual void setAttachObjectToMouse(
bool);
102 virtual bool attachObjectToMouse()
const;
105 virtual void setHeading(
double value);
106 virtual double heading()
const;
109 virtual void setLocation(
const DtVector& loc);
110 virtual void setLocation(
const DtVector& loc,
double altAboveGround);
116 virtual void deferredStop();
119 virtual bool createVrfObject() = 0;
122 virtual bool modifyVrfObjects() = 0;
132 virtual void initializeEventProcessor();
135 virtual void setOverlay(
const std::string& name);
138 virtual std::string getNextCreatingName(
bool includeCurrent =
false);
141 virtual void setAltitudeAboveGL(
double alt,
bool setInProcessor =
true );
144 virtual void setAltitudeAboveSL(
double alt,
bool setInProcessor =
true );
148 void setCreating(
bool b)
153 bool creating()
const
161 virtual void setUserData(
const std::string& userData);
162 virtual const std::string& userData()
const;
164 virtual void slot_onComplete();
167 virtual void slot_onLocationChanged(
const DtVector& location,
double altAboveGround );
168 virtual void slot_onAltitudeIsDragging(
bool);
173 virtual void setPublishObject(
bool);
174 virtual bool publishObject()
const;
177 virtual void setObjectName(
const std::string& name);
180 virtual bool isUniqueName()
const;
185 virtual double groundHeight(
const DtVector& localPosition,
DtVector* localGround = 0 )
const;
187 virtual void setAltitudeAllowed(
bool);
188 bool altitudeAllowed()
const;
190 virtual const std::string& objectName()
const;
194 virtual void setAnchorToOrigin(
bool);
195 virtual bool anchorToOrigin()
const;
200 virtual DtVector convertGeocentricToGround(
const DtVector& geoc,
double& altitude)
const;
202 virtual void setShowPropertiesDialogBeforeCreate(
bool);
203 virtual bool showPropertiesDialogBeforeCreate()
const;
206 virtual bool keywordsContain(
const std::string&)
const;
207 virtual std::string keyword(
const std::string&)
const;
209 virtual bool waitingToStop()
const;
212 virtual void cancel();
215 virtual bool noStyle()
const;
237 boost::signal<void ( const DtEntityType&, std::string, int, const std::vector<DtVector>&, double,
bool,
bool, std::string,
bool )> signal_createObject;
275 virtual void slot_onAltitudeChanged(
const DtVector&,
double);
277 virtual void slot_onHeadingChanged(
double heading );
279 virtual void slot_onCancel();
281 virtual std::string stripNumbers(
const std::string& base)
const;
287 virtual void initializeEdit();
298 bool centerOnOnlyIfMousePositionIsOffWindow =
true)
const;
301 bool resetOrigin =
false);
304 const DtVector& thisGeocLocation,
const DtTaitBryan& thisGeocOrientation,
305 const DtVector& prGeocLocation,
const DtTaitBryan& prGeocOrientation);
309 virtual void calculateAnchor(
const DtVector& localAnchor);
312 virtual void postCreateInitialize();
314 virtual void parseKeywords(
const std::string&);
361 template <
typename T>