VR-Forces 5.0.1 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 | Private Member Functions | Friends
makVrv::DtElementDefinitionNew Class Reference

The element definition class contains the element definition information. The makVrv::DtElementDefinitionManager is responsible for create and destroying instances of the element definitions.

Public Member Functions

const DtUnicodename () const
 
const std::string & fileName () const
 
const std::vector< std::string > & duplicateNames () const
 
void setFileName (const std::string &)
 
bool isEqual (const DtElementDefinitionNew &) const
 
int numberOfVisualizerDefinitionSets () const
 
DtVisualizerDefinitionSetvisualizerDefinitionSet (int modelSet)
 
const DtVisualizerDefinitionSetvisualizerDefinitionSet (int modelSet) const
 
DtElementDefinitionNewfindParent ()
 
const DtElementDefinitionNewfindParent () const
 
unsigned int numberOfChildren () const
 
DtElementDefinitionNewfindChild (unsigned int index)
 
const DtElementDefinitionNewfindChild (unsigned int index) const
 
int findChildIndex (const DtElementDefinitionNew *child) const
 
std::vector
< DtElementDefinitionNew * > 
getChildren ()
 
DtVisualizerDefinitionfindOrCreateLocalVisualizer (int modelSet, int visualizerIndex)
 
DtVisualizerAttributefindOrCreateLocalAttribute (int modelSet, int visualizerIndex, const std::string &attributeName)
 
bool isHier () const
 
void setIsHier (bool isHier)
 
bool isDuplicate () const
 
void addDuplicateName (const std::string &duplicateName)
 
void setDuplicateFlag (bool duplicate)
 
DtElementDefinitionNewclone () const
 
 ~DtElementDefinitionNew ()
 
DtElementDefinitionNewclone (const DtUnicode &name, DtElementDefinitionNew *newParent) const
 
void setName (const DtUnicode &name)
 
void addChild (DtElementDefinitionNew *child)
 
void removeChild (DtElementDefinitionNew *child)
 

Protected Types

typedef std::vector
< DtElementDefinitionNew * > 
DefinitionList
 
typedef std::vector
< DtVisualizerDefinitionSet * > 
DefinitionSetList
 

Protected Member Functions

 DtElementDefinitionNew (const DtUnicode &name)
 
 DtElementDefinitionNew (const DtUnicode &name, DtElementDefinitionNew *parent)
 

Protected Attributes

DtUnicode myName
 
std::string myFileName
 
DefinitionSetList mySets
 
std::vector< std::string > myDuplicateNames
 
bool myIsHier
 
bool myDuplicateFlag
 
DtElementDefinitionNewmyParent
 
DefinitionList myChildren
 

Private Member Functions

 DtElementDefinitionNew ()
 
 DtElementDefinitionNew (const DtElementDefinitionNew &copy)
 
DtElementDefinitionNewoperator= (const DtElementDefinitionNew &)
 

Friends

class DtElementDefinitionManager
 

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtElementDefinitionNew::DtElementDefinitionNew ( const DtUnicode name)
protected

Create a top level element definition.

makVrv::DtElementDefinitionNew::DtElementDefinitionNew ( const DtUnicode name,
DtElementDefinitionNew parent 
)
protected

Create an element definition which inherits from another definition.

makVrv::DtElementDefinitionNew::~DtElementDefinitionNew ( )

DTOR.

makVrv::DtElementDefinitionNew::DtElementDefinitionNew ( )
private

CTOR.

makVrv::DtElementDefinitionNew::DtElementDefinitionNew ( const DtElementDefinitionNew copy)
private

Copy Constructor Not implemented.

Member Function Documentation

const DtUnicode& makVrv::DtElementDefinitionNew::name ( ) const

Get the name of the element definition. The name of an element is unique.

const std::string& makVrv::DtElementDefinitionNew::fileName ( ) const

Get the file name of the element definition. Each fileName links to a corresponding file.

const std::vector<std::string>& makVrv::DtElementDefinitionNew::duplicateNames ( ) const

Gets the list of all file names saved to show duplicates.

void makVrv::DtElementDefinitionNew::setFileName ( const std::string &  )

Assigns the file name to the model definition.

bool makVrv::DtElementDefinitionNew::isEqual ( const DtElementDefinitionNew ) const

check if two element definitions are equal we don't comapre the parent or children

Returns
true is those two element Definitions are identical
int makVrv::DtElementDefinitionNew::numberOfVisualizerDefinitionSets ( ) const

Get the number of visualizer definition sets the definition has.

DtVisualizerDefinitionSet& makVrv::DtElementDefinitionNew::visualizerDefinitionSet ( int  modelSet)

Get the visualizer set for the model set. If visualizer definition set for the definition does not exist yet one will be created.

const DtVisualizerDefinitionSet& makVrv::DtElementDefinitionNew::visualizerDefinitionSet ( int  modelSet) const

Get the visualizer set for the model set. If the visualizer definition set does not exist for the model set an exception (DtInvalidInput) will be thrown.

DtElementDefinitionNew* makVrv::DtElementDefinitionNew::findParent ( )

Find the element definition that his inherits from.

Returns
0 if this is a top level definition.
const DtElementDefinitionNew* makVrv::DtElementDefinitionNew::findParent ( ) const

Find the element definition that his inherits from.

Returns
0 if this is a top level definition.
unsigned int makVrv::DtElementDefinitionNew::numberOfChildren ( ) const

Get the number of element definitions which inherit from this definition.

DtElementDefinitionNew* makVrv::DtElementDefinitionNew::findChild ( unsigned int  index)

Find a child at a given index.

Returns
0 if the child does not exist at the provided index.
const DtElementDefinitionNew* makVrv::DtElementDefinitionNew::findChild ( unsigned int  index) const

Find a child at a given index.

Returns
0 if the child does not exist at the provided index.
int makVrv::DtElementDefinitionNew::findChildIndex ( const DtElementDefinitionNew child) const

Get the index of a child definition. The index of the child may change if any children are removed.

Returns
-1 if the definition passed in is not a child.
std::vector<DtElementDefinitionNew*> makVrv::DtElementDefinitionNew::getChildren ( )

Gets the list of children of the element definition.

DtVisualizerDefinition* makVrv::DtElementDefinitionNew::findOrCreateLocalVisualizer ( int  modelSet,
int  visualizerIndex 
)

Finds or creates a local visualizer, there must be a visualizer at the visualizerIndex, either a local visualizer or an inherited visualizer.

Returns
0 if the Visualizer definition index is invalid.
DtVisualizerAttribute* makVrv::DtElementDefinitionNew::findOrCreateLocalAttribute ( int  modelSet,
int  visualizerIndex,
const std::string &  attributeName 
)

Utility function for finding or creating a local visualizer and local attribute. A local visualizer is owned by this element.

Returns
0 if the Visualizer definition index is invalid. See findOrCreateLocalVisualizer function.
bool makVrv::DtElementDefinitionNew::isHier ( ) const

Is this element definition a hierarchy node?

void makVrv::DtElementDefinitionNew::setIsHier ( bool  isHier)

Set the name of the element definition.

bool makVrv::DtElementDefinitionNew::isDuplicate ( ) const

Whether or not the element definition is in another file as well.

void makVrv::DtElementDefinitionNew::addDuplicateName ( const std::string &  duplicateName)

Adds file locations where duplicates of file are found.

void makVrv::DtElementDefinitionNew::setDuplicateFlag ( bool  duplicate)

Set whether or not this def is a duplicate.

DtElementDefinitionNew* makVrv::DtElementDefinitionNew::clone ( ) const

Create a clone of this element definition.

DtElementDefinitionNew& makVrv::DtElementDefinitionNew::operator= ( const DtElementDefinitionNew )
private

Assignment Operator Not implemented.

DtElementDefinitionNew* makVrv::DtElementDefinitionNew::clone ( const DtUnicode name,
DtElementDefinitionNew newParent 
) const

Create a clone of this element definition with a new name and a new parent.

void makVrv::DtElementDefinitionNew::setName ( const DtUnicode name)

Set the name of the element definition.

void makVrv::DtElementDefinitionNew::addChild ( DtElementDefinitionNew child)

Internal function.

void makVrv::DtElementDefinitionNew::removeChild ( DtElementDefinitionNew child)

Internal function.

Friends And Related Function Documentation

friend class DtElementDefinitionManager
friend

Use the element definition manager to create, copy and destroy element definitions.

Member Data Documentation

DtUnicode makVrv::DtElementDefinitionNew::myName
protected
std::string makVrv::DtElementDefinitionNew::myFileName
protected
DefinitionSetList makVrv::DtElementDefinitionNew::mySets
protected
std::vector<std::string> makVrv::DtElementDefinitionNew::myDuplicateNames
protected
bool makVrv::DtElementDefinitionNew::myIsHier
protected
bool makVrv::DtElementDefinitionNew::myDuplicateFlag
protected
DtElementDefinitionNew* makVrv::DtElementDefinitionNew::myParent
protected
DefinitionList makVrv::DtElementDefinitionNew::myChildren
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)