14 #include <boost/serialization/access.hpp>
15 #include <boost/serialization/nvp.hpp>
16 #include <boost/serialization/list.hpp>
17 #include <boost/serialization/map.hpp>
18 #include <boost/serialization/vector.hpp>
19 #include <boost/serialization/string.hpp>
21 #include <vlutil/vlFilename.h>
22 #include <vlpi/entityType.h>
52 PhaseGroundClampHighFidelity = 1,
53 PhaseGroundClampLowFidelity = 2,
54 PhaseAltitudeIsAboveTerrain = 3,
55 PhaseGroundClampGeodeticNone = 4,
58 PhaseClampWhileAltitudeChangeIsZero = 5,
59 PhasePhasedArrayRadarFaceCartesian = 6,
60 PhaseGroundClampTopographicNone = 7
79 virtual void setMovementFile(
const std::string&);
80 virtual const std::string& movementFile()
const;
84 virtual void setFileConfiguration(
const std::string&);
85 virtual const std::string& fileConfiguration()
const;
89 virtual void setCompletionRule(CompletionRule);
90 virtual CompletionRule completionRule()
const;
93 virtual void setClampType(ClampType);
94 virtual ClampType clampType()
const;
97 virtual void setEntityType(
const DtEntityType&);
98 virtual DtEntityType entityType()
const;
102 virtual bool canBePerformed(
double deltaTime)
const;
105 virtual bool canStillBePerformed(
double deltatTime)
const;
109 virtual bool loadMovementFile(
const DtFilename& rootPath,
const std::string&,
int rowsToLoad = -1);
112 virtual bool isLoaded()
const;
115 virtual double simTime(
int row)
const;
118 virtual DtVector bodyOffsetVector(
int row)
const;
122 virtual DtTaitBryan orientationOffset(
int row)
const;
125 virtual void setSimulationStartTimeOffset(
double t);
128 virtual double simulationStartTimeOffset()
const;
131 virtual void setFileConfiguration(
const DtString&);
140 friend class boost::serialization::access;
145 template<
class Archive>
146 void serialize(Archive & ar,
const unsigned int version)
148 ar & BOOST_SERIALIZATION_NVP(myMovementFile);
149 ar & BOOST_SERIALIZATION_NVP(myCompletionRule);
152 ar & BOOST_SERIALIZATION_NVP(myClampType);
156 ar & BOOST_SERIALIZATION_NVP(myFileConfiguration);
159 else if (Archive::is_loading::value)
163 ar & BOOST_SERIALIZATION_NVP(myGroundClamp);
167 myClampType = PhaseGroundClampHighFidelity;
171 ar & BOOST_SERIALIZATION_NVP(mySimulationStartTimeOffset);
172 ar & BOOST_SERIALIZATION_NVP(myEntityType);
195 typedef std::vector<DtScriptedMovementPhase>
Phases;
215 virtual void setName(
const std::string&);
216 virtual const std::string& name()
const;
226 virtual void removePhase(
int);
229 virtual const Phases& phases()
const;
236 virtual void setPhases(
const Phases&);
242 virtual bool load(
const DtFilename&);
246 virtual void setLoadedPath(
const DtFilename&);
249 virtual DtFilename loadedPath()
const;
253 virtual bool save(
const DtFilename&);
259 virtual bool hasValidPhases(
double simTimeDelta,
const std::set<int>& phasesPerformed);
262 virtual std::set<int> availablePhases(
double simTimeDelta,
const std::set<int>& phasesPerformed);
265 virtual void setFilename(
const DtFilename&);
268 virtual bool remove();
271 virtual int scriptType()
const;
274 virtual void setDescription(
const std::string&);
275 virtual const std::string& description()
const;
280 virtual void setCategories(
const std::string&);
281 virtual void setCategories(
const std::vector<std::string>&);
282 virtual std::vector<std::string> categories()
const;
283 virtual void addCategory(
const std::string&);
284 virtual void removeCategory(
const std::string&);
285 virtual const std::string& categoriesAsString()
const;
286 virtual bool hasCategory(
const std::string&)
const;
287 virtual void renameCategory(
const std::string& oldName,
const std::string& newName);
292 friend class boost::serialization::access;
297 template<
class Archive>
298 void serialize(Archive & ar,
const unsigned int version)
300 ar & BOOST_SERIALIZATION_NVP(myName);
305 ar & BOOST_SERIALIZATION_NVP(myMovementFileConfiguration);
307 myPreviousConfiguration = myMovementFileConfiguration;
310 ar & BOOST_SERIALIZATION_NVP(myPhases);
314 ar & BOOST_SERIALIZATION_NVP(myScriptType);
318 ar & BOOST_SERIALIZATION_NVP(myDescription);
319 ar & BOOST_SERIALIZATION_NVP(myCategories);
322 else if (Archive::is_loading::value)
std::vector< DtScriptedMovementPhase > Phases
Definition: scriptedMovementObject.h:195
std::string myDescription
Definition: scriptedMovementObject.h:334
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: scriptedMovementObject.h:146
CompletionRule
Definition: scriptedMovementObject.h:41
DtScriptedMovementFileConfiguration myPreviousConfiguration
Definition: scriptedMovementObject.h:335
std::string myMovementFile
Definition: scriptedMovementObject.h:176
const DtMovementFile & movementFileData() const
Returns movement file.
Definition: scriptedMovementObject.h:134
DtMovementFile myMovementFileData
Definition: scriptedMovementObject.h:181
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: scriptedMovementObject.h:298
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
Definition: scriptedMovementObject.h:44
DtScriptedMovementFileConfiguration myScriptedMovementFileConfiguration
Definition: scriptedMovementObject.h:182
This class will load in and return data from a movement file.
Definition: movementFile.h:273
Phases myPhases
Definition: scriptedMovementObject.h:331
DtFilename myFilename
Definition: scriptedMovementObject.h:332
DtMovementFile & movementFileData()
Definition: scriptedMovementObject.h:135
std::string myFileConfiguration
Definition: scriptedMovementObject.h:180
Definition: scriptedMovementObject.h:46
DtScriptedMovementObject class is a container that describes a scripted movement file and phases for ...
Definition: scriptedMovementObject.h:192
int myScriptType
Definition: scriptedMovementObject.h:329
The DtScriptedMovementObject will contain information about an object that can be used for scripted m...
Definition: scriptedMovementObject.h:38
The DtScriptedMovementObject will contain information about an object that can be used for scripted m...
Definition: movementFile.h:37
std::string myCategories
Definition: scriptedMovementObject.h:333
std::string myName
Definition: scriptedMovementObject.h:330
const int DtBallisticMissileMovementScript
Scripts type is mainly for classification in the gui.
Definition: scriptedMovementObject.h:187
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
Definition: scriptedMovementObject.h:45
ClampType myClampType
Definition: scriptedMovementObject.h:178
const int DtPrecisionMovementScript
Definition: scriptedMovementObject.h:188
ClampType
Definition: scriptedMovementObject.h:50
std::string myEntityType
Definition: scriptedMovementObject.h:179
double mySimulationStartTimeOffset
Definition: scriptedMovementObject.h:183
CompletionRule myCompletionRule
Definition: scriptedMovementObject.h:177