VR-Forces 4.6 Class Documentation
 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) 2011 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 
42  VisualizerDefinitionSet& visualizerDefinitions()
43  {
44  return myVisualizerDefinitions;
45  }
46 
47  const VisualizerDefinitionSet& visualizerDefinitions() const
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 
102  void setParentName(const Utf8String& parentName);
103 
105  void setIsHier(bool isHier);
106 
107  DtVisualizerDefinitionSetRecords& visualizerDefinitions3D()
108  {
109  return myModelSet3D;
110  }
111 
112  const DtVisualizerDefinitionSetRecords& visualizerDefinitions3D() const
113  {
114  return myModelSet3D;
115  }
116 
117  DtVisualizerDefinitionSetRecords& visualizerDefinitionsXR()
118  {
119  return myModelSetXR;
120  }
121 
122  const DtVisualizerDefinitionSetRecords& visualizerDefinitionsXR() const
123  {
124  return myModelSetXR;
125  }
126 
127  DtVisualizerDefinitionSetRecords& visualizerDefinitions2D()
128  {
129  return myModelSet2D;
130  }
131 
132  const DtVisualizerDefinitionSetRecords& visualizerDefinitions2D() const
133  {
134  return myModelSet2D;
135  }
136 
138  const Utf8String& name() const;
139 
142  const Utf8String& parentName() const;
143 
145  bool isHier(void) const;
146 
147  protected:
148  friend class boost::serialization::access;
149 
150  template<class Archive>
151  void serialize(Archive & ar, const unsigned int version)
152  {
153  ar & BOOST_SERIALIZATION_NVP(myName);
154  ar & BOOST_SERIALIZATION_NVP(myParentName);
155  if ( version == 1)
156  {
157  ar & BOOST_SERIALIZATION_NVP(myVisualizerDefinitionSets);
158 
159  // Migrate version 1 -> 2
160  myModelSet3D.visualizerDefinitions() = myVisualizerDefinitionSets[MODEL_SET_3D];
161  myModelSetXR.visualizerDefinitions() = myVisualizerDefinitionSets[MODEL_SET_XR];
162  myModelSet2D.visualizerDefinitions() = myVisualizerDefinitionSets[MODEL_SET_2D];
163  }
164 
165  if (version >= 2)
166  {
167  ar & BOOST_SERIALIZATION_NVP(myModelSet3D);
168  ar & BOOST_SERIALIZATION_NVP(myModelSetXR);
169  ar & BOOST_SERIALIZATION_NVP(myModelSet2D);
170  }
171 
172  }
173 
176 
177  // Not serialized, calculated at load
178  // Should this element go into the .hier file?
179  bool myIsHier;
180 
184 
185  // Deprecated
186  std::vector< std::vector< DtVisualizerDefinitionRecord > > myVisualizerDefinitionSets;
187  };
188 }
189 
191 BOOST_CLASS_VERSION(makArchives::DtElementDefinitionRecord, 2)

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)