VR-Forces 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) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #include <string>
9 #include <vrvCore/vrvCore.h>
10 #include <matrix/vlVector.h>
11 #include <matrix/vlTaitBryan.h>
12 #include <vlutil/vlUuid.h>
13 
14 #include <vector>
15 #include <map>
16 #include <unordered_map>
17 
18 namespace makVrv
19 {
20  class DtVisualizerAttribute;
21  class DtVisualizerDefinitionSet;
22 
27  {
28  public:
29 
31  typedef std::map<std::string, DtVisualizerAttribute*> SortedAttributeMap;
32 
36  bool isEqual(const DtVisualizerDefinition&) const;
37 
39  const std::string& schemaName() const;
40 
45  virtual void setUuidString(const std::string& visDefId);
46 
49  virtual const std::string& uuidString() const;
50 
51 
56  virtual void setPreUuidIndex(int index);
57 
61  virtual int preUuidIndex() const;
62 
65  int numberOfAttributes() const;
66 
68  int numberOfLocalAttributes() const;
69 
76  const DtVisualizerAttribute* findAttribute(int index) const;
77 
83  void getAttributes(SortedAttributeMap& map) const;
84 
86  std::map<std::string, DtVisualizerAttribute*> getAllAttributes();
87 
93  DtVisualizerAttribute* findAttribute(const std::string& name);
94 
95 
101  const DtVisualizerAttribute* findAttribute(const std::string& name) const;
102 
109  const DtVisualizerAttribute* findAttributeLowercase(const std::string& name) const;
110 
115  DtVisualizerAttribute* findOrCreateLocalAttribute(const std::string& name);
116 
118  void setAttribute(const std::string& name,
119  std::unique_ptr<DtVisualizerAttribute> attribute);
120 
123  void removeAttribute(const std::string& name, bool localOnly);
124 
126  virtual void clearAttributes();
127 
132  bool attributeLocal(const std::string& name) const;
133 
138  bool attributeInherited(const std::string& name) const;
139 
145  bool attributeInheritedLowercase(const std::string& name) const;
146 
151  bool attributeOverridden(const std::string& name) const;
152 
158  bool attributeOverriddenLowercase(const std::string& name) const;
159 
162  DtVisualizerDefinition* findParent();
163 
166  const DtVisualizerDefinition* findParent() const;
167 
170  unsigned int numberOfChildren() const;
171 
174  DtVisualizerDefinition* findChild(unsigned int index);
175 
178  const DtVisualizerDefinition* findChild(unsigned int index) const;
179 
183  int findChildIndex(const DtVisualizerDefinition* child) const;
184 
185  public:
188  static DtVector toVector(const std::string& param);
189 
192  static DtTaitBryan toTaitBryan(const std::string& param);
193 
194  protected:
195 
199 
201  DtVisualizerDefinition(const std::string& schemaName);
202 
204  DtVisualizerDefinition(const std::string& schemaName,
205  DtVisualizerDefinition* parent);
206 
208  DtVisualizerDefinition* clone(DtVisualizerDefinition* parent) const;
209 
212 
214  void setParent(DtVisualizerDefinition* parent);
215 
217  void addChild(DtVisualizerDefinition*);
218 
220  void removeChild(DtVisualizerDefinition*);
221 
222  protected:
223  typedef std::map<std::string, DtVisualizerAttribute*>
225 
226  typedef std::vector<DtVisualizerDefinition*> DefinitionList;
227 
229  std::string myUuidString;
230 
232 
233 
234  std::string mySchemaName;
237  };
238 }
std::map< std::string, DtVisualizerAttribute * > SortedAttributeMap
A map of sorted visualizer attributes.
Definition: DtVisualizerDefinition.h:31
The makVrv::DtVisualizerDefinitionSet is a collection of makVrv::DtVisualizerDefinition instances...
Definition: DtVisualizerDefinitionSet.h:28
int myPreUuidIndex
Definition: DtVisualizerDefinition.h:236
AttributeMap myAttributes
Definition: DtVisualizerDefinition.h:235
std::vector< DtVisualizerDefinition * > DefinitionList
Definition: DtVisualizerDefinition.h:226
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::string mySchemaName
Definition: DtVisualizerDefinition.h:234
DefinitionList myChildren
Definition: DtVisualizerDefinition.h:228
std::map< std::string, DtVisualizerAttribute * > AttributeMap
Definition: DtVisualizerDefinition.h:224
The abstract base visualizer attribute class.
Definition: DtVisualizerAttribute.h:27
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:26
DtVisualizerDefinition * myParent
Definition: DtVisualizerDefinition.h:231
std::string myUuidString
Definition: DtVisualizerDefinition.h:229
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)