23 #include <matrix/vlVector.h>
24 #include <matrix/geodeticCoord.h>
28 struct DtVrlinkSimulatedBaseState;
36 struct DtVrfObjectDataState;
48 virtual void write(std::ostringstream&)
const;
49 virtual void read(std::istringstream&);
51 const std::string& value()
const
69 template <
typename Type>
84 void write(std::ostringstream& s)
const
89 void read(std::istringstream& s)
110 template <
typename Type> std::ostringstream& operator<<(std::ostringstream& s, const DtStreamNumber<Type>& num)
135 DtPasteNewName = 0x00000001,
136 DtPasteAppearance = 0x00000002,
137 DtPasteHeading = 0x00000004,
138 DtPasteEngagement = 0x00000008,
139 DtPastePlan = 0x00000010,
140 DtPasteAboveSeaLevel = 0x00000020,
141 DtPasteAboveTerrain = 0x00000040,
142 DtPasteFormation = 0x00000080,
143 DtPasteStateProperties = 0x00000100,
145 DtAllPasteFlags = DtPasteNewName | DtPasteAppearance | DtPasteHeading | DtPasteEngagement | DtPastePlan |
155 virtual void read(
const std::string& buf);
158 virtual void cancel();
160 const std::string& name()
const
166 virtual std::string copyPendingMessage()
const;
169 virtual std::string pastePendingMessage()
const;
185 void setBuffer(
const std::string& b)
190 const std::string& buffer()
const
202 virtual bool preserveOffsets()
const;
225 virtual void checkCopyComplete();
229 virtual bool copyOperationsPending()
const;
232 virtual void copyComplete();
235 virtual bool cancelComplete()
const;
242 virtual void paste(
const DtVector&,
int flags = DtAllPasteFlags);
245 virtual DtGeodeticCoord center()
const;
246 virtual DtVector localCenter()
const;
247 virtual DtGeodeticCoord calculateCenter()
const;
254 virtual DtVector pasteOrigin()
const;
258 virtual void setGeometricCenter(
const DtGeodeticCoord&);
260 const DtGeodeticCoord& geometricCenter()
const;
263 virtual void createFacade();
266 virtual void setOrigin(
const DtGeodeticCoord&);
270 return myReadableStateData;
274 virtual bool updateDataBeforeCopy()
const;
275 virtual void setUpdateDataBeforeCopy(
bool);
279 virtual void readComplete(std::istringstream& str);
283 virtual void checkPasteComplete();
286 virtual bool pasteComplete()
const;
290 virtual void createObject(
const DtVector&);
293 virtual int generateRequestId();
296 virtual double groundHeight(
const DtVector& currentLocal)
const;
300 virtual void setupOffsets(
const DtGeodeticCoord&);
311 virtual DtGeodeticCoord calculateOffsetPoint(
const DtGeodeticCoord& start,
const DtGeodeticCoord& end,
312 double& altAboveTerrain,
double& altAboveSeaLevel)
const;
315 virtual DtVector localLocation(
const DtGeodeticCoord&,
int)
const;