VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
DtVrfMsdlScenarioDescriptionImporterExporter Class Reference

This class will import the msdl scenario into the VR-Forces scenario. More...

Inheritance diagram for DtVrfMsdlScenarioDescriptionImporterExporter:
Inheritance graph
[legend]

Public Member Functions

 DtVrfMsdlScenarioDescriptionImporterExporter ()
 CTOR.
virtual ~DtVrfMsdlScenarioDescriptionImporterExporter ()
 DTOR.
virtual
DtScenarioDescriptionImporterExporter
clone ()
 Returns a new copy.
virtual bool importIntoSimulation (DtSimManager *)
 Imports into the simulation.
virtual bool importFromSimulation (DtSimManager *, const std::map< std::string, std::string > &exportData, const DtMsdlHierarchyPropertyMappings &)
 Imports from the simulation into internal structures.
- Public Member Functions inherited from DtMsdlScenarioDescriptionImporterExporter
 DtMsdlScenarioDescriptionImporterExporter ()
 CTOR.
virtual ~DtMsdlScenarioDescriptionImporterExporter ()
 DTOR.
virtual bool loadScenarioDescription (const DtFilename &file, const std::map< std::string, std::string > &importData)
virtual bool loadScenarioDescription (const DtFilename &file, const std::map< std::string, std::string > &importData, const DtMsdlHierarchyPropertyMappings &)
 Loads the scenario description from the specified file into internal structures.
virtual bool saveScenarioDescription (const DtFilename &file, const DtScenario &) const
 Saves the scenario description information to the specified file.
virtual const EquipmentPtrequipment () const
 Returns all the equipment loaded.
virtual const OrganizationPtrorganizedOrganization () const
 Returns map to organized organization.
virtual const OrganizationPtrflatOrganization () const
 Returns map to flat hierarchy.
virtual const OverlayLayeroverlayLayers () const
 Returns map to overlay layers.
virtual const ForceSidesforces () const
 Returns map to forces.
virtual std::string findValue (const std::map< std::string, DtMsdlScenarioContentsItem > &, const std::string &path) const
 Given a '/' path pattern, find the data in the contents dictionary.
virtual std::map< std::string,
std::string > 
findStdMapValue (const std::map< std::string, DtMsdlScenarioContentsItem > &, const std::string &path, const std::set< std::string > &ignore=std::set< std::string >()) const
virtual bool hasValue (const std::map< std::string, DtMsdlScenarioContentsItem > &, const std::string &path) const
virtual std::string convertMapToString (const std::map< std::string, std::string > &) const
 Converts a std::map to a single string identifier that can be used in findStdMapValue.
virtual bool organizationUsesForce (Msdl_UUID) const
 Returns true if an organiation (unit) is part of the given force handle.
virtual std::string supportedExtensions ()
 Returns a space delimeted list of the extensions supported (i.e. "xml" or "csv txt")
virtual bool canImportFile (const DtFilename &)
 Returns true if the supplied file can be loaded by this importer.
virtual void clear ()
 Clears internal structures.
virtual DtObjectParserparser ()
 Returns null, msdl has imbedded its parser into the importer/exporter.
- Public Member Functions inherited from DtScenarioDescriptionImporterExporter
 DtScenarioDescriptionImporterExporter ()
 CTOR Derived classes will need to create a parser.
virtual ~DtScenarioDescriptionImporterExporter ()
 DTOR.
const DtScenarioscenario () const
const std::string & error () const
virtual void setDesiredForce (int force)

Protected Member Functions

virtual bool exportableObject (const DtEntityType &t) const
 Returns true if object is exportable.
virtual bool importEntities (DtSimManager *)
 Imports all entities and creates aggregate hierarchy structures.
virtual bool importTacticalGraphics (DtSimManager *)
 Imports all tactical graphics and assigns them to overlay layers.
virtual bool importHostilityMatrix (DtSimManager *)
 Modifies existing hostility matrix with force information found in Msdl file.
virtual bool prepareOrganizationCreationOrder (DtSimManager *, DtMsdlSimulatedElement *)
 Creates the entire organization represented by the supplied node.
virtual DtString deconflictName (DtSimManager *, const DtString &, int kind)
 Deconflicts duplicate names if they appear in the object manager. Will simply prepend a <n>_ to the name.
virtual bool createTacticalGraphicOnLayer (DtSimManager *mgr, DtMsdlSimulatedTacticalGraphic &, const DtMsdlOverlayLayer &)
 Creates the tactical graphic on the specified layer.
virtual bool complete () const
 Returns true if myOrganizationCreationOrder is 0 length.
virtual void processCreateObjects ()
virtual void createEntity (DtMsdlSimulatedElement *)
 Creates an entity from the element.
virtual void exportHostilityManager (DtSimManager *, const std::map< std::string, std::string > &exportData)
 Exports hostility manager into myForces member.
virtual void exportOrganization (DtSimManager *, const std::map< std::string, std::string > &exportData, const DtMsdlHierarchyPropertyMappings &)
 Exports units and equipment from the org manager.
virtual void exportTacticalGraphics (DtSimManager *, const std::map< std::string, std::string > &exportData, const DtMsdlHierarchyPropertyMappings &)
 Exports tactical graphics and overlay layers from the object manager.
virtual void exportTacticalGraphic (const DtVrfObject *, DtSimManager *, const std::map< std::string, std::string > &exportData, const DtMsdlHierarchyPropertyMappings &)
virtual void exportUnit (DtVrfObject *obj, const std::map< std::string, std::string > &exportData, const DtMsdlHierarchyPropertyMappings &)
 Creates the data to be able to write out the supplied unit.
virtual void exportEquipmentItem (DtVrfObject *obj, const std::map< std::string, std::string > &exportData, const DtMsdlHierarchyPropertyMappings &)
 Creates the data to be able to write out the supplied equipment item.
virtual Msdl_UUID generateUUID () const
 Generates a Msdl style UUID.
virtual DtVector correctedAltitudeLocation (const DtMSDLVector &, bool &amClampedToGround)
 If the altitude is AGL, then clamp and assign altitude above terrain.
- Protected Member Functions inherited from DtMsdlScenarioDescriptionImporterExporter
virtual std::string pad (int) const
 Returns a string that contains the number of spaces.
virtual bool parseMilitaryScenario (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses the miliary scenario.
virtual bool parseScenarioID (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses the scenario ID section.
virtual bool parseOptions (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses the Options section. Currently unimplemented.
virtual bool parseEnvironment (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses the Environment section. Currently unimplemented.
virtual bool parseForces (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses the ForcesSides section.
virtual bool parseForce (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses the ForceSide section. Will add to the supplied map the new force and id.
virtual bool parsePOC (xmlNodePtr)
 Simply parses the point of contact information and adds it as scenario extra daata.
virtual std::string content (xmlNodePtr) const
 Returns the content of the particular node.
virtual bool parseAssociations (xmlNodePtr, Associations &)
 Parses all associations and fills in the supplied association map.
virtual bool parseAssociation (xmlNodePtr, Associations &)
 Parses a single association and adds it to the map.
virtual bool parseOrganizations (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses organization structure and places results in the myOrganization member.
virtual bool parseUnits (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses units structure and places results in the myOrganization member.
virtual bool parseUnit (xmlNodePtr, const std::map< std::string, std::string > &importData, DtMsdlSimulatedElement &unit)
 Parses unit structure and places results in the myOrganization member.
virtual bool parseEquipmentItem (xmlNodePtr, const std::map< std::string, std::string > &importData, DtMsdlSimulatedElement &unit)
 Parses the equipment item for relevant information.
virtual void addUnitToFlatOrganization (const DtMsdlSimulatedElement &)
 Places the newly created unit into the flat organization structure.
virtual void addEquipmentToOrganization (const DtMsdlSimulatedElement &)
 Finds the correct superior and adds the equipment to that item. Also adds to the myEquipment member.
virtual bool parseEquipment (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses equipment structure and places results in the myOrganization member.
virtual bool parseContents (xmlNodePtr, DtMsdlScenarioContentsItem &)
 Will simply read the contents of the node pointer into the key/value pair.
virtual bool parseDisposition (xmlNodePtr, DtMsdlSimulatedElement &)
 Parses out the location, speed and heading all other items will be placed into the contents member.
virtual bool parseOverlays (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses out all the overlays and adds them to the overlay layers member.
virtual bool parseOverlay (xmlNodePtr, const std::map< std::string, std::string > &importData, DtMsdlOverlayLayer &)
 Parses a single overlay and fills out the supplied structure.
virtual bool parseTacticalGraphics (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Parses out all the tactical graphics and adds them to the overlay in question.
virtual bool parseTacticalGraphic (xmlNodePtr, const std::map< std::string, std::string > &importData, DtMsdlSimulatedTacticalGraphic &)
 Parses out all the tactical graphics and adds them to the overlay in question.
virtual std::vector< DtMSDLVectorparseAnchorPoints (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Returns a vector of geocentric locations.
virtual DtMSDLVector parseAnchorPoint (xmlNodePtr, const std::map< std::string, std::string > &importData)
 Returns a vector for the location point.
virtual DtMSDLVector parseLocation (xmlNodePtr)
 Parses out the location and returns a geocentric vector.
virtual DtMSDLVector parseLocationGCC (xmlNodePtr)
 Parses geocentric.
virtual DtMSDLVector parseLocationMGRS (xmlNodePtr)
 Parses MGRS.
virtual DtMSDLVector parseLocationUTM (xmlNodePtr)
 Parses UTM.
virtual DtMSDLVector parseLocationGDC (xmlNodePtr)
 Parses geodetic degree.
virtual void convertFlatOrganizationToOrganizationHierarchy ()
 Converts the flat hierarchy to an organization hierarchy of units.
virtual std::string enumerationForUnit (const std::string &symbolIdentifier, const DtMsdlSimulatedElement &)
 Sets the unit enumeration based on symbol identifier and subordinate.
virtual int forceTypeFromName (const std::string &, int curForce, const std::map< std::string, std::string > &) const
 Attempts to rework the force type from the name, given a few keywords (BLU, OP, NEU).
virtual std::string countryCodeForForce (Msdl_UUID forceHandle) const
 Returns the country code for the force (two character) or blank if no country code. Supply the force handle.
virtual void saveScenarioId (std::ostream &, const DtScenario &) const
 Saves out scenario id information.
virtual void saveAdditionalScenarioInformation (std::ostream &, const DtScenario &) const
 Saves out any additional (VRF specific) scenario information. Default is no-op.
virtual void saveOptions (std::ostream &) const
 Saves out Msdl options.
virtual void saveEnvironment (std::ostream &) const
 Saves out Msdl environment.
virtual void saveForceSides (std::ostream &) const
 Saves out force side (myForces) information.
virtual void saveForceSide (std::ostream &, const Msdl_UUID &, const DtForceSide &) const
 Saves out a force side structure.
virtual void saveOverlayLayers (std::ostream &) const
 Saves out overlay layers.
virtual void saveOverlayLayer (std::ostream &, const DtMsdlOverlayLayer &) const
virtual void saveTacticalGraphics (std::ostream &) const
 Saves out tactical graphics.
virtual void saveTacticalGraphic (std::ostream &, const DtMsdlSimulatedTacticalGraphic &) const
virtual void saveAnchorPoints (std::ostream &, const DtMsdlSimulatedTacticalGraphic &, int indent) const
 Saves out tactical graphic locations. Geocentric only.
virtual void saveAnchorPoint (std::ostream &, const DtVector &, int indent) const
virtual void saveOrganizations (std::ostream &) const
 Saves out unit and equipment information.
virtual void saveUnits (std::ostream &) const
 Saves out units (aggregates)
virtual void saveUnit (std::ostream &, DtMsdlSimulatedElement *) const
virtual void saveDisposition (std::ostream &, DtMsdlSimulatedElement *, int indent) const
 Location, speed, direction of movement.
virtual void saveLocation (std::ostream &, DtMsdlSimulatedElement *, int indent) const
 Currently will only save out geocentric (GCC)
virtual void saveLocation (std::ostream &, const DtMSDLVector &, int indent) const
virtual void saveUnitRelations (std::ostream &, DtMsdlSimulatedElement *) const
 Saves out relation (force) information for units.
virtual void saveEquipmentRelations (std::ostream &, DtMsdlSimulatedElement *) const
 Saves out relation (force) information for equipment.
virtual void saveUnitModel (std::ostream &, DtMsdlSimulatedElement *) const
 Saves out model information (resolution and aggregate state) for a unit.
virtual void saveEquipmentModel (std::ostream &, DtMsdlSimulatedElement *) const
 Saves out model information for equipment. Currently only saves "ENHANCED" resolution.
virtual void saveOneSAFIdentifiers (std::ostream &, const std::string &type, DtMsdlSimulatedElement *, int indent) const
 Saves out DIS Enumerations, military hierarchy code, etc.
virtual void saveEquipment (std::ostream &) const
virtual void saveEquipmentItem (std::ostream &, DtMsdlSimulatedElement *) const
virtual void finalize ()
 Finalizes structures.
virtual int nextForceType () const
virtual void saveUnitSymbolModifiers (std::ostream &, DtMsdlSimulatedElement *) const
virtual void saveFormationPosition (std::ostream &, DtMsdlSimulatedElement *, int indent) const
virtual void saveOwnFormation (std::ostream &, DtMsdlSimulatedElement *, int indent) const
virtual void saveEquipmentSymbolModifiers (std::ostream &, DtMsdlSimulatedElement *) const
virtual void saveOneSAFBasicLoadInformation (std::ostream &, DtMsdlSimulatedElement *) const
virtual void saveSymbolClassData (std::ostream &, const DtMsdlSimulatedTacticalGraphic &) const

Static Protected Member Functions

static void createObjectsCallback (void *)
 Creates entities.

Protected Attributes

std::vector
< DtMsdlSimulatedElement * > 
myOrganizationCreationOrder
 Keeps track of the order in which to create the items in the hierarchy.
DtSimManagermySimManager
std::map< int, Msdl_UUIDmyForceMap
std::map< DtUUID, Msdl_UUIDmyObjectIdToUUIDMap
std::map< DtString, Msdl_UUIDmyOverlayNameToUUIDMap
- Protected Attributes inherited from DtMsdlScenarioDescriptionImporterExporter
xmlDocPtr myDoc
ForceSides myForces
OrganizationPtr myOrganizedOrganization
OrganizationPtr myFlatOrganization
EquipmentPtr myEquipment
OverlayLayer myOverlayLayers
OrganizationPtr myPendingMatches
 Matches, that during reading, have not been made for units as of yet.
DtMsdlHierarchyPropertyMappings myHierarchyPropertyMappings
DtExtent myAreaOfInterest
 Corners must be in geocentric.
- Protected Attributes inherited from DtScenarioDescriptionImporterExporter
DtScenario myScenario
std::string myError
DtObjectParsermyParser
DtForceType myDesiredForce

Additional Inherited Members

- Public Types inherited from DtMsdlScenarioDescriptionImporterExporter
typedef std::map< Msdl_UUID,
DtForceSide
ForceSides
typedef std::map< Msdl_UUID,
DtMsdlSimulatedElement * > 
OrganizationPtr
typedef std::map< Msdl_UUID,
DtMsdlSimulatedElement * > 
EquipmentPtr
typedef std::map< Msdl_UUID,
DtMsdlOverlayLayer
OverlayLayer

Detailed Description

This class will import the msdl scenario into the VR-Forces scenario.

Constructor & Destructor Documentation

DtVrfMsdlScenarioDescriptionImporterExporter::DtVrfMsdlScenarioDescriptionImporterExporter ( )

CTOR.

virtual DtVrfMsdlScenarioDescriptionImporterExporter::~DtVrfMsdlScenarioDescriptionImporterExporter ( )
virtual

DTOR.

Member Function Documentation

virtual DtScenarioDescriptionImporterExporter* DtVrfMsdlScenarioDescriptionImporterExporter::clone ( )
virtual

Returns a new copy.

Reimplemented from DtMsdlScenarioDescriptionImporterExporter.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::importIntoSimulation ( DtSimManager )
virtual

Imports into the simulation.

DtSimManager is not defined at this level, so subclasses at vrfobjcore level must implement

Reimplemented from DtMsdlScenarioDescriptionImporterExporter.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::importFromSimulation ( DtSimManager ,
const std::map< std::string, std::string > &  exportData,
const DtMsdlHierarchyPropertyMappings  
)
virtual

Imports from the simulation into internal structures.

Reimplemented from DtMsdlScenarioDescriptionImporterExporter.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::exportableObject ( const DtEntityType &  t) const
protectedvirtual

Returns true if object is exportable.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::importEntities ( DtSimManager )
protectedvirtual

Imports all entities and creates aggregate hierarchy structures.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::importTacticalGraphics ( DtSimManager )
protectedvirtual

Imports all tactical graphics and assigns them to overlay layers.

Note that any empty overlay layers will not appear in the simulation

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::importHostilityMatrix ( DtSimManager )
protectedvirtual

Modifies existing hostility matrix with force information found in Msdl file.

Any forces (matched by name) that do not exist will be added, and, assumed neutral to any force that is not mentioned in the Msdl file

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::prepareOrganizationCreationOrder ( DtSimManager ,
DtMsdlSimulatedElement  
)
protectedvirtual

Creates the entire organization represented by the supplied node.

virtual DtString DtVrfMsdlScenarioDescriptionImporterExporter::deconflictName ( DtSimManager ,
const DtString ,
int  kind 
)
protectedvirtual

Deconflicts duplicate names if they appear in the object manager. Will simply prepend a <n>_ to the name.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::createTacticalGraphicOnLayer ( DtSimManager mgr,
DtMsdlSimulatedTacticalGraphic ,
const DtMsdlOverlayLayer  
)
protectedvirtual

Creates the tactical graphic on the specified layer.

virtual bool DtVrfMsdlScenarioDescriptionImporterExporter::complete ( ) const
protectedvirtual

Returns true if myOrganizationCreationOrder is 0 length.

Reimplemented from DtScenarioDescriptionImporterExporter.

static void DtVrfMsdlScenarioDescriptionImporterExporter::createObjectsCallback ( void *  )
staticprotected

Creates entities.

virtual void DtVrfMsdlScenarioDescriptionImporterExporter::processCreateObjects ( )
protectedvirtual
virtual void DtVrfMsdlScenarioDescriptionImporterExporter::createEntity ( DtMsdlSimulatedElement )
protectedvirtual

Creates an entity from the element.

virtual void DtVrfMsdlScenarioDescriptionImporterExporter::exportHostilityManager ( DtSimManager ,
const std::map< std::string, std::string > &  exportData 
)
protectedvirtual

Exports hostility manager into myForces member.

Saves out force name and hostility matrix information

virtual void DtVrfMsdlScenarioDescriptionImporterExporter::exportOrganization ( DtSimManager ,
const std::map< std::string, std::string > &  exportData,
const DtMsdlHierarchyPropertyMappings  
)
protectedvirtual

Exports units and equipment from the org manager.

virtual void DtVrfMsdlScenarioDescriptionImporterExporter::exportTacticalGraphics ( DtSimManager ,
const std::map< std::string, std::string > &  exportData,
const DtMsdlHierarchyPropertyMappings  
)
protectedvirtual

Exports tactical graphics and overlay layers from the object manager.

virtual void DtVrfMsdlScenarioDescriptionImporterExporter::exportTacticalGraphic ( const DtVrfObject ,
DtSimManager ,
const std::map< std::string, std::string > &  exportData,
const DtMsdlHierarchyPropertyMappings  
)
protectedvirtual
virtual void DtVrfMsdlScenarioDescriptionImporterExporter::exportUnit ( DtVrfObject obj,
const std::map< std::string, std::string > &  exportData,
const DtMsdlHierarchyPropertyMappings  
)
protectedvirtual

Creates the data to be able to write out the supplied unit.

virtual void DtVrfMsdlScenarioDescriptionImporterExporter::exportEquipmentItem ( DtVrfObject obj,
const std::map< std::string, std::string > &  exportData,
const DtMsdlHierarchyPropertyMappings  
)
protectedvirtual

Creates the data to be able to write out the supplied equipment item.

virtual Msdl_UUID DtVrfMsdlScenarioDescriptionImporterExporter::generateUUID ( ) const
protectedvirtual

Generates a Msdl style UUID.

virtual DtVector DtVrfMsdlScenarioDescriptionImporterExporter::correctedAltitudeLocation ( const DtMSDLVector ,
bool amClampedToGround 
)
protectedvirtual

If the altitude is AGL, then clamp and assign altitude above terrain.

Member Data Documentation

std::vector<DtMsdlSimulatedElement*> DtVrfMsdlScenarioDescriptionImporterExporter::myOrganizationCreationOrder
protected

Keeps track of the order in which to create the items in the hierarchy.

This list will be used to break up creation of objects as to not flood the network during large creations

DtSimManager* DtVrfMsdlScenarioDescriptionImporterExporter::mySimManager
protected
std::map<int, Msdl_UUID> DtVrfMsdlScenarioDescriptionImporterExporter::myForceMap
protected
std::map<DtUUID, Msdl_UUID> DtVrfMsdlScenarioDescriptionImporterExporter::myObjectIdToUUIDMap
protected
std::map<DtString, Msdl_UUID> DtVrfMsdlScenarioDescriptionImporterExporter::myOverlayNameToUUIDMap
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)