VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
DtLoadOrderOfBattleHandler Class Reference

The DtLoadOrderOfBattleHandler will load an order of battle file (oob) and create all the local objects from that file.

Inheritance diagram for DtLoadOrderOfBattleHandler:
Inheritance graph
[legend]

Public Member Functions

 DtLoadOrderOfBattleHandler (DtSimulationServices *, DtLocalObjectManager *)
 
 DtLoadOrderOfBattleHandler (const DtLoadOrderOfBattleHandler &)
 
virtual ~DtLoadOrderOfBattleHandler ()
 
virtual bool loadScenarioPiece (const DtScenario &, void *userData=0)
 
virtual bool loadScenarioPiece (const std::vector< std::string * > &, void *userData=0)
 
virtual bool loadSimulationObjectGroupPiece (const DtScenario &, DtlObjPtr *retArgs=0, void *userData=0)
 
virtual bool loadSimulationObjectGroupPiece (DtlObjPtr args, void *userData=0)
 
virtual void tick ()
 
virtual bool complete () const
 
const DtLoadScenarioDataloadOrderOfBattleData () const
 
virtual
DtLoadScenarioPieceHandler
clone () const
 
- Public Member Functions inherited from DtLoadScenarioPieceHandler
 DtLoadScenarioPieceHandler ()
 
virtual ~DtLoadScenarioPieceHandler ()
 
- Public Member Functions inherited from DtRwList
 DtRwList ()
 
 DtRwList (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwList (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual ~DtRwList ()
 
const DtRwListoperator= (const DtRwList &orig)
 
virtual DtListItem * add (DtReaderWriter *data)
 
virtual DtListItem * addWithAlternateName (DtReaderWriter *data, const DtString &name)
 
virtual DtListItem * addToStart (DtReaderWriter *data)
 
virtual DtListItem * addToEnd (DtReaderWriter *data)
 
virtual void * remove (DtReaderWriter *data, DtListItem *item)
 
virtual DtlObjPtr getLocalData (DtlObjPtr args)
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual DtListItem * addBefore (DtReaderWriter *data, DtReaderWriter *before)
 
virtual DtListItem * addAfter (DtReaderWriter *data, DtReaderWriter *after)
 
virtual void removeAll ()
 
virtual void removeAndDeleteAll ()
 
virtual void reset ()
 
virtual const charreaderWriterType () const
 
bool operator== (const DtRwList &rhs) const
 
bool operator!= (const DtRwList &rhs) const
 
virtual void populateList (boost::function< void(DtReaderWriter *)> addFunction, DtEnvironmentSP env, DtEnvValueSP node, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &bindings)
 
virtual void populateListByType (boost::function< void(DtReaderWriter *)> addFunction, DtEnvironmentSP env, DtEnvValueSP node, const DtString &bindingType, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &bindings)
 
 DtRwList (const DtString &name, const DtRwList &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtRwList (const DtSymbolString &name, const DtRwList &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual DtListItem * addBefore (DtReaderWriter *data, const DtString &before)
 
virtual DtListItem * addBefore (DtReaderWriter *data, const DtSymbolString &before)
 
virtual DtListItem * addAfter (DtReaderWriter *data, const DtString &after)
 
virtual DtListItem * addAfter (DtReaderWriter *data, const DtSymbolString &after)
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP value, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual const charxmlType () const
 
virtual std::set< DtStringsupportedXmlTypes () const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Protected Types

typedef std::pair
< DtLocalObject
*, DtVrfSimulationObjectGroupGeometry * > 
PendingObjectInformation
 
typedef std::vector
< PendingObjectInformation
PendingObjectsInformation
 
typedef std::vector
< PendingObjectsInformation
ObjectsAwaitingDiscovery
 
typedef std::map< DtUUID,
DtVrfObjectLocalObjectFacade * > 
AllocatedProxies
 

Protected Member Functions

virtual bool readOrderOfBattleFileFromZipFile (const DtScenario &, DtLoadScenarioData &)
 
virtual bool readOrderOfBattleFile (const DtScenario &, DtLoadScenarioData &)
 
virtual bool readOrderOfBattleFile (DtlInputStream *, DtLoadScenarioData &)
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void reserveGlobalObjectIds (unsigned numToReserve)
 
virtual DtEntityIdentifier findEntityIdentifier (DtlObjPtr mtlStream) const
 
virtual bool hasUUIDOrMarkingText (DtlObjPtr args, DtUUID &) const
 
virtual DtLocalObjectcreateObjectFromMemoryBuffer (const std::string &buffer)
 
virtual void clearAllocatedProxies ()
 
virtual bool loadSimulationObjectGroupOrderOfBattleFromZipFile (const DtScenario &scenario, DtlObjPtr *retArgs, void *userData=0)
 
virtual bool loadSimulationObjectGroupOrderOfBattle (const DtScenario &scenario, DtlObjPtr *retArgs, void *userData=0)
 
virtual bool loadSimulationObjectGroupOrderOfBattle (DtlInputStream *fStream, DtlObjPtr *retArgs, void *userData=0)
 
virtual bool addObjectsReadyForSimulation (PendingObjectsInformation &)
 
virtual DtLocalObjectcreateAndInit (DtlObjPtr mtlStream, int flags, int force, const DtVector &geocentricOffsetLocation, double offsetRotation=0.)
 
virtual bool finalizeObjectRead (DtLocalObject *newObject)
 
- Protected Member Functions inherited from DtRwList
virtual DtListItem * addBefore (DtReaderWriter *data, DtListItem *before)
 
virtual DtListItem * addAfter (DtReaderWriter *data, DtListItem *after)
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

DtLocalObjectManagermyObjectManager
 
DtSimulationServicesmySimulationServices
 
DtLoadScenarioData myLoadOrderOfBattleUserData
 
tbb::spin_mutex myFinalizeObjectMutex
 
tbb::spin_mutex myAllocatedProxiesMutex
 
AllocatedProxies myAllocatedProxies
 
ObjectsAwaitingDiscovery myObjectsAwaitingDiscovery
 
std::vector< DtLocalObject * > myObjectsAdded
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Static Protected Attributes

static std::vector< DtEntityType > theIgnoreObjectsOnImport
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Friends

class CreateObjectCallback
 
virtual bool ignoreImportObject (const DtEntityType &) const
 
static void addIgnoreImportObject (const DtEntityType &)
 
static void removeIgnoreImportObject (const DtEntityType &)
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Static Public Member Functions inherited from DtRwList
static const chartheXmlType ()
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Member Typedef Documentation

Kept around when in simulation object group creation mode.

Constructor & Destructor Documentation

DtLoadOrderOfBattleHandler::DtLoadOrderOfBattleHandler ( DtSimulationServices ,
DtLocalObjectManager  
)
DtLoadOrderOfBattleHandler::DtLoadOrderOfBattleHandler ( const DtLoadOrderOfBattleHandler )
virtual DtLoadOrderOfBattleHandler::~DtLoadOrderOfBattleHandler ( )
virtual

destructor

Member Function Documentation

virtual bool DtLoadOrderOfBattleHandler::loadScenarioPiece ( const DtScenario ,
void *  userData = 0 
)
virtual

Creates a new scenario object from the given file. It is up to the caller to delete this scenario object.

User data is specific to the handler

Implements DtLoadScenarioPieceHandler.

virtual bool DtLoadOrderOfBattleHandler::loadScenarioPiece ( const std::vector< std::string * > &  ,
void *  userData = 0 
)
virtual
virtual bool DtLoadOrderOfBattleHandler::loadSimulationObjectGroupPiece ( const DtScenario ,
DtlObjPtr *  retArgs = 0,
void *  userData = 0 
)
virtual

Like readOrderOfBattleFile, read in the file with the notion of offsetting all positions of objects by the supplied geometric center. For flags see scenario.h for simulation object creation. If retArgs is specified returns arguments read in pointer.

virtual bool DtLoadOrderOfBattleHandler::loadSimulationObjectGroupPiece ( DtlObjPtr  args,
void *  userData = 0 
)
virtual
virtual void DtLoadOrderOfBattleHandler::tick ( )
virtual

Returns true if this handler is complete with its operations. If it is not complete after a load of a scenario piece or a readon of a simulation object group, keep this handler around and call the tick method on it from a DtCgf post tick callback. Call complete after each tick to see if this handler can be deleted.

virtual bool DtLoadOrderOfBattleHandler::complete ( ) const
virtual
const DtLoadScenarioData& DtLoadOrderOfBattleHandler::loadOrderOfBattleData ( ) const
inline
virtual DtLoadScenarioPieceHandler* DtLoadOrderOfBattleHandler::clone ( ) const
inlinevirtual
virtual bool DtLoadOrderOfBattleHandler::readOrderOfBattleFileFromZipFile ( const DtScenario ,
DtLoadScenarioData  
)
protectedvirtual

Deals with the scenario as a zip (scnx) file.

virtual bool DtLoadOrderOfBattleHandler::readOrderOfBattleFile ( const DtScenario ,
DtLoadScenarioData  
)
protectedvirtual

Deals with order of battle as an external file.

virtual bool DtLoadOrderOfBattleHandler::readOrderOfBattleFile ( DtlInputStream *  ,
DtLoadScenarioData  
)
protectedvirtual

Reads from the input stream.

virtual DtlObjPtr DtLoadOrderOfBattleHandler::getData ( DtlObjPtr  args,
const DtReaderWriter::SearchPaths searchPaths,
const DtVariableBindingsList variableBindings 
)
protectedvirtual

Called for each entry in the order of battle file.

Implements DtRwList.

virtual void DtLoadOrderOfBattleHandler::reserveGlobalObjectIds ( unsigned  numToReserve)
protectedvirtual

Hint to communications level as to how many ids to reserve (if the comm layer reserves ids)

virtual DtEntityIdentifier DtLoadOrderOfBattleHandler::findEntityIdentifier ( DtlObjPtr  mtlStream) const
protectedvirtual

Find the entity identifier in the mtl stream.

virtual bool DtLoadOrderOfBattleHandler::hasUUIDOrMarkingText ( DtlObjPtr  args,
DtUUID  
) const
protectedvirtual

Will return true if there is a UUID in the stream that is currently in use in the simulation. If there is no UUID in the stream will look by markingText.

virtual DtLocalObject* DtLoadOrderOfBattleHandler::createObjectFromMemoryBuffer ( const std::string &  buffer)
protectedvirtual
virtual void DtLoadOrderOfBattleHandler::clearAllocatedProxies ( )
protectedvirtual
virtual bool DtLoadOrderOfBattleHandler::loadSimulationObjectGroupOrderOfBattleFromZipFile ( const DtScenario scenario,
DtlObjPtr *  retArgs,
void *  userData = 0 
)
protectedvirtual
virtual bool DtLoadOrderOfBattleHandler::loadSimulationObjectGroupOrderOfBattle ( const DtScenario scenario,
DtlObjPtr *  retArgs,
void *  userData = 0 
)
protectedvirtual
virtual bool DtLoadOrderOfBattleHandler::loadSimulationObjectGroupOrderOfBattle ( DtlInputStream *  fStream,
DtlObjPtr *  retArgs,
void *  userData = 0 
)
protectedvirtual
virtual bool DtLoadOrderOfBattleHandler::addObjectsReadyForSimulation ( PendingObjectsInformation )
protectedvirtual

Returns true if all the objects from this pending object information are ready to simulate (basically their geometry is placeable)

virtual bool DtLoadOrderOfBattleHandler::ignoreImportObject ( const DtEntityType &  ) const
protectedvirtual

Object types to ignore on import. By default global weather and dynamic terrain. The ignore will be a pattern match.

static void DtLoadOrderOfBattleHandler::addIgnoreImportObject ( const DtEntityType &  )
staticprotected

Object types to ignore on import. By default global weather and dynamic terrain. The ignore will be a pattern match.

static void DtLoadOrderOfBattleHandler::removeIgnoreImportObject ( const DtEntityType &  )
staticprotected

Object types to ignore on import. By default global weather and dynamic terrain. The ignore will be a pattern match.

virtual DtLocalObject* DtLoadOrderOfBattleHandler::createAndInit ( DtlObjPtr  mtlStream,
int  flags,
int  force,
const DtVector geocentricOffsetLocation,
double  offsetRotation = 0. 
)
protectedvirtual

Create and initialize a new sim object from a mtl stream. The offset rotation is the amount to rotate the entire simulation object group if creating this object as part of a simulation object group.

virtual bool DtLoadOrderOfBattleHandler::finalizeObjectRead ( DtLocalObject newObject)
protectedvirtual

Friends And Related Function Documentation

friend class CreateObjectCallback
friend

Member Data Documentation

DtLocalObjectManager* DtLoadOrderOfBattleHandler::myObjectManager
protected
DtSimulationServices* DtLoadOrderOfBattleHandler::mySimulationServices
protected
DtLoadScenarioData DtLoadOrderOfBattleHandler::myLoadOrderOfBattleUserData
protected
tbb::spin_mutex DtLoadOrderOfBattleHandler::myFinalizeObjectMutex
protected
tbb::spin_mutex DtLoadOrderOfBattleHandler::myAllocatedProxiesMutex
protected
AllocatedProxies DtLoadOrderOfBattleHandler::myAllocatedProxies
protected
ObjectsAwaitingDiscovery DtLoadOrderOfBattleHandler::myObjectsAwaitingDiscovery
protected
std::vector<DtLocalObject*> DtLoadOrderOfBattleHandler::myObjectsAdded
protected
std::vector<DtEntityType> DtLoadOrderOfBattleHandler::theIgnoreObjectsOnImport
staticprotected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)