VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
28  const std::string& schemaName() const;
29 
32  int numberOfAttributes() const;
33 
40  DtVisualizerAttribute* findAttribute(int index);
41 
47  void getAttributes(SortedAttributeMap& map) const;
48 
54  DtVisualizerAttribute* findAttribute(const std::string& name);
55 
61  const DtVisualizerAttribute* findAttribute(const std::string& name) const;
62 
69  const DtVisualizerAttribute* findAttributeLowercase(const std::string& name) const;
70 
75  DtVisualizerAttribute* findOrCreateLocalAttribute(const std::string& name);
76 
78  void setAttribute(const std::string& name,
79  std::auto_ptr<DtVisualizerAttribute> attribute );
80 
83  void removeAttribute(const std::string& name, bool localOnly);
84 
89  bool attributeLocal(const std::string& name) const;
90 
95  bool attributeInherited(const std::string& name) const;
96 
102  bool attributeInheritedLowercase(const std::string& name) const;
103 
108  bool attributeOverridden(const std::string& name) const;
109 
115  bool attributeOverriddenLowercase(const std::string& name) const;
116 
119  DtVisualizerDefinition* findParent();
120 
123  const DtVisualizerDefinition* findParent() const;
124 
127  unsigned int numberOfChildren() const;
128 
131  DtVisualizerDefinition* findChild(unsigned int index);
132 
135  const DtVisualizerDefinition* findChild(unsigned int index) const;
136 
140  int findChildIndex(const DtVisualizerDefinition* child) const;
141 
142  protected:
143 
147 
149  DtVisualizerDefinition(const std::string& schemaName);
150 
152  DtVisualizerDefinition(const std::string& schemaName,
153  DtVisualizerDefinition* parent);
154 
156  DtVisualizerDefinition* clone(DtVisualizerDefinition* parent) const;
157 
160 
162  void setParent(DtVisualizerDefinition* parent);
163 
165  void addChild(DtVisualizerDefinition*);
166 
168  void removeChild(DtVisualizerDefinition*);
169 
170  private:
171 
172  //typedef boost::unordered_map<std::string,DtVisualizerAttribute*>
173  typedef std::map<std::string,DtVisualizerAttribute*>
175 
176  typedef std::vector<DtVisualizerDefinition*> DefinitionList;
177 
180 
181  std::string mySchemaName;
183  };
184 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)