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;
97 std::map<std::string, DtMSDLScenarioContentsItem>
myContents;
117 std::map<std::string, DtMSDLScenarioContentsItem>
myContents;
156 virtual bool loadScenarioDescription(
const DtFilename& file,
const std::map<std::string, std::string>& importData,
190 virtual std::string findValue(
const std::map<std::string, DtMSDLScenarioContentsItem>&,
const std::string& path)
const;
191 virtual bool hasValue(
const std::map<std::string, DtMSDLScenarioContentsItem>&,
const std::string& path)
const;
194 virtual bool organizationUsesForce(
MSDL_UUID)
const;
204 virtual std::string pad(
int)
const;
207 virtual bool parseMilitaryScenario(xmlNodePtr,
const std::map<std::string, std::string>& importData);
210 virtual bool parseScenarioID(xmlNodePtr,
const std::map<std::string, std::string>& importData);
213 virtual bool parseOptions(xmlNodePtr,
const std::map<std::string, std::string>& importData);
216 virtual bool parseEnvironment(xmlNodePtr,
const std::map<std::string, std::string>& importData);
220 virtual bool parseForces(xmlNodePtr,
const std::map<std::string, std::string>& importData);
223 virtual bool parseForce(xmlNodePtr,
const std::map<std::string, std::string>& importData);
226 virtual bool parsePOC(xmlNodePtr);
229 virtual std::string content(xmlNodePtr)
const;
232 virtual bool parseAssociations(xmlNodePtr,
Associations&);
235 virtual bool parseAssociation(xmlNodePtr,
Associations&);
239 virtual bool parseOrganizations(xmlNodePtr,
const std::map<std::string, std::string>& importData);
244 virtual bool parseUnits(xmlNodePtr,
const std::map<std::string, std::string>& importData);
249 virtual bool parseUnit(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMSDLSimulatedElement& unit);
252 virtual bool parseEquipmentItem(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMSDLSimulatedElement& unit);
264 virtual bool parseEquipment(xmlNodePtr,
const std::map<std::string, std::string>& importData);
274 virtual bool parseOverlays(xmlNodePtr,
const std::map<std::string, std::string>& importData);
277 virtual bool parseOverlay(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMSDLOverlayLayer&);
281 virtual bool parseTacticalGraphics(xmlNodePtr,
const std::map<std::string, std::string>& importData);
288 virtual std::vector<DtVector> parseAnchorPoints(xmlNodePtr,
const std::map<std::string, std::string>& importData);
291 virtual DtVector parseAnchorPoint(xmlNodePtr,
const std::map<std::string, std::string>& importData);
294 virtual DtVector parseLocation(xmlNodePtr);
297 virtual DtVector parseLocationGCC(xmlNodePtr);
300 virtual DtVector parseLocationMGRS(xmlNodePtr);
303 virtual DtVector parseLocationUTM(xmlNodePtr);
306 virtual DtVector parseLocationGDC(xmlNodePtr);
309 virtual void convertFlatOrganizationToOrganizationHierarchy();
312 virtual std::string enumerationForUnit(
const std::string& symbolIdentifier,
const DtMSDLSimulatedElement&);
317 virtual int forceTypeFromName(
const std::string&,
int curForce,
const std::map<std::string, std::string>&)
const;
320 virtual std::string countryCodeForForce(
MSDL_UUID forceHandle)
const;
323 virtual void saveScenarioId(std::ostream&,
const DtScenario&)
const;
326 virtual void saveOptions(std::ostream&)
const;
329 virtual void saveEnvironment(std::ostream&)
const;
332 virtual void saveForceSides(std::ostream&)
const;
338 virtual void saveOverlayLayers(std::ostream&)
const;
342 virtual void saveTacticalGraphics(std::ostream&)
const;
347 virtual void saveAnchorPoint(std::ostream&,
const DtVector&,
int indent)
const;
350 virtual void saveOrganizations(std::ostream&)
const;
353 virtual void saveUnits(std::ostream&)
const;
361 virtual void saveLocation(std::ostream&,
const DtVector&,
int indent)
const;
392 virtual void saveEquipment(std::ostream&)
const;
397 virtual void finalize();
417 namespace DtBufferSerialize
419 template <
typename _Key,
typename _Value>
423 char* buf =
new char[size];
430 for (i = 0; i < size; i++)
432 encoded += (buf[i] + 1);
440 template <
typename _Key,
typename _Value>
443 int iLimit = s.size(), i;
444 char* buf =
new char[iLimit];
446 for (i = 0; i < iLimit; i++)