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>
30 class DtSimObjectEntry;
68 virtual bool createObject(
const DtEntityType& entType,
int force,
72 virtual bool createObject(
const DtString& key,
const DtString& associatedData,
82 virtual void setForce(
int);
86 virtual void setAllowCreationOnMouseClick(
bool flag);
89 virtual void setLabel(
const std::string&);
90 virtual std::string label()
const;
93 virtual bool allowCreationOnMouseClick()
const;
97 virtual DtGeodeticCoord clampToGround(
const DtGeodeticCoord&)
const;
100 virtual void setAttachObjectToMouse(
bool);
103 virtual bool attachObjectToMouse()
const;
106 virtual void setHeading(
double value);
107 virtual double heading()
const;
110 virtual void setLocation(
const DtVector& loc);
111 virtual void setLocation(
const DtVector& loc,
double altAboveGround);
117 virtual void deferredStop();
120 virtual bool createVrfObject() = 0;
123 virtual bool modifyVrfObjects() = 0;
133 virtual void initializeEventProcessor();
136 virtual void setOverlay(
const std::string& name);
139 virtual std::string getNextCreatingName(
bool includeCurrent =
false);
142 virtual void setAltitudeAboveGL(
double alt,
bool setInProcessor =
true );
145 virtual void setAltitudeAboveSL(
double alt,
bool setInProcessor =
true );
149 void setCreating(
bool b)
154 bool creating()
const
162 virtual void setUserData(
const std::string& userData);
163 virtual const std::string& userData()
const;
165 virtual void slot_onComplete();
168 virtual void slot_onLocationChanged(
const DtVector& location,
double altAboveGround );
169 virtual void slot_onAltitudeIsDragging(
bool);
174 virtual void setPublishObject(
bool);
175 virtual bool publishObject()
const;
178 virtual void setObjectName(
const std::string& name);
181 virtual bool isUniqueName()
const;
186 virtual double groundHeight(
const DtVector& localPosition,
DtVector* localGround = 0 )
const;
188 virtual void setAltitudeAllowed(
bool);
189 bool altitudeAllowed()
const;
191 virtual const std::string& objectName()
const;
195 virtual void setAnchorMouseToOrigin(
bool);
196 virtual bool anchorMouseToOrigin()
const;
199 virtual void setAnchorPositionIsMouse(
bool);
200 virtual bool anchorPositionIsMouse()
const;
205 virtual DtVector convertGeocentricToGround(
const DtVector& geoc,
double& altitude)
const;
207 virtual void setShowPropertiesDialogBeforeCreate(
bool);
208 virtual bool showPropertiesDialogBeforeCreate()
const;
211 virtual bool keywordsContain(
const std::string&)
const;
212 virtual std::string keyword(
const std::string&)
const;
214 virtual bool waitingToStop()
const;
217 virtual void cancel();
220 virtual bool noStyle()
const;
242 boost::signal<void ( const DtEntityType&, std::string, int, const std::vector<DtVector>&, double,
bool,
bool, std::string,
bool )> signal_createObject;
282 virtual void slot_onAltitudeChanged(
const DtVector&,
double);
284 virtual void slot_onHeadingChanged(
double heading );
286 virtual void slot_onCancel();
288 virtual std::string stripNumbers(
const std::string& base)
const;
294 virtual void initializeEdit();
305 bool centerOnOnlyIfMousePositionIsOffWindow =
true)
const;
308 bool resetOrigin =
false);
311 const DtVector& thisGeocLocation,
const DtTaitBryan& thisGeocOrientation,
312 const DtVector& prGeocLocation,
const DtTaitBryan& prGeocOrientation);
316 virtual void calculateAnchor(
const DtVector& localAnchor);
319 virtual void postCreateInitialize();
321 virtual void parseKeywords(
const std::string&);
369 template <
typename T>