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;
81 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
99 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
125 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
164 virtual bool loadScenarioDescription(
const DtFilename& file,
const std::map<std::string, std::string>& importData,
198 virtual std::string findValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path)
const;
199 virtual std::map<std::string, std::string>
200 findStdMapValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path,
201 const std::set<std::string>& ignore = std::set<std::string>())
const;
202 virtual bool hasValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path)
const;
205 virtual std::string convertMapToString(
const std::map<std::string, std::string>&)
const;
208 virtual bool organizationUsesForce(
Msdl_UUID)
const;
218 virtual std::string pad(
int)
const;
221 virtual bool parseMilitaryScenario(xmlNodePtr,
const std::map<std::string, std::string>& importData);
224 virtual bool parseScenarioID(xmlNodePtr,
const std::map<std::string, std::string>& importData);
227 virtual bool parseOptions(xmlNodePtr,
const std::map<std::string, std::string>& importData);
230 virtual bool parseEnvironment(xmlNodePtr,
const std::map<std::string, std::string>& importData);
234 virtual bool parseForces(xmlNodePtr,
const std::map<std::string, std::string>& importData);
237 virtual bool parseForce(xmlNodePtr,
const std::map<std::string, std::string>& importData);
240 virtual bool parsePOC(xmlNodePtr);
243 virtual std::string content(xmlNodePtr)
const;
246 virtual bool parseAssociations(xmlNodePtr,
Associations&);
249 virtual bool parseAssociation(xmlNodePtr,
Associations&);
253 virtual bool parseOrganizations(xmlNodePtr,
const std::map<std::string, std::string>& importData);
258 virtual bool parseUnits(xmlNodePtr,
const std::map<std::string, std::string>& importData);
263 virtual bool parseUnit(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMsdlSimulatedElement& unit);
266 virtual bool parseEquipmentItem(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMsdlSimulatedElement& unit);
278 virtual bool parseEquipment(xmlNodePtr,
const std::map<std::string, std::string>& importData);
288 virtual bool parseOverlays(xmlNodePtr,
const std::map<std::string, std::string>& importData);
291 virtual bool parseOverlay(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMsdlOverlayLayer&);
295 virtual bool parseTacticalGraphics(xmlNodePtr,
const std::map<std::string, std::string>& importData);
302 virtual std::vector<DtVector> parseAnchorPoints(xmlNodePtr,
const std::map<std::string, std::string>& importData);
305 virtual DtVector parseAnchorPoint(xmlNodePtr,
const std::map<std::string, std::string>& importData);
308 virtual DtVector parseLocation(xmlNodePtr);
311 virtual DtVector parseLocationGCC(xmlNodePtr);
314 virtual DtVector parseLocationMGRS(xmlNodePtr);
317 virtual DtVector parseLocationUTM(xmlNodePtr);
320 virtual DtVector parseLocationGDC(xmlNodePtr);
323 virtual void convertFlatOrganizationToOrganizationHierarchy();
326 virtual std::string enumerationForUnit(
const std::string& symbolIdentifier,
const DtMsdlSimulatedElement&);
331 virtual int forceTypeFromName(
const std::string&,
int curForce,
const std::map<std::string, std::string>&)
const;
334 virtual std::string countryCodeForForce(
Msdl_UUID forceHandle)
const;
337 virtual void saveScenarioId(std::ostream&,
const DtScenario&)
const;
340 virtual void saveOptions(std::ostream&)
const;
343 virtual void saveEnvironment(std::ostream&)
const;
346 virtual void saveForceSides(std::ostream&)
const;
352 virtual void saveOverlayLayers(std::ostream&)
const;
356 virtual void saveTacticalGraphics(std::ostream&)
const;
361 virtual void saveAnchorPoint(std::ostream&,
const DtVector&,
int indent)
const;
364 virtual void saveOrganizations(std::ostream&)
const;
367 virtual void saveUnits(std::ostream&)
const;
375 virtual void saveLocation(std::ostream&,
const DtVector&,
int indent)
const;
406 virtual void saveEquipment(std::ostream&)
const;
411 virtual void finalize();
431 namespace DtBufferSerialize
433 template <
typename _Key,
typename _Value>
437 char* buf =
new char[size];
444 for (i = 0; i < size; i++)
446 encoded += (buf[i] + 1);
454 template <
typename _Key,
typename _Value>
457 int iLimit = s.size(), i;
458 char* buf =
new char[iLimit];
460 for (i = 0; i < iLimit; i++)