VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtNetnFomMapper Class Reference

Instances of DtNetnFomMapper are DtFomMappers configured to map between VR-Link classes and functionality to NETN FOM classes, attributes and parameters. More...

+ Inheritance diagram for DtNetnFomMapper:
+ Collaboration diagram for DtNetnFomMapper:

Public Member Functions

 DtNetnFomMapper (double netnVersion=3.0, int netnRevision=1, double rprFomVersion=2.0, int rprFomRevision=1)
 default constructor w More...
 
virtual ~DtNetnFomMapper ()
 destructor More...
 
virtual void init (DtExerciseConn *conn)
 Virtual function override. More...
 
virtual void setNetnVersion (double val)
 Set myNetnVersion as double. More...
 
virtual double netnVersion () const
 Return myNetnVersion value. More...
 
virtual void setNetnRevision (int val)
 Set myNetnRevision as int. More...
 
virtual int netnRevision () const
 Return myNetnRevision value. More...
 
virtual void checkForMakExtensions (DtExerciseConn *exConn)
 Checks FOM for MAK NETN extended classes. Sets useMakNetnExtensions to false if extended classes cannot be found. More...
 
virtual void setUseMakNetnExtensions (bool useExtensions)
 Set whether the FOM Mapper will publish/subscribe to MAK NETN extended classes Defaults to True to use MAK's extended NETN classes. More...
 
virtual bool useMakNetnExtensions ()
 Returns a bool indicating if MAK NETN extended classes will be published/subscribed. More...
 
- Public Member Functions inherited from DtRprFomMapper
 DtRprFomMapper (double vers=1.0, int rev=1)
 default constructor w More...
 
virtual ~DtRprFomMapper ()
 destructor More...
 
virtual void checkForRpr3MakIffExtensions (DtExerciseConn *exConn)
 Checks FOM for RPR 3.0 IFFData classes. Sets useRpr3IffExtensions to false if extended classes cannot be found. More...
 
virtual void setUseRpr3MakIffExtensions (bool useExtensions)
 Set whether the FOM Mapper will publish/subscribe to RPR 3.0 IFFData classes Defaults to True to use RPR 3.0 experimental IFF classes. More...
 
virtual bool useRpr3MakIffExtensions ()
 Returns a bool indicating if RPR 3.0 IFFData classes will be published/subscribed. More...
 
- Public Member Functions inherited from DtEmptyFomMapper
 DtEmptyFomMapper ()
 Default constructor. More...
 
virtual ~DtEmptyFomMapper ()
 destructor More...
 
DtStateDecoderFactorydfltStateDecoderFactory ()
 Returns the default state decoder factory. More...
 
DtStateEncoderFactorydfltStateEncoderFactory ()
 Returns the default state encoder factory. More...
 
DtInteractionDecoderFactorydfltInteractionDecoderFactory ()
 Returns the default interaction decoder factory. More...
 
DtInteractionEncoderFactorydfltInteractionEncoderFactory ()
 Returns the default state interaction factory. More...
 
DtHlaObjectFactorydfltHlaObjectFactory ()
 Returns the default HlaObject factory. More...
 
DtInteractionFactorydfltInteractionFactory ()
 Returns the default Interaction factory. More...
 
- Public Member Functions inherited from DtFomMapper
 DtFomMapper ()
 Default constructor. More...
 
virtual ~DtFomMapper ()
 destructor More...
 
virtual DtStateDecoderFactorysetStateDecoderFactory (DtStateDecoderFactory *fact)
 Set/Get the current factory that can be used to create DtHlaStateDecoders. More...
 
virtual DtStateDecoderFactorystateDecoderFactory ()
 
virtual DtStateEncoderFactorysetStateEncoderFactory (DtStateEncoderFactory *fact)
 Set/Get the current factory that can be used to create DtHlaStateEncoders. More...
 
virtual DtStateEncoderFactorystateEncoderFactory ()
 
virtual
DtInteractionDecoderFactory
setInteractionDecoderFactory (DtInteractionDecoderFactory *fact)
 Set/Get the current factory that can be used to create DtInteractionDecoders. More...
 
virtual
DtInteractionDecoderFactory
interactionDecoderFactory ()
 
virtual
DtInteractionEncoderFactory
setInteractionEncoderFactory (DtInteractionEncoderFactory *fact)
 Set/Get the current factory that can be used to create DtInteractionEncoders. More...
 
virtual
DtInteractionEncoderFactory
interactionEncoderFactory ()
 
virtual DtHlaObjectFactorysetHlaObjectFactory (DtHlaObjectFactory *fact)
 Set/Get the current factory that can be used to create DtHlaObjects. More...
 
virtual DtHlaObjectFactoryhlaObjectFactory ()
 
virtual DtInteractionFactorysetInteractionFactory (DtInteractionFactory *fact)
 Set/Get the current factory that can be used to create DtInteractions. More...
 
virtual DtInteractionFactoryinteractionFactory ()
 
virtual void setObjectClassToChoose (const char *vrlinkClassName, const char *fomClassName)
 Tell the FOM Mapper how to choose a FOM object class to use for objects being published by a particular kind of object publisher. More...
 
virtual void setObjectClassChooser (const char *vrlinkClassName, DtObjectClassChooser chooser)
 
virtual void setObjectClassChooser (const char *vrlinkClassName, DtObjectClassChooserWithUsrData chooser, void *usr)
 
virtual const char * chooseObjectClass (const char *vrlinkClassName, void *fomClassSpecific=NULL) const
 Chooses an object class to represent an object managed by the C++ class named vrlinkClassName (which should be a class derived from DtObjectPublisher). More...
 
virtual void setInteractionClassToChoose (const char *vrlinkClassName, const char *fomClassName)
 Tell the FOM Mapper how to choose a FOM interaction class to use for a particular kind of derived DtInteraction. More...
 
virtual void setInteractionClassChooser (const char *vrlinkClassName, DtInteractionClassChooser chooser)
 
virtual void setInteractionClassChooser (const char *vrlinkClassName, DtInteractionClassChooserWithUsrData chooser, void *usr)
 
virtual const char * chooseInteractionClass (const DtInteraction &inter) const
 Chooses a FOM interaction class to be by a particular derived DtInteraction class named vrlinkClassName. More...
 
virtual void setInteractionClasses (const char *vrlinkClassName, const std::vector< DtString > &classes)
 Set/Get a list of names (char*) of FOM classes that can be decoded into the derived DtInteraction class whose name is name. More...
 
virtual const std::vector
< DtString > * 
interactionClasses (const char *vrlinkClassName)
 
virtual void setInteractionClass (const char *vrlinkClassName, const char *fomClassName)
 When there is only a single FOM class to be associated with a VR-Link interaction class, then there is no need to create a DtList. More...
 
virtual void addInteractionClassName (const char *vrlinkClassName, const char *objClassName, bool includeSubclasses)
 Modify the list of names of FOM interactions that should be subscribed to by a particular subclass of VR-Link. More...
 
virtual void removeInteractionClassName (const char *vrlinkClassName, const char *objClassName, bool includeSubclasses)
 
virtual void setObjectClassNames (const char *vrlinkClassName, const std::vector< DtString > &classes)
 Set/Get a list of names (char*) of FOM object classes that should be subscribed to by a particular subclass of VR-Link's DtReflectedObjectList. More...
 
virtual const std::vector
< DtString > * 
objectClassNames (const char *vrlinkClassName)
 
virtual DtListobjectClassHandles (const char *vrlinkClassName)
 Similar to objectClassNames, but returns a DtList of ObjectClassHandles instead. More...
 
virtual void setObjectClass (const char *vrlinkClassName, const char *fomClassName)
 When there is only a single FOM class to be associated with a VR-Link DtReflectedObjectList class, then there is no need to create a DtList. More...
 
virtual void addObjectClassName (const char *vrlinkClassName, const char *objClassName, bool includeSubclasses)
 Modify the list of names of FOM objects that should be subscribed to by a particular subclass of VR-Link. More...
 
virtual void removeObjectClassName (const char *vrlinkClassName, const char *objClassName, bool includeSubclasses)
 
virtual void setVersion (double vers)
 Returns the version number of the FOM, as passed to setVersion. More...
 
virtual double version () const
 
virtual void setRevision (int val)
 Sets the revision number of the FOM. More...
 
virtual int revision () const
 Returns the revision number of the FOM. More...
 
virtual const
DtObjectClassChooserInfo
objectClassChooser (const char *vrlinkClassName) const
 Return the FOM-class-chooser function, if any, that has been associated with the name of a C++ class derived from DtObjectPublisher using setObjectClassChooser. More...
 
virtual const
DtInteractionClassChooserInfo
interactionClassChooser (const char *vrlinkClassName) const
 Return the FOM-class-chooser function, if any, that has been associated with the name of a C++ class derived from DtInteraction using setInteractionClassChooser. More...
 

Static Public Member Functions

static DtFomMappercreate (void *usr)
 Creator function - returns new instance of DtRprFomMapper. More...
 
static char * dfltEntityClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default entity class chooser function. More...
 
static char * dfltEmitterBeamClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default emitter beam class chooser function. More...
 
- Static Public Member Functions inherited from DtRprFomMapper
static DtFomMappercreate (void *usr)
 Creator function - returns new instance of DtRprFomMapper. More...
 
static char * dfltEntityClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default entity class chooser function. More...
 
static char * entityClassChooser08 (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The entity class chooser function for RPR FOM version 0.8. More...
 
static char * entityClassChooserPre08 (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The entity class chooser function for older RPR FOM versions. More...
 
static char * dfltEmitterBeamClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default emitter beam class chooser function. More...
 
static char * emitterBeamClassChooserPre08 (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default emitter beam class chooser function. More...
 
static char * dfltSignalClassChooser (DtExerciseConn *exConn, const DtInteraction &inter)
 The default signal class chooser function. More...
 
static char * dfltIffClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default iff class chooser function. More...
 
static char * dfltIff3ClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default iff class chooser function for RPR 3.0. More...
 
static char * dfltPointObjClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default point object class chooser function. More...
 
static char * dfltArealObjClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default areal object class chooser function. More...
 
static char * dfltLinearObjClassChooser (const char *vrlinkClassName, DtExerciseConn *exConn, void *usr)
 The default linear object class chooser function. More...
 
static char * dfltArealObjTransClassChooser (DtExerciseConn *exConn, const DtInteraction &inter)
 The default areal object transaction class chooser function. More...
 
static char * dfltLinearObjTransClassChooser (DtExerciseConn *exConn, const DtInteraction &inter)
 The default linear object transaction class chooser function. More...
 
static char * dfltPointObjTransClassChooser (DtExerciseConn *exConn, const DtInteraction &inter)
 The default point object transaction class chooser function. More...
 
- Static Public Member Functions inherited from DtEmptyFomMapper
static DtFomMappercreate (void *usr=NULL)
 A Creator function that returns a DtEmptyFomMapper configured with no mappings at all. More...
 

Protected Member Functions

virtual void initInterClasses ()
 Set myInterClasses to contain default mappings. More...
 
virtual void initObjClasses ()
 Set myObjClassesClasses to contain default mappings. More...
 
virtual void initObjChoosers ()
 Setup the object class choosers. More...
 
virtual void initInterChoosers ()
 Setup the interaction class choosers. More...
 
- Protected Member Functions inherited from DtRprFomMapper
 DtRprFomMapper (const DtRprFomMapper &orig)
 copy constructor More...
 
DtRprFomMapperoperator= (const DtRprFomMapper &orig)
 assignment operator More...
 
- Protected Member Functions inherited from DtEmptyFomMapper
 DtEmptyFomMapper (const DtEmptyFomMapper &orig)
 copy constructor - not implemented. More...
 
DtEmptyFomMapperoperator= (const DtEmptyFomMapper &orig)
 assignment operator - not implemented. More...
 
- Protected Member Functions inherited from DtFomMapper
 DtFomMapper (const DtFomMapper &orig)
 copy constructor - not implemented. More...
 
DtFomMapperoperator= (const DtFomMapper &orig)
 assignment operator - not implemented. More...
 

Protected Attributes

double myNetnVersion
 
int myNetnRevision
 
bool myUseMakNetnClasses
 
- Protected Attributes inherited from DtRprFomMapper
bool myUseRpr3MakIffClasses
 
- Protected Attributes inherited from DtEmptyFomMapper
DtStateDecoderFactorymyDfltDecFact
 Default factories and other objects. More...
 
DtStateEncoderFactorymyDfltEncFact
 
DtInteractionDecoderFactorymyDfltInterDecFact
 
DtInteractionEncoderFactorymyDfltInterEncFact
 
DtHlaObjectFactorymyDfltObjFact
 
DtInteractionFactorymyDfltInterFact
 
- Protected Attributes inherited from DtFomMapper
DtExerciseConnmyExConn
 
DtStateDecoderFactorymyDecFact
 Current factories and other objects. More...
 
DtStateEncoderFactorymyEncFact
 
DtInteractionDecoderFactorymyInterDecFact
 
DtInteractionEncoderFactorymyInterEncFact
 
DtHlaObjectFactorymyObjFact
 
DtInteractionFactorymyInterFact
 
DtStringVectorMap myIntMapList
 Maps of the names of C++ classes derived from DtInteraction to sets of names of FOM classes. More...
 
DtStringVectorMap myObjMapList
 Maps of the names of C++ classes derived from DtReflectedObjectList to sets of names of FOM classes. More...
 
std::map< DtString,
DtObjectClassChooserInfo
myObjChooserList
 Maps names of C++ classes derived from DtObjectPublisher to DtObjectClassChoosers - functions that can choose an object class name from the FOM to use for the object. More...
 
std::map< DtString, DtStringmySimpleObjChooserList
 Maps names of C++ classes derived from DtObjectPublisher to single FOM object class names. More...
 
std::map< DtString,
DtInteractionClassChooserInfo
myInterChooserList
 Maps names of C++ classes derived from DtInteraction to DtInteractionClassChoosers - functions that can choose an interaction class name from the FOM to use for the interaction. More...
 
std::map< DtString, DtStringmySimpleInterChooserList
 Maps names of C++ classes derived from DtInteraction to single FOM object class names. More...
 
DtList myObjHandleList
 The object returned by objectClassHandles. More...
 
DtList myEmptyList
 Just an empty list to return when no class list has been registered for a particular VR-Link class. More...
 
double myVersion
 
int myRevision
 

Private Member Functions

 DtNetnFomMapper (const DtNetnFomMapper &orig)
 copy constructor More...
 
DtNetnFomMapperoperator= (const DtNetnFomMapper &orig)
 assignment operator More...
 

Additional Inherited Members

- Public Types inherited from DtFomMapper
typedef char *(* DtInteractionClassChooser )(DtExerciseConn *exConn, const DtInteraction &inter)
 A function that chooses an interaction class from the FOM based on the contents of a derived DtInteraction object. More...
 
typedef char *(* DtInteractionClassChooserWithUsrData )(DtExerciseConn *exConn, const DtInteraction &inter, void *usr)
 Same as DtInteractionClassChooser but allows a user to specify a void* to be passed as user data. More...
 
typedef char *(* DtObjectClassChooser )(const char *vrlinkClassName, DtExerciseConn *conn, void *fomClassSpecific)
 A function that chooses an object class from the FOM based based on the name of a C++ class derived from DtObjectPublisher and FOM class specific data deemed relevant by the publisher class (e.g. More...
 
typedef char *(* DtObjectClassChooserWithUsrData )(const char *vrlinkClassName, DtExerciseConn *conn, void *fomClassSpecific, void *usr)
 Same as DtObjectClassChooser but allows a user to specify a void* to be passed as user data. More...
 
typedef std::map< DtString,
std::vector< DtString > > 
DtStringVectorMap
 

Detailed Description

Instances of DtNetnFomMapper are DtFomMappers configured to map between VR-Link classes and functionality to NETN FOM classes, attributes and parameters.

Support for the NETN FOM starts with NETN version 3.0 Note that there is also a revision number that exists for each NETN FOM version. The following describes the fixes made for each revision. In order to take advantage of a fix, the user will need to provide the revision number, either through instantiation of the DtNetnFomMapper class, or through the DtVrlApplicationInitializer. Note that setting the revision to a number will also pick up all fixes in previous revisions - i.e. setting revision to 3 will pick up revision 2 fixes as well. There are currently no revisions for the DtNetnFomMapper class.

Constructor & Destructor Documentation

DtNetnFomMapper::DtNetnFomMapper ( double  netnVersion = 3.0,
int  netnRevision = 1,
double  rprFomVersion = 2.0,
int  rprFomRevision = 1 
)

default constructor w

Parameters
versThe version of the FOM to use
revThe revision of the FOM Mapper for vers FOM.
virtual DtNetnFomMapper::~DtNetnFomMapper ( )
virtual

destructor

DtNetnFomMapper::DtNetnFomMapper ( const DtNetnFomMapper orig)
private

copy constructor

Member Function Documentation

virtual void DtNetnFomMapper::checkForMakExtensions ( DtExerciseConn exConn)
virtual

Checks FOM for MAK NETN extended classes. Sets useMakNetnExtensions to false if extended classes cannot be found.

static DtFomMapper* DtNetnFomMapper::create ( void *  usr)
static

Creator function - returns new instance of DtRprFomMapper.

usr is cast to a pointer to double. If the pointer is NULL, or the value pointed to is 0.0, the default version is used in the DtRprFomMapper constructor. Otherwise the value is passed to the DtRprFomMapper constructor as the version number.

static char* DtNetnFomMapper::dfltEmitterBeamClassChooser ( const char *  vrlinkClassName,
DtExerciseConn exConn,
void *  usr 
)
static

The default emitter beam class chooser function.

static char* DtNetnFomMapper::dfltEntityClassChooser ( const char *  vrlinkClassName,
DtExerciseConn exConn,
void *  usr 
)
static

The default entity class chooser function.

virtual void DtNetnFomMapper::init ( DtExerciseConn conn)
virtual

Virtual function override.

init actually initializes most data. It is called from DtExerciseConn constructor.

Reimplemented from DtRprFomMapper.

virtual void DtNetnFomMapper::initInterChoosers ( )
protectedvirtual

Setup the interaction class choosers.

Reimplemented from DtRprFomMapper.

virtual void DtNetnFomMapper::initInterClasses ( )
protectedvirtual

Set myInterClasses to contain default mappings.

Reimplemented from DtRprFomMapper.

virtual void DtNetnFomMapper::initObjChoosers ( )
protectedvirtual

Setup the object class choosers.

Reimplemented from DtRprFomMapper.

virtual void DtNetnFomMapper::initObjClasses ( )
protectedvirtual

Set myObjClassesClasses to contain default mappings.

Reimplemented from DtRprFomMapper.

virtual int DtNetnFomMapper::netnRevision ( ) const
virtual

Return myNetnRevision value.

virtual double DtNetnFomMapper::netnVersion ( ) const
virtual

Return myNetnVersion value.

DtNetnFomMapper& DtNetnFomMapper::operator= ( const DtNetnFomMapper orig)
private

assignment operator

virtual void DtNetnFomMapper::setNetnRevision ( int  val)
virtual

Set myNetnRevision as int.

virtual void DtNetnFomMapper::setNetnVersion ( double  val)
virtual

Set myNetnVersion as double.

virtual void DtNetnFomMapper::setUseMakNetnExtensions ( bool  useExtensions)
virtual

Set whether the FOM Mapper will publish/subscribe to MAK NETN extended classes Defaults to True to use MAK's extended NETN classes.

virtual bool DtNetnFomMapper::useMakNetnExtensions ( )
virtual

Returns a bool indicating if MAK NETN extended classes will be published/subscribed.

Member Data Documentation

int DtNetnFomMapper::myNetnRevision
protected
double DtNetnFomMapper::myNetnVersion
protected
bool DtNetnFomMapper::myUseMakNetnClasses
protected

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

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)