23 #include <matrix/vlVector.h>
24 #include <matrix/geodCoord.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,
144 DtAllPasteFlags = DtPasteNewName | DtPasteAppearance | DtPasteHeading | DtPasteEngagement | DtPastePlan | DtPasteAboveTerrain
153 virtual void read(
const std::string& buf);
156 virtual void cancel();
158 const std::string& name()
const
164 virtual std::string copyPendingMessage()
const;
167 virtual std::string pastePendingMessage()
const;
183 void setBuffer(
const std::string& b)
188 const std::string& buffer()
const
200 virtual bool preserveOffsets()
const;
223 virtual void checkCopyComplete();
227 virtual bool copyOperationsPending()
const;
230 virtual void copyComplete();
233 virtual bool cancelComplete()
const;
240 virtual void paste(
const DtVector&,
int flags = DtAllPasteFlags);
243 virtual DtGeodeticCoord center()
const;
244 virtual DtVector localCenter()
const;
245 virtual DtGeodeticCoord calculateCenter()
const;
252 virtual DtVector pasteOrigin()
const;
256 virtual void setGeometricCenter(
const DtGeodeticCoord&);
258 const DtGeodeticCoord& geometricCenter()
const;
261 virtual void createFacade();
264 virtual void setOrigin(
const DtGeodeticCoord&);
268 return myReadableStateData;
272 virtual bool updateDataBeforeCopy()
const;
273 virtual void setUpdateDataBeforeCopy(
bool);
277 virtual void readComplete(std::istringstream& str);
281 virtual void checkPasteComplete();
284 virtual bool pasteComplete()
const;
288 virtual void createObject(
const DtVector&);
291 virtual int generateRequestId();
294 virtual double groundHeight(
const DtVector& currentLocal)
const;
298 virtual void setupOffsets(
const DtGeodeticCoord&);
309 virtual DtGeodeticCoord calculateOffsetPoint(
const DtGeodeticCoord& start,
const DtGeodeticCoord& end,
310 double& altAboveTerrain,
double& altAboveSeaLevel)
const;
313 virtual DtVector localLocation(
const DtGeodeticCoord&,
int)
const;