VR-Vantage API Documentation
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 
67  DtVisualizerAttribute* findOrCreateLocalAttribute(const std::string& name);
68 
70  void setAttribute(const std::string& name,
71  std::auto_ptr<DtVisualizerAttribute> attribute );
72 
75  void removeAttribute(const std::string& name, bool localOnly);
76 
81  bool attributeLocal(const std::string& name) const;
82 
87  bool attributeInherited(const std::string& name) const;
88 
93  bool attributeOverridden(const std::string& name) const;
94 
95 
98  DtVisualizerDefinition* findParent();
99 
102  const DtVisualizerDefinition* findParent() const;
103 
106  unsigned int numberOfChildren() const;
107 
110  DtVisualizerDefinition* findChild(unsigned int index);
111 
114  const DtVisualizerDefinition* findChild(unsigned int index) const;
115 
119  int findChildIndex(const DtVisualizerDefinition* child) const;
120 
121  protected:
122 
126 
128  DtVisualizerDefinition(const std::string& schemaName);
129 
131  DtVisualizerDefinition(const std::string& schemaName,
132  DtVisualizerDefinition* parent);
133 
135  DtVisualizerDefinition* clone(DtVisualizerDefinition* parent) const;
136 
139 
141  void setParent(DtVisualizerDefinition* parent);
142 
144  void addChild(DtVisualizerDefinition*);
145 
147  void removeChild(DtVisualizerDefinition*);
148 
149  private:
150 
151  //typedef boost::unordered_map<std::string,DtVisualizerAttribute*>
152  typedef std::map<std::string,DtVisualizerAttribute*>
154 
155  typedef std::vector<DtVisualizerDefinition*> DefinitionList;
156 
159 
160  std::string mySchemaName;
162  };
163 }


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)