14 #include <libxml/xmlmemory.h>
15 #include <libxml/parser.h>
16 #include <matrix/vlVector.h>
17 #include <vlpi/entityType.h>
32 #define DtImportDataSetCountryForForce "DtImportDataSetCountryForForce"
52 std::map<std::string, DtMsdlScenarioContentsItem>
myChildren;
94 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
112 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
138 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
176 virtual bool loadScenarioDescription(
const DtFilename& file,
const std::map<std::string, std::string>& importData);
179 virtual bool loadScenarioDescription(
const DtFilename& file,
const std::map<std::string, std::string>& importData,
213 virtual std::string findValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path)
const;
214 virtual std::map<std::string, std::string>
215 findStdMapValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path,
216 const std::set<std::string>& ignore = std::set<std::string>())
const;
217 virtual bool hasValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path)
const;
220 virtual std::string convertMapToString(
const std::map<std::string, std::string>&)
const;
223 virtual bool organizationUsesForce(
Msdl_UUID)
const;
232 virtual void clear();
239 virtual std::string pad(
int)
const;
242 virtual bool parseMilitaryScenario(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
245 virtual bool parseScenarioID(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
248 virtual bool parseOptions(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
251 virtual bool parseEnvironment(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
255 virtual bool parseForces(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
258 virtual bool parseForce(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
264 virtual std::string content(
xmlNodePtr)
const;
274 virtual bool parseOrganizations(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
279 virtual bool parseUnits(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
299 virtual bool parseEquipment(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
309 virtual bool parseOverlays(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
316 virtual bool parseTacticalGraphics(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
323 virtual std::vector<DtMSDLVector> parseAnchorPoints(
xmlNodePtr,
const std::map<std::string, std::string>& importData);
344 virtual void convertFlatOrganizationToOrganizationHierarchy();
347 virtual std::string enumerationForUnit(
const std::string& symbolIdentifier,
const DtMsdlSimulatedElement&);
352 virtual int forceTypeFromName(
const std::string&,
int curForce,
const std::map<std::string, std::string>&)
const;
355 virtual std::string countryCodeForForce(
Msdl_UUID forceHandle)
const;
358 virtual void saveScenarioId(std::ostream&,
const DtScenario&)
const;
361 virtual void saveAdditionalScenarioInformation(std::ostream&,
const DtScenario&)
const;
364 virtual void saveOptions(std::ostream&)
const;
367 virtual void saveEnvironment(std::ostream&)
const;
370 virtual void saveForceSides(std::ostream&)
const;
376 virtual void saveOverlayLayers(std::ostream&)
const;
380 virtual void saveTacticalGraphics(std::ostream&)
const;
385 virtual void saveAnchorPoint(std::ostream&,
const DtVector&,
int indent)
const;
388 virtual void saveOrganizations(std::ostream&)
const;
391 virtual void saveUnits(std::ostream&)
const;
399 virtual void saveLocation(std::ostream&,
const DtMSDLVector&,
int indent)
const;
430 virtual void saveEquipment(std::ostream&)
const;
435 virtual void finalize();
437 virtual int nextForceType()
const;
457 namespace DtBufferSerialize
459 template <
typename _Key,
typename _Value>
470 for (i = 0; i <
size; i++)
472 encoded += (buf[i] + 1);
480 template <
typename _Key,
typename _Value>
483 int iLimit = s.size(), i;
484 char*
buf =
new char[iLimit];
486 for (i = 0; i < iLimit; i++)