VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtVisualizerDefinitionSet.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00006 #pragma once
00007 
00008 #include <string>
00009 #include <vector>
00010 #include <vrvCore/vrvCore.h>
00011 
00012 namespace makVrv
00013 {
00014    class DtVisualizerDefinition;
00015    class DtElementDefinition;
00016 
00020    class DT_DLL_VRVCORE DtVisualizerDefinitionSet
00021    {
00022    public: 
00023       
00026       int numberOfVisualizerDefinitions() const;
00027 
00031       DtVisualizerDefinition* findVisualizerDefinition(unsigned int index);
00032 
00038       const DtVisualizerDefinition* findVisualizerDefinition(
00039          unsigned int index) const;
00040 
00043       void findVisualizerDefinitions(const std::string& schemaName,
00044          std::vector<const DtVisualizerDefinition*>& defs) const;
00045 
00048       void findVisualizerDefinitions(const std::string& schemaName,
00049          std::vector<DtVisualizerDefinition*>& defs);
00050 
00056       int indexOfVisualizerDefinition(const DtVisualizerDefinition* def) const;
00057 
00061       DtVisualizerDefinition* createVisualizerDefinition( 
00062          const std::string& schemaName);
00063 
00070       DtVisualizerDefinition* createVisualizerDefinition(
00071          DtVisualizerDefinition* parent);
00072 
00078       void destroyVisualizerDefinition(DtVisualizerDefinition* def);
00079 
00083       bool visualizerDefinitionLocal(const DtVisualizerDefinition* def) const;
00084 
00091       bool visualizerDefinitionInherited(const DtVisualizerDefinition* def) const;
00092 
00098       bool visualizerDefinitionOverridden(const DtVisualizerDefinition* def) const;
00099       
00102       DtVisualizerDefinitionSet* findParent();
00103 
00106       const DtVisualizerDefinitionSet* findParent() const;
00107       
00110       unsigned int numberOfChildren() const;
00111       
00114       DtVisualizerDefinitionSet* findChild(unsigned int index);
00115 
00118       const DtVisualizerDefinitionSet* findChild(unsigned int index) const;
00119       
00123       int findChildIndex(const DtVisualizerDefinitionSet* child) const;
00124       
00125    protected:
00126 
00129       friend class DtElementDefinitionNew;
00130 
00132       DtVisualizerDefinitionSet();
00133 
00135       DtVisualizerDefinitionSet(DtVisualizerDefinitionSet* parent);
00136 
00138       DtVisualizerDefinitionSet* clone(DtVisualizerDefinitionSet* parent) const;
00139 
00141       ~DtVisualizerDefinitionSet();
00142    
00144       void addChild(DtVisualizerDefinitionSet* defSet);
00145 
00147       void removeChild(DtVisualizerDefinitionSet* defSet);
00148 
00150       void addOwnership(DtVisualizerDefinition* definition);
00151 
00155       bool removeOwnership(DtVisualizerDefinition* definition);
00156 
00159       int inheritenceIndex(DtVisualizerDefinition* definition);
00160 
00162       void addInheritance(DtVisualizerDefinition* definition, 
00163          int inheritenceIndex);
00164 
00166       void replaceInheritance(DtVisualizerDefinition* oldDef, 
00167          DtVisualizerDefinition* newDef);
00168 
00170       void removeInheritance(DtVisualizerDefinition* oldDef);
00171 
00176       DtVisualizerDefinitionSet* findOwnerOfVisualizerDefinition(
00177          const DtVisualizerDefinition* def, unsigned int& indexToDef);
00178 
00183       const DtVisualizerDefinitionSet* findOwnerOfVisualizerDefinition(
00184          const DtVisualizerDefinition* def, unsigned int& indexToDef) const;
00185 
00188       DtVisualizerDefinition* findEquivalentDefinition(
00189          const DtVisualizerDefinition* def, 
00190          DtVisualizerDefinitionSet* equivalentToThis) const;
00191 
00195       int level() const;
00196 
00201       DtVisualizerDefinitionSet* findParent(int level);
00202 
00204       void replaceDefinitionParents(DtVisualizerDefinition* oldDef, 
00205          DtVisualizerDefinition* newDef);
00206 
00208       void destroyVisualizerDefinitionsWithParent(DtVisualizerDefinition* parent);
00209       
00210    protected:
00211    
00212       typedef std::vector<DtVisualizerDefinition*> DefinitionList;
00213       typedef std::vector<DtVisualizerDefinitionSet*> VisualizerDefinitionSetList;
00214             
00215       DtVisualizerDefinitionSet* myParent;
00216       VisualizerDefinitionSetList myChildren;
00217 
00218       DefinitionList myDefinitions;
00219       DefinitionList myInheritedDefintions;
00220    };
00221 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)