VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtElementDefinitionRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
7 
8 #pragma once
9 
14 
15 #define MODEL_SET_3D (0)
16 #define MODEL_SET_XR (1)
17 #define MODEL_SET_2D (5)
18 
19 namespace makArchives
20 {
24  {
25  public:
26  typedef std::vector<DtVisualizerDefinitionRecord> VisualizerDefinitionSet;
27 
29  : myModelSet(0)
30  , myVisualizerDefinitions()
31  {
32 
33  }
34 
36  : myModelSet(modelSet)
37  , myVisualizerDefinitions()
38  {
39 
40  }
41 
43  {
44  return myVisualizerDefinitions;
45  }
46 
48  {
49  return myVisualizerDefinitions;
50  }
51 
52  unsigned int numVisualizerDefinitions()
53  {
54  return myVisualizerDefinitions.size();
55  }
56 
57  bool isEmpty()
58  {
59  return myVisualizerDefinitions.empty();
60  }
61 
62  int modelSet()
63  {
64  return myModelSet;
65  }
66 
67  void setModelSet(int set)
68  {
69  myModelSet = set;
70  }
71 
72  protected:
73  friend class boost::serialization::access;
74 
75  template<class Archive>
76  void serialize(Archive & ar, const unsigned int version)
77  {
78  ar & BOOST_SERIALIZATION_NVP(myModelSet);
79  ar & BOOST_SERIALIZATION_NVP(myVisualizerDefinitions);
80  }
81 
82  protected:
85 
86  };
87 
91  {
92  public:
95 
98  void setName(const Utf8String& name);
99 
101  void setFileName(const Utf8String& fileName);
102 
105  void setParentName(const Utf8String& parentName);
106 
108  void setIsHier(bool isHier);
109 
111  {
112  return myModelSet3D;
113  }
114 
116  {
117  return myModelSet3D;
118  }
119 
121  {
122  return myModelSetXR;
123  }
124 
126  {
127  return myModelSetXR;
128  }
129 
131  {
132  return myModelSet2D;
133  }
134 
136  {
137  return myModelSet2D;
138  }
139 
141  const Utf8String& name() const;
142 
143 
144 
145 
148  const Utf8String& parentName() const;
149 
151  bool isHier(void) const;
152 
154  const Utf8String& fileName() const;
155  protected:
156  friend class boost::serialization::access;
157 
158  template<class Archive>
159  void serialize(Archive & ar, const unsigned int version)
160  {
162 
163  ar & BOOST_SERIALIZATION_NVP(myName);
164  ar & BOOST_SERIALIZATION_NVP(myParentName);
165  if ( version == 1)
166  {
167  ar & BOOST_SERIALIZATION_NVP(myVisualizerDefinitionSets);
168 
169  // Migrate version 1 -> 2
170  myModelSet3D.visualizerDefinitions() = myVisualizerDefinitionSets[MODEL_SET_3D];
171  myModelSetXR.visualizerDefinitions() = myVisualizerDefinitionSets[MODEL_SET_XR];
172  myModelSet2D.visualizerDefinitions() = myVisualizerDefinitionSets[MODEL_SET_2D];
173  }
174 
175  if (version >= 2)
176  {
177  ar & BOOST_SERIALIZATION_NVP(myModelSet3D);
178  ar & BOOST_SERIALIZATION_NVP(myModelSetXR);
179  ar & BOOST_SERIALIZATION_NVP(myModelSet2D);
180  }
181 
182  }
183 
187 
188  // Not serialized, calculated at load
189  // Should this element go into the .hier file?
190  bool myIsHier;
191 
195 
196  // Deprecated
197  std::vector< std::vector< DtVisualizerDefinitionRecord > > myVisualizerDefinitionSets;
198  };
199 }
200 
202 BOOST_CLASS_VERSION(makArchives::DtElementDefinitionRecord, 2)
#define MODEL_SET_3D
Definition: DtElementDefinitionRecord.h:15
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
bool myIsHier
Definition: DtElementDefinitionRecord.h:190
DtVisualizerDefinitionSetRecords myModelSetXR
Definition: DtElementDefinitionRecord.h:193
DtVisualizerDefinitionSetRecords(int modelSet)
Definition: DtElementDefinitionRecord.h:35
DtVisualizerDefinitionSetRecords()
Definition: DtElementDefinitionRecord.h:28
VisualizerDefinitionSet & visualizerDefinitions()
Definition: DtElementDefinitionRecord.h:42
DtVisualizerDefinitionSetRecords & visualizerDefinitionsXR()
Definition: DtElementDefinitionRecord.h:120
std::string Utf8String
Typedef&#39;d string used to indicate that a std::string must use utf8.
Definition: UnicodeStringRecord.h:11
Contains DLL export macros.
bool isEmpty()
Definition: DtElementDefinitionRecord.h:57
void setModelSet(int set)
Definition: DtElementDefinitionRecord.h:67
Utf8String myName
Definition: DtElementDefinitionRecord.h:184
Record for a visualization definition.
Definition: DtElementDefinitionRecord.h:23
VisualizerDefinitionSet myVisualizerDefinitions
Definition: DtElementDefinitionRecord.h:84
const DtVisualizerDefinitionSetRecords & visualizerDefinitionsXR() const
Definition: DtElementDefinitionRecord.h:125
int modelSet()
Definition: DtElementDefinitionRecord.h:62
DtVisualizerDefinitionSetRecords myModelSet3D
Definition: DtElementDefinitionRecord.h:192
Utf8String myParentName
Definition: DtElementDefinitionRecord.h:185
const VisualizerDefinitionSet & visualizerDefinitions() const
Definition: DtElementDefinitionRecord.h:47
int myModelSet
Definition: DtElementDefinitionRecord.h:83
void serialize(Archive &ar, const unsigned int version)
Definition: DtElementDefinitionRecord.h:76
const DtVisualizerDefinitionSetRecords & visualizerDefinitions3D() const
Definition: DtElementDefinitionRecord.h:115
#define MODEL_SET_2D
Definition: DtElementDefinitionRecord.h:17
#define MODEL_SET_XR
Definition: DtElementDefinitionRecord.h:16
Utf8String myFileName
Definition: DtElementDefinitionRecord.h:186
DtVisualizerDefinitionSetRecords myModelSet2D
Definition: DtElementDefinitionRecord.h:194
Record for an element definition (new type)
Definition: DtElementDefinitionRecord.h:90
unsigned int numVisualizerDefinitions()
Definition: DtElementDefinitionRecord.h:52
DtVisualizerDefinitionSetRecords & visualizerDefinitions2D()
Definition: DtElementDefinitionRecord.h:130
std::vector< std::vector< DtVisualizerDefinitionRecord > > myVisualizerDefinitionSets
Definition: DtElementDefinitionRecord.h:197
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
void serialize(Archive &ar, const unsigned int version)
Definition: DtElementDefinitionRecord.h:159
DtVisualizerDefinitionSetRecords & visualizerDefinitions3D()
Definition: DtElementDefinitionRecord.h:110
const DtVisualizerDefinitionSetRecords & visualizerDefinitions2D() const
Definition: DtElementDefinitionRecord.h:135
std::vector< DtVisualizerDefinitionRecord > VisualizerDefinitionSet
Definition: DtElementDefinitionRecord.h:26

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)