13 #include <boost/serialization/access.hpp>
14 #include <boost/serialization/nvp.hpp>
15 #include <boost/serialization/list.hpp>
16 #include <boost/serialization/map.hpp>
17 #include <boost/serialization/vector.hpp>
18 #include <boost/serialization/string.hpp>
20 #include <vlutil/vlFilename.h>
21 #include <vlpi/entityType.h>
42 template<
class Archive>
43 void serialize(Archive & ar,
const unsigned int version)
45 ar & BOOST_SERIALIZATION_NVP(myColumnInFile);
46 ar & BOOST_SERIALIZATION_NVP(myColumnType);
47 ar & BOOST_SERIALIZATION_NVP(myColumnUnits);
107 virtual void addColumn(
const std::string& type,
const std::string& units,
int columnInFile = -1);
110 virtual void removeColumn(
int);
113 virtual const Columns& columns()
const;
114 virtual void setColumns(
const Columns&);
117 virtual void setRowStart(
int);
119 virtual int rowStart()
const;
122 virtual int timeColumn()
const;
125 virtual int altitudeColumn()
const;
126 virtual DistanceConversion altitudeUnits()
const;
129 virtual int rangeColumn()
const;
130 virtual DistanceConversion rangeUnits()
const;
133 virtual int lateralDistanceColumn()
const;
134 virtual DistanceConversion lateralDistanceUnits()
const;
137 virtual double convertTimeToSeconds(
double time)
const;
140 virtual void updateCache();
142 virtual TimeConversion mapTimeToInternalValue(
const std::string&)
const;
143 virtual DistanceConversion mapDistanceToInternalValue(
const std::string&)
const;
146 virtual double convertDistanceToMeters(
double d, DistanceConversion conv)
const;
152 virtual void fromString(
const DtString&);
161 virtual bool setColumn(
int col,
const std::string& type,
const std::string& unit,
int columnInFile = -1);
164 virtual void column(
int col,
int& columnInFile, std::string& type, std::string& unit)
const;
169 friend class boost::serialization::access;
174 template<
class Archive>
175 void serialize(Archive & ar,
const unsigned int version)
177 ar & BOOST_SERIALIZATION_NVP(myRowStart);
178 ar & BOOST_SERIALIZATION_NVP(myColumns);
180 if (Archive::is_loading::value)
192 int myCachedColumns[4][2];
213 virtual double simTime(
int)
const;
216 virtual int numRows()
const;
221 virtual DtVector bodyOffsetVector(
int row)
const;
224 virtual bool isLoaded()
const;
231 virtual int movementRow(
double)
const;
271 virtual void setMovementFile(
const std::string&);
272 virtual const std::string& movementFile()
const;
276 virtual void setCompletionRule(CompletionRule);
277 virtual CompletionRule completionRule()
const;
280 virtual void setGroundClamp(
bool);
281 virtual bool groundClamp()
const;
284 virtual void setEntityType(
const DtEntityType&);
285 virtual DtEntityType entityType()
const;
289 virtual bool canBePerformed(
double deltaTime)
const;
292 virtual bool canStillBePerformed(
double deltatTime)
const;
299 virtual bool isLoaded()
const;
302 virtual double simTime(
int row)
const;
305 virtual DtVector bodyOffsetVector(
int row)
const;
308 virtual void setSimulationStartTimeOffset(
double t);
311 virtual double simulationStartTimeOffset()
const;
316 friend class boost::serialization::access;
321 template<
class Archive>
322 void serialize(Archive & ar,
const unsigned int version)
324 ar & BOOST_SERIALIZATION_NVP(myMovementFile);
325 ar & BOOST_SERIALIZATION_NVP(myCompletionRule);
326 ar & BOOST_SERIALIZATION_NVP(myGroundClamp);
327 ar & BOOST_SERIALIZATION_NVP(mySimulationStartTimeOffset);
328 ar & BOOST_SERIALIZATION_NVP(myEntityType);
345 typedef std::vector<DtScriptedMovementPhase>
Phases;
362 virtual void setName(
const std::string&);
363 virtual const std::string& name()
const;
375 virtual void removePhase(
int);
378 virtual const Phases& phases()
const;
384 virtual void setPhases(
const Phases&);
390 virtual bool load(
const DtFilename&);
393 virtual DtFilename loadedPath()
const;
397 virtual bool save(
const DtFilename&);
403 virtual bool hasValidPhases(
double simTimeDelta,
const std::set<int>& phasesPerformed);
406 virtual std::set<int> availablePhases(
double simTimeDelta,
const std::set<int>& phasesPerformed);
409 virtual void setFilename(
const DtFilename&);
412 virtual bool remove();
417 friend class boost::serialization::access;
422 template<
class Archive>
423 void serialize(Archive & ar,
const unsigned int version)
425 ar & BOOST_SERIALIZATION_NVP(myName);
426 ar & BOOST_SERIALIZATION_NVP(myMovementFileConfiguration);
427 ar & BOOST_SERIALIZATION_NVP(myPhases);