VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtElementDefinitionNew.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 
11 #include <vector>
12 #include <vrvUtil/DtUnicode.h>
14 #include <vrvCore/vrvCore.h>
15 
16 namespace makVrv
17 {
18  class DtVisualizerAttribute;
19  class DtVisualizerDefinition;
20  class DtElementDefinitionManager;
21 
26  {
27  public:
30  const DtUnicode& name() const;
31 
34  const std::string& fileName() const;
35 
37  const std::vector<std::string>& duplicateNames() const;
38 
40  void setFileName(const std::string&);
41 
45  bool isEqual(const DtElementDefinitionNew&) const;
46 
48  int numberOfVisualizerDefinitionSets() const;
49 
52  DtVisualizerDefinitionSet& visualizerDefinitionSet(int modelSet);
53 
57  const DtVisualizerDefinitionSet& visualizerDefinitionSet(
58  int modelSet) const;
59 
62  DtElementDefinitionNew* findParent();
63 
66  const DtElementDefinitionNew* findParent() const;
67 
70  unsigned int numberOfChildren() const;
71 
74  DtElementDefinitionNew* findChild(unsigned int index);
75 
78  const DtElementDefinitionNew* findChild(unsigned int index) const;
79 
83  int findChildIndex(const DtElementDefinitionNew* child) const;
84 
86  std::vector<DtElementDefinitionNew*> getChildren();
87 
92  DtVisualizerDefinition* findOrCreateLocalVisualizer(int modelSet,
93  int visualizerIndex);
94 
99  DtVisualizerAttribute* findOrCreateLocalAttribute(int modelSet,
100  int visualizerIndex, const std::string& attributeName);
101 
103  bool isHier() const;
104 
106  void setIsHier(bool isHier);
107 
110  bool isDuplicate() const;
111 
113  void addDuplicateName(const std::string& duplicateName);
114 
116  void setDuplicateFlag(bool duplicate);
117 
119  DtElementDefinitionNew* clone() const;
120 
121  protected:
122 
126 
128  DtElementDefinitionNew(const DtUnicode& name);
129 
132 
133  public:
136 
137  private:
146 
147  public:
150  DtElementDefinitionNew* clone(const DtUnicode& name,
151  DtElementDefinitionNew* newParent) const;
152 
154  void setName(const DtUnicode& name);
155 
157  void addChild(DtElementDefinitionNew* child);
158 
160  void removeChild(DtElementDefinitionNew* child);
161 
162  protected:
163 
164  typedef std::vector<DtElementDefinitionNew*> DefinitionList;
165  typedef std::vector<DtVisualizerDefinitionSet*> DefinitionSetList;
166 
168  std::string myFileName;
170  std::vector<std::string> myDuplicateNames;
171  bool myIsHier;
173 
176  };
177 }
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::string myFileName
Definition: DtElementDefinitionNew.h:168
DtUnicode myName
Definition: DtElementDefinitionNew.h:167
The makVrv::DtVisualizerDefinitionSet is a collection of makVrv::DtVisualizerDefinition instances...
Definition: DtVisualizerDefinitionSet.h:20
std::vector< DtElementDefinitionNew * > DefinitionList
Definition: DtElementDefinitionNew.h:164
Manager which owns element definitions.for one type of element Use the makVrv::DtElementDefinitionTyp...
Definition: DtElementDefinitionManager.h:44
DtElementDefinitionNew * myParent
Definition: DtElementDefinitionNew.h:174
DefinitionList myChildren
Definition: DtElementDefinitionNew.h:175
std::vector< DtVisualizerDefinitionSet * > DefinitionSetList
Definition: DtElementDefinitionNew.h:165
DefinitionSetList mySets
Definition: DtElementDefinitionNew.h:169
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
The element definition class contains the element definition information. The makVrv::DtElementDefini...
Definition: DtElementDefinitionNew.h:25
bool myIsHier
Definition: DtElementDefinitionNew.h:171
bool myDuplicateFlag
Definition: DtElementDefinitionNew.h:172
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
std::vector< std::string > myDuplicateNames
Definition: DtElementDefinitionNew.h:170
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)