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

Description: A model is a set of items that defines a model to create in the back-end from the front-end. More...

Inheritance diagram for DtModelSetEntry:
Inheritance graph
[legend]

Public Member Functions

 DtModelSetEntry ()
 default constructor More...
 
 DtModelSetEntry (const DtString &name, DtReaderWriterRegistry *const parentRegistry=NULL)
 real constructor More...
 
 DtModelSetEntry (const DtModelSetEntry &orig, DtReaderWriterRegistry *const parentRegistry=NULL)
 copy constructor More...
 
DtModelSetEntryoperator= (const DtModelSetEntry &orig)
 Assign to DtString. Assigns value only. More...
 
virtual ~DtModelSetEntry ()
 
virtual DtModelSetEntryclone ()
 
virtual const charreaderWriterType ()
 
DtString label () const
 
void setLabel (const DtString &)
 
DtString platform () const
 
void setPlatform (const DtString &)
 
DtString uniqueID () const
 
void setUniqueID (const DtString &)
 
void setIsRandomized (bool)
 Whether or not this model represents a randomized object type. More...
 
bool isRandomized () const
 
bool canCreate () const
 
void setCanCreate (bool)
 
bool canAggregate () const
 
void setCanAggregate (bool)
 
void setObjectType (const DtObjectType &)
 
const DtObjectTypeobjectType () const
 
void setMatchType (const DtObjectType &)
 The match type is a second entry that can be used to match against an object type. More...
 
const DtObjectTypematchType () const
 
DtString menuIcon () const
 
void setMenuIcon (const DtString &)
 
void setKeywords (const DtString &)
 
DtString keywords () const
 
void setIncludeInBVSPCalcs (bool)
 Whether or not to include in bounding volume or support point calcs from the entity editor. More...
 
bool includeInBVSPCalcs () const
 
void setForces (const DtRwForces &)
 
const DtRwForcesforces () const
 
DtRwForcesforces ()
 
void setCategories (const DtRwNLengthStringVector &)
 
const DtRwNLengthStringVectorcategories () const
 
void addOnPalette (const DtString &)
 
void removeOnPalette (const DtString &)
 
void setOnlyOnPalette (const DtString &)
 
void setOnPalettes (const DtRwNLengthStringVector &)
 
const DtRwNLengthStringVectoronPalettes () const
 
void setDefaultOverlayLayer (const DtString &)
 
DtString defaultOverlayLayer () const
 
void setDeployableCountries (const DtRwNLengthStringVector &)
 
const DtRwNLengthStringVectordeployableCountries () const
 
const DtRwStringAttributeListiconLists () const
 Accesor/mutator for list icons that can be applied to a category of list selected. More...
 
DtRwStringAttributeListiconLists ()
 
void setIconLists (const DtRwStringAttributeList &)
 
void setIconForList (const DtString &, const DtString &)
 
DtString iconForList (const DtString &) const
 
virtual bool operator== (const DtModelSetEntry &) const
 
virtual bool operator!= (const DtModelSetEntry &) const
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream. More...
 
virtual void readFromEnvironment (DtEnvironmentSP, DtEnvValueSP objectNode)
 Loads the model set entry information from the specified environment. More...
 
virtual void writeToEnvironment (DtEnvironmentSP, DtEnvValueSP objectNode, std::vector< DtString > *=nullptr, DtModelSetEntry *=nullptr) const
 Writes the contents of the entry to the specified environment using the guiInformation. More...
 
virtual void updateImageData (char from, char to) const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor More...
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream. More...
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 pseudo-copy constructor More...
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor More...
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator More...
 
bool operator== (const DtReaderWriter &) const
 Equivalence operator. More...
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 destructor More...
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Top level call to write itself to file. More...
 
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op. More...
 
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op. More...
 
virtual void postGetSelf ()
 Called after either version of getSelf (mtl or environment). Default is no-op. More...
 
virtual void preGetSelf ()
 Called before either version of get self (file or environment). Default is no-op. More...
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry. More...
 
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object. More...
 
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object. More...
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 Set read-only flag. More...
 
bool isReadonly () const
 
virtual void reset ()
 For those reader/writer items that support it, resets the reader/writer value to original state Default is no-op. More...
 
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment. More...
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false. More...
 
virtual void setName (const DtString &)
 Set the name of the object. More...
 
virtual const charreaderWriterType () const
 Used to supply a string type that this reader writer type is. More...
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable. More...
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children. More...
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain. More...
 
virtual bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference. More...
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings. More...
 
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated. More...
 
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time. More...
 
virtual bool changedSinceLastChecked ()
 Returns true if this objects value has changed since the last time this function was called. More...
 
virtual bool peekChangedSinceLastChecked () const
 Returns the value that changedSinceLastChecked would return but does not reset the internal flag. More...
 
virtual void putData (std::string &fp, int indentLevel=0)
 Deriving class overrides these to get/put class specific data. More...
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values. More...
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere. More...
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively. More...
 
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference. More...
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified. More...
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. More...
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Give the stream, if the stream contains a default value then set it here. More...
 
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object. More...
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 Iterates over the registry (recursively) and returns a variable bindings object that contains all the variables that are contained in this read/writer class. More...
 
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename. More...
 
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid. More...
 
virtual bool fromXmlFile (const DtFilename &)
 Restores object from given xml file. More...
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data. More...
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference. More...
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 Gets data from the environment value. More...
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op. More...
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference. More...
 

Static Public Member Functions

static DtModelSetEntrycreate (const DtString &name, DtReaderWriterRegistry *const parentRegistry=NULL)
 
- 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 ()
 The type that is used when archiving to an XML stream. More...
 
static const DtFilename & appPath ()
 Gets the current working directory. More...
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory. More...
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 Given a filename, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 Given a xml string, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 Given a xml environment, returns a newly created reader/writer object from the object found within. More...
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 Gets the named attribute from a DtEnvValueSP. More...
 

Protected Attributes

DtRwBoolean myCanCreate
 
DtRwBoolean myCanAggregate
 
DtRwString myLabel
 
DtRwString myUniqueID
 
DtRwString myKeywords
 
DtRwString myMenuIcon
 
DtRwString myDefaultOverlayLayer
 
DtRwObjectType myObjectType
 
DtRwForces myForces
 
DtRwNLengthStringVector myOnPalettes
 
DtRwNLengthStringVector myCategories
 
DtRwNLengthStringVector myDeployableCountries
 
DtRwStringAttributeList myIconLists
 
DtRwBoolean myIncludeInBVSPCalcs
 
DtString myPlatform
 
DtRwBoolean myIsRandomized
 
DtObjectType myMatchType
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object. More...
 
bool myInvalid
 Set to true if there is a problem reading this item. More...
 
bool myChangedFlag
 Set to true when value changes Set to false when value checked with changedSinceLastChecked. More...
 

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 )()
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter. More...
 
- 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
 

Detailed Description

Description: A model is a set of items that defines a model to create in the back-end from the front-end.

Constructor & Destructor Documentation

DtModelSetEntry::DtModelSetEntry ( )

default constructor

DtModelSetEntry::DtModelSetEntry ( const DtString name,
DtReaderWriterRegistry *const  parentRegistry = NULL 
)

real constructor

DtModelSetEntry::DtModelSetEntry ( const DtModelSetEntry orig,
DtReaderWriterRegistry *const  parentRegistry = NULL 
)

copy constructor

virtual DtModelSetEntry::~DtModelSetEntry ( )
virtual

Member Function Documentation

DtModelSetEntry& DtModelSetEntry::operator= ( const DtModelSetEntry orig)

Assign to DtString. Assigns value only.

virtual DtModelSetEntry* DtModelSetEntry::clone ( )
virtual
virtual const char* DtModelSetEntry::readerWriterType ( )
virtual
static DtModelSetEntry* DtModelSetEntry::create ( const DtString name,
DtReaderWriterRegistry *const  parentRegistry = NULL 
)
static
DtString DtModelSetEntry::label ( ) const
inline

References myLabel.

void DtModelSetEntry::setLabel ( const DtString s)
inline

References myLabel.

DtString DtModelSetEntry::platform ( ) const
inline

References myPlatform.

void DtModelSetEntry::setPlatform ( const DtString s)
inline

References myPlatform.

DtString DtModelSetEntry::uniqueID ( ) const
inline

References myUniqueID.

void DtModelSetEntry::setUniqueID ( const DtString s)
inline

References myUniqueID.

void DtModelSetEntry::setIsRandomized ( bool  b)
inline

Whether or not this model represents a randomized object type.

Randomized object types are just containers for objects that could be created. Defined in the objects subordinate objects member

References myIsRandomized.

bool DtModelSetEntry::isRandomized ( ) const
inline

References myIsRandomized.

bool DtModelSetEntry::canCreate ( ) const
inline

References myCanCreate.

void DtModelSetEntry::setCanCreate ( bool  b)
inline

References myCanCreate.

bool DtModelSetEntry::canAggregate ( ) const
inline

References myCanAggregate.

void DtModelSetEntry::setCanAggregate ( bool  b)
inline

References myCanAggregate.

void DtModelSetEntry::setObjectType ( const DtObjectType o)
inline

References myObjectType.

const DtObjectType & DtModelSetEntry::objectType ( ) const
inline

References myObjectType.

void DtModelSetEntry::setMatchType ( const DtObjectType o)
inline

The match type is a second entry that can be used to match against an object type.

When finding this entry in a model set by matching by pattern, this match type (if specified) will be looked at first, then the more general object type for pattern matching

References myMatchType.

const DtObjectType & DtModelSetEntry::matchType ( ) const
inline

References myMatchType.

DtString DtModelSetEntry::menuIcon ( ) const
inline

References myMenuIcon.

void DtModelSetEntry::setMenuIcon ( const DtString s)
inline

References myMenuIcon.

void DtModelSetEntry::setKeywords ( const DtString s)
inline

References myKeywords.

DtString DtModelSetEntry::keywords ( ) const
inline

References myKeywords.

void DtModelSetEntry::setIncludeInBVSPCalcs ( bool  b)
inline

Whether or not to include in bounding volume or support point calcs from the entity editor.

Default is true

References myIncludeInBVSPCalcs.

bool DtModelSetEntry::includeInBVSPCalcs ( ) const
inline

References myIncludeInBVSPCalcs.

void DtModelSetEntry::setForces ( const DtRwForces f)
inline

References myForces.

const DtRwForces & DtModelSetEntry::forces ( ) const
inline

References myForces.

DtRwForces & DtModelSetEntry::forces ( )
inline

References myForces.

void DtModelSetEntry::setCategories ( const DtRwNLengthStringVector c)
inline

References myCategories.

const DtRwNLengthStringVector & DtModelSetEntry::categories ( ) const
inline

References myCategories.

void DtModelSetEntry::addOnPalette ( const DtString )
void DtModelSetEntry::removeOnPalette ( const DtString )
void DtModelSetEntry::setOnlyOnPalette ( const DtString )
void DtModelSetEntry::setOnPalettes ( const DtRwNLengthStringVector c)
inline

References myOnPalettes.

const DtRwNLengthStringVector & DtModelSetEntry::onPalettes ( ) const
inline

References myOnPalettes.

void DtModelSetEntry::setDefaultOverlayLayer ( const DtString s)
inline

References myDefaultOverlayLayer.

DtString DtModelSetEntry::defaultOverlayLayer ( ) const
inline

References myDefaultOverlayLayer.

void DtModelSetEntry::setDeployableCountries ( const DtRwNLengthStringVector c)
inline

References myDeployableCountries.

const DtRwNLengthStringVector & DtModelSetEntry::deployableCountries ( ) const
inline

References myDeployableCountries.

const DtRwStringAttributeList & DtModelSetEntry::iconLists ( ) const
inline

Accesor/mutator for list icons that can be applied to a category of list selected.

If the object does not have an icon for the list then the default font (or menu image) will be used as a display

References myIconLists.

DtRwStringAttributeList & DtModelSetEntry::iconLists ( )
inline

References myIconLists.

void DtModelSetEntry::setIconLists ( const DtRwStringAttributeList l)
inline

References myIconLists.

void DtModelSetEntry::setIconForList ( const DtString icon,
const DtString list 
)
inline
DtString DtModelSetEntry::iconForList ( const DtString key) const
inline
virtual bool DtModelSetEntry::operator== ( const DtModelSetEntry ) const
virtual
virtual bool DtModelSetEntry::operator!= ( const DtModelSetEntry ) const
virtual
virtual void DtModelSetEntry::getSelf ( DtlObjPtr  args,
const DtReaderWriter::SearchPaths searchPaths = DtReaderWriter::SearchPaths(),
const DtVariableBindingsList variableBindings = nullVariableReference() 
)
virtual

Top level to read itself from an input stream.

searchPath is passed down to all DtReaderWriter members in its DtReaderWriterRegistry (collection of child DtReaderWriter nodes). If a given member in the registry is of type DtReaderWriterFile, and the searchPath is specified with a non-NULL string, then file to be read in is searched for in the given path.

Reimplemented from DtReaderWriter.

virtual void DtModelSetEntry::readFromEnvironment ( DtEnvironmentSP  ,
DtEnvValueSP  objectNode 
)
virtual

Loads the model set entry information from the specified environment.

It will look for a variable in the environment called guiInformation and pull the attributes from that. Match type will be read from the environment, if it exists

Reimplemented in DtSimulationObjectGroupModelSetEntry.

virtual void DtModelSetEntry::writeToEnvironment ( DtEnvironmentSP  ,
DtEnvValueSP  objectNode,
std::vector< DtString > *  = nullptr,
DtModelSetEntry = nullptr 
) const
virtual

Writes the contents of the entry to the specified environment using the guiInformation.

Match type is not written to the environment. This is done by the Simulation Object Editor as a separate process. Optional argument returns a list of elements that were written Second optional argument is an MSE to compare against before writing a particular element to the environment

virtual void DtModelSetEntry::updateImageData ( char  from,
char  to 
) const
virtual

Member Data Documentation

DtRwBoolean DtModelSetEntry::myCanCreate
protected

Referenced by canCreate(), and setCanCreate().

DtRwBoolean DtModelSetEntry::myCanAggregate
protected

Referenced by canAggregate(), and setCanAggregate().

DtRwString DtModelSetEntry::myLabel
protected

Referenced by label(), and setLabel().

DtRwString DtModelSetEntry::myUniqueID
protected

Referenced by setUniqueID(), and uniqueID().

DtRwString DtModelSetEntry::myKeywords
protected

Referenced by keywords(), and setKeywords().

DtRwString DtModelSetEntry::myMenuIcon
protected

Referenced by menuIcon(), and setMenuIcon().

DtRwString DtModelSetEntry::myDefaultOverlayLayer
protected
DtRwObjectType DtModelSetEntry::myObjectType
protected

Referenced by objectType(), and setObjectType().

DtRwForces DtModelSetEntry::myForces
protected

Referenced by forces(), and setForces().

DtRwNLengthStringVector DtModelSetEntry::myOnPalettes
protected

Referenced by onPalettes(), and setOnPalettes().

DtRwNLengthStringVector DtModelSetEntry::myCategories
protected

Referenced by categories(), and setCategories().

DtRwNLengthStringVector DtModelSetEntry::myDeployableCountries
protected
DtRwStringAttributeList DtModelSetEntry::myIconLists
protected
DtRwBoolean DtModelSetEntry::myIncludeInBVSPCalcs
protected
DtString DtModelSetEntry::myPlatform
protected

Referenced by platform(), and setPlatform().

DtRwBoolean DtModelSetEntry::myIsRandomized
protected

Referenced by isRandomized(), and setIsRandomized().

DtObjectType DtModelSetEntry::myMatchType
protected

Referenced by matchType(), and setMatchType().


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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)