VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVisualizerDefinition.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2011 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 #include <boost/unordered_map.hpp>
8 #include <vector>
9 #include <map>
10 #include <vrvCore/vrvCore.h>
11 
12 namespace makVrv
13 {
14  class DtVisualizerAttribute;
15  class DtVisualizerDefinitionSet;
16 
21  {
22  public:
23 
25  typedef std::map<std::string,DtVisualizerAttribute*> SortedAttributeMap;
26 
30  bool isEqual(const DtVisualizerDefinition&) const;
31 
33  const std::string& schemaName() const;
34 
37  int numberOfAttributes() const;
38 
45  const DtVisualizerAttribute* findAttribute(int index) const;
46 
52  void getAttributes(SortedAttributeMap& map) const;
53 
59  DtVisualizerAttribute* findAttribute(const std::string& name);
60 
66  const DtVisualizerAttribute* findAttribute(const std::string& name) const;
67 
74  const DtVisualizerAttribute* findAttributeLowercase(const std::string& name) const;
75 
80  DtVisualizerAttribute* findOrCreateLocalAttribute(const std::string& name);
81 
83  void setAttribute(const std::string& name,
84  std::auto_ptr<DtVisualizerAttribute> attribute );
85 
88  void removeAttribute(const std::string& name, bool localOnly);
89 
94  bool attributeLocal(const std::string& name) const;
95 
100  bool attributeInherited(const std::string& name) const;
101 
107  bool attributeInheritedLowercase(const std::string& name) const;
108 
113  bool attributeOverridden(const std::string& name) const;
114 
120  bool attributeOverriddenLowercase(const std::string& name) const;
121 
124  DtVisualizerDefinition* findParent();
125 
128  const DtVisualizerDefinition* findParent() const;
129 
132  unsigned int numberOfChildren() const;
133 
136  DtVisualizerDefinition* findChild(unsigned int index);
137 
140  const DtVisualizerDefinition* findChild(unsigned int index) const;
141 
145  int findChildIndex(const DtVisualizerDefinition* child) const;
146 
147  protected:
148 
152 
154  DtVisualizerDefinition(const std::string& schemaName);
155 
157  DtVisualizerDefinition(const std::string& schemaName,
158  DtVisualizerDefinition* parent);
159 
161  DtVisualizerDefinition* clone(DtVisualizerDefinition* parent) const;
162 
165 
167  void setParent(DtVisualizerDefinition* parent);
168 
170  void addChild(DtVisualizerDefinition*);
171 
173  void removeChild(DtVisualizerDefinition*);
174 
175  private:
176 
177  //typedef boost::unordered_map<std::string,DtVisualizerAttribute*>
178  typedef std::map<std::string,DtVisualizerAttribute*>
180 
181  typedef std::vector<DtVisualizerDefinition*> DefinitionList;
182 
185 
186  std::string mySchemaName;
188  };
189 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)