VR-Forces 5.0.1 Developer's Guide
 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) 2020 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 #include <matrix/vlVector.h>
12 #include <matrix/vlTaitBryan.h>
13 
14 namespace makVrv
15 {
16  class DtVisualizerAttribute;
17  class DtVisualizerDefinitionSet;
18 
23  {
24  public:
25 
27  typedef std::map<std::string, DtVisualizerAttribute*> SortedAttributeMap;
28 
32  bool isEqual(const DtVisualizerDefinition&) const;
33 
35  const std::string& schemaName() const;
36 
39  int numberOfAttributes() const;
40 
47  const DtVisualizerAttribute* findAttribute(int index) const;
48 
54  void getAttributes(SortedAttributeMap& map) const;
55 
57  std::map<std::string, DtVisualizerAttribute*> getAllAttributes();
58 
64  DtVisualizerAttribute* findAttribute(const std::string& name);
65 
66 
72  const DtVisualizerAttribute* findAttribute(const std::string& name) const;
73 
80  const DtVisualizerAttribute* findAttributeLowercase(const std::string& name) const;
81 
86  DtVisualizerAttribute* findOrCreateLocalAttribute(const std::string& name);
87 
89  void setAttribute(const std::string& name,
90  std::auto_ptr<DtVisualizerAttribute> attribute);
91 
94  void removeAttribute(const std::string& name, bool localOnly);
95 
100  bool attributeLocal(const std::string& name) const;
101 
106  bool attributeInherited(const std::string& name) const;
107 
113  bool attributeInheritedLowercase(const std::string& name) const;
114 
119  bool attributeOverridden(const std::string& name) const;
120 
126  bool attributeOverriddenLowercase(const std::string& name) const;
127 
130  DtVisualizerDefinition* findParent();
131 
134  const DtVisualizerDefinition* findParent() const;
135 
138  unsigned int numberOfChildren() const;
139 
142  DtVisualizerDefinition* findChild(unsigned int index);
143 
146  const DtVisualizerDefinition* findChild(unsigned int index) const;
147 
151  int findChildIndex(const DtVisualizerDefinition* child) const;
152 
153  public:
156  static DtVector toVector(const std::string& param);
157 
160  static DtTaitBryan toTaitBryan(const std::string& param);
161 
162  protected:
163 
167 
169  DtVisualizerDefinition(const std::string& schemaName);
170 
172  DtVisualizerDefinition(const std::string& schemaName,
173  DtVisualizerDefinition* parent);
174 
176  DtVisualizerDefinition* clone(DtVisualizerDefinition* parent) const;
177 
180 
182  void setParent(DtVisualizerDefinition* parent);
183 
185  void addChild(DtVisualizerDefinition*);
186 
188  void removeChild(DtVisualizerDefinition*);
189 
190  private:
191 
192  //typedef boost::unordered_map<std::string,DtVisualizerAttribute*>
193  typedef std::map<std::string, DtVisualizerAttribute*>
195 
196  typedef std::vector<DtVisualizerDefinition*> DefinitionList;
197 
200 
201  std::string mySchemaName;
203  };
204 }
std::map< std::string, DtVisualizerAttribute * > SortedAttributeMap
A map of sorted visualizer attributes.
Definition: DtVisualizerDefinition.h:27
The makVrv::DtVisualizerDefinitionSet is a collection of makVrv::DtVisualizerDefinition instances...
Definition: DtVisualizerDefinitionSet.h:20
AttributeMap myAttributes
Definition: DtVisualizerDefinition.h:202
std::vector< DtVisualizerDefinition * > DefinitionList
Definition: DtVisualizerDefinition.h:196
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::string mySchemaName
Definition: DtVisualizerDefinition.h:201
DefinitionList myChildren
Definition: DtVisualizerDefinition.h:199
std::map< std::string, DtVisualizerAttribute * > AttributeMap
Definition: DtVisualizerDefinition.h:194
The abstract base visualizer attribute class.
Definition: DtVisualizerAttribute.h:26
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:22
DtVisualizerDefinition * myParent
Definition: DtVisualizerDefinition.h:198
Contains DLL export macros.

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)