CFx SDK Documentation  2023 SP0
GiShmDataStorage.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef __OD_GI_SHM_DATA_STORAGE__
25 #define __OD_GI_SHM_DATA_STORAGE__
26 
27 #include "Gi/GiGeometry.h"
28 #include "Ge/GeVector3dArray.h"
29 #include "DbStubPtrArray.h"
30 #include "CmEntityColorArray.h"
31 #include "CmTransparencyArray.h"
32 #include "UInt8Array.h"
33 #include "UInt32Array.h"
34 #include "Int32Array.h"
35 #include "UInt16Array.h"
36 #include "GsMarkerArray.h"
37 
39 {
40  protected:
47  public:
49 
50  const OdUInt16Array &colorsArray() const { return m_colors; }
53  OdUInt16 *resizeColorsArray(OdUInt32 nSize, bool bSetPtr = true) { m_colors.resize(nSize); if (bSetPtr) setColorsArray(); return m_colors.asArrayPtr(); }
54 
58  OdCmEntityColor *resizeTrueColorsArray(OdUInt32 nSize, bool bSetPtr = true) { m_trueColors.resize(nSize); if (bSetPtr) setTrueColorsArray(); return m_trueColors.asArrayPtr(); }
59 
60  const OdDbStubPtrArray &layerIdsArray() const { return m_layers; }
62  void setLayersArray() { setLayers(const_cast<OdDbStub**>(m_layers.getPtr())); }
63  OdDbStub **resizeLayerIdsArray(OdUInt32 nSize, bool bSetPtr = true) { m_layers.resize(nSize); if (bSetPtr) setLayersArray(); return m_layers.asArrayPtr(); }
64 
65  const OdDbStubPtrArray &linetypeIdsArray() const { return m_linetypes; }
67  void setLinetypesArray() { setLinetypes(const_cast<OdDbStub**>(m_linetypes.getPtr())); }
68  OdDbStub **resizeLinetypeIdsArray(OdUInt32 nSize, bool bSetPtr = true) { m_linetypes.resize(nSize); if (bSetPtr) setLinetypesArray(); return m_linetypes.asArrayPtr(); }
69 
73  OdGsMarker *resizeSelectionMarkersArray(OdUInt32 nSize, bool bSetPtr = true) { m_selMarkers.resize(nSize); if (bSetPtr) setSelectionMarkersArray(); return m_selMarkers.asArrayPtr(); }
74 
75  const OdUInt8Array &visibilityArray() const { return m_visibilities; }
78  OdUInt8 *resizeVisibilityArray(OdUInt32 nSize, bool bSetPtr = true) { m_visibilities.resize(nSize); if (bSetPtr) setVisibilityArray(); return m_visibilities.asArrayPtr(); }
79 
80  void cloneData(const OdGiEdgeData *pData) { *(OdGiEdgeData*)this = *pData; }
82  {
83  setColors(NULL);
85  setLayers(NULL);
89  }
90  void setPointersArray(const OdGiEdgeData *pEdgeData = NULL)
91  {
92  if (!pEdgeData || pEdgeData->colors()) setColorsArray();
93  if (!pEdgeData || pEdgeData->trueColors()) setTrueColorsArray();
94  if (!pEdgeData || pEdgeData->layerIds()) setLayersArray();
95  if (!pEdgeData || pEdgeData->linetypeIds()) setLinetypesArray();
96  if (!pEdgeData || pEdgeData->selectionMarkers()) setSelectionMarkersArray();
97  if (!pEdgeData || pEdgeData->visibility()) setVisibilityArray();
98  }
99  void clearArrays(const OdGiEdgeData *pEdgeData = NULL)
100  {
101  if (!pEdgeData || pEdgeData->colors()) m_colors.clear();
102  if (!pEdgeData || pEdgeData->trueColors()) m_trueColors.clear();
103  if (!pEdgeData || pEdgeData->layerIds()) m_layers.clear();
104  if (!pEdgeData || pEdgeData->linetypeIds()) m_linetypes.clear();
105  if (!pEdgeData || pEdgeData->selectionMarkers()) m_selMarkers.clear();
106  if (!pEdgeData || pEdgeData->visibility()) m_visibilities.clear();
107  }
108  void deleteArrays(const OdGiEdgeData *pEdgeData = NULL)
109  {
110  if (!pEdgeData || pEdgeData->colors()) m_colors.setPhysicalLength(0);
111  if (!pEdgeData || pEdgeData->trueColors()) m_trueColors.setPhysicalLength(0);
112  if (!pEdgeData || pEdgeData->layerIds()) m_layers.setPhysicalLength(0);
113  if (!pEdgeData || pEdgeData->linetypeIds()) m_linetypes.setPhysicalLength(0);
114  if (!pEdgeData || pEdgeData->selectionMarkers()) m_selMarkers.setPhysicalLength(0);
115  if (!pEdgeData || pEdgeData->visibility()) m_visibilities.setPhysicalLength(0);
116  }
117  void reserveArrays(const OdGiEdgeData *pEdgeData, OdUInt32 nReserve)
118  {
119  if (!pEdgeData || pEdgeData->colors()) m_colors.reserve(nReserve);
120  if (!pEdgeData || pEdgeData->trueColors()) m_trueColors.reserve(nReserve);
121  if (!pEdgeData || pEdgeData->layerIds()) m_layers.reserve(nReserve);
122  if (!pEdgeData || pEdgeData->linetypeIds()) m_linetypes.reserve(nReserve);
123  if (!pEdgeData || pEdgeData->selectionMarkers()) m_selMarkers.reserve(nReserve);
124  if (!pEdgeData || pEdgeData->visibility()) m_visibilities.reserve(nReserve);
125  }
126  void copyFrom(const OdGiEdgeData *pEdgeData, OdUInt32 nEdge)
127  {
128  if (pEdgeData && pEdgeData->colors()) m_colors.push_back(pEdgeData->colors()[nEdge]);
129  if (pEdgeData && pEdgeData->trueColors()) m_trueColors.push_back(pEdgeData->trueColors()[nEdge]);
130  if (pEdgeData && pEdgeData->layerIds()) m_layers.push_back(pEdgeData->layerIds()[nEdge]);
131  if (pEdgeData && pEdgeData->linetypeIds()) m_linetypes.push_back(pEdgeData->linetypeIds()[nEdge]);
132  if (pEdgeData && pEdgeData->selectionMarkers()) m_selMarkers.push_back(pEdgeData->selectionMarkers()[nEdge]);
133  if (pEdgeData && pEdgeData->visibility()) m_visibilities.push_back(pEdgeData->visibility()[nEdge]);
134  }
135 };
136 
138 {
139  public:
141  protected:
151  public:
153 
154  const OdUInt16Array &colorsArray() const { return m_colors; }
157  OdUInt16 *resizeColorsArray(OdUInt32 nSize, bool bSetPtr = true) { m_colors.resize(nSize); if (bSetPtr) setColorsArray(); return m_colors.asArrayPtr(); }
158 
162  OdCmEntityColor *resizeTrueColorsArray(OdUInt32 nSize, bool bSetPtr = true) { m_trueColors.resize(nSize); if (bSetPtr) setTrueColorsArray(); return m_trueColors.asArrayPtr(); }
163 
164  const OdDbStubPtrArray &layerIdsArray() const { return m_layers; }
166  void setLayersArray() { setLayers(const_cast<OdDbStub**>(m_layers.getPtr())); }
167  OdDbStub **resizeLayerIdsArray(OdUInt32 nSize, bool bSetPtr = true) { m_layers.resize(nSize); if (bSetPtr) setLayersArray(); return m_layers.asArrayPtr(); }
168 
172  OdGsMarker *resizeSelectionMarkersArray(OdUInt32 nSize, bool bSetPtr = true) { m_markers.resize(nSize); if (bSetPtr) setSelectionMarkersArray(); return m_markers.asArrayPtr(); }
173 
174  const OdGeVector3dArray &normalsArray() const { return m_normals; }
177  OdGeVector3d *resizeNormalsArray(OdUInt32 nSize, bool bSetPtr = true) { m_normals.resize(nSize); if (bSetPtr) setNormalsArray(); return m_normals.asArrayPtr(); }
178 
179  const OdUInt8Array &visibilityArray() const { return m_visibilities; }
182  OdUInt8 *resizeVisibilityArray(OdUInt32 nSize, bool bSetPtr = true) { m_visibilities.resize(nSize); if (bSetPtr) setVisibilityArray(); return m_visibilities.asArrayPtr(); }
183 
184  const OdDbStubPtrArray &matkerialsArray() const { return m_materials; }
186  void setMaterialsArray() { setMaterials(const_cast<OdDbStub**>(m_materials.getPtr())); }
187  OdDbStub **resizeMaterialsArray(OdUInt32 nSize, bool bSetPtr = true) { m_materials.resize(nSize); if (bSetPtr) setMaterialsArray(); return m_materials.asArrayPtr(); }
188 
189  const OdGiMapperArray &mappersArray() const { return m_mappers; }
192  OdGiMapper *resizeMappersArray(OdUInt32 nSize, bool bSetPtr = true) { m_mappers.resize(nSize); if (bSetPtr) setMappersArray(); return m_mappers.asArrayPtr(); }
193 
198 
199  void cloneData(const OdGiFaceData *pData) { *(OdGiFaceData*)this = *pData; }
201  {
202  setColors(NULL);
204  setLayers(NULL);
206  setNormals(NULL);
209  setMappers(NULL);
211  }
212  void setPointersArray(const OdGiFaceData *pFaceData = NULL)
213  {
214  if (!pFaceData || pFaceData->colors()) setColorsArray();
215  if (!pFaceData || pFaceData->trueColors()) setTrueColorsArray();
216  if (!pFaceData || pFaceData->layerIds()) setLayersArray();
217  if (!pFaceData || pFaceData->selectionMarkers()) setSelectionMarkersArray();
218  if (!pFaceData || pFaceData->normals()) setNormalsArray();
219  if (!pFaceData || pFaceData->visibility()) setVisibilityArray();
220  if (!pFaceData || pFaceData->materials()) setMaterialsArray();
221  if (!pFaceData || pFaceData->mappers()) setMappersArray();
222  if (!pFaceData || pFaceData->transparency()) setTransparencyArray();
223  }
224  void clearArrays(const OdGiFaceData *pFaceData = NULL)
225  {
226  if (!pFaceData || pFaceData->colors()) m_colors.clear();
227  if (!pFaceData || pFaceData->trueColors()) m_trueColors.clear();
228  if (!pFaceData || pFaceData->layerIds()) m_layers.clear();
229  if (!pFaceData || pFaceData->selectionMarkers()) m_markers.clear();
230  if (!pFaceData || pFaceData->normals()) m_normals.clear();
231  if (!pFaceData || pFaceData->visibility()) m_visibilities.clear();
232  if (!pFaceData || pFaceData->materials()) m_materials.clear();
233  if (!pFaceData || pFaceData->mappers()) m_mappers.clear();
234  if (!pFaceData || pFaceData->transparency()) m_transparencies.clear();
235  }
236  void deleteArrays(const OdGiFaceData *pFaceData = NULL)
237  {
238  if (!pFaceData || pFaceData->colors()) m_colors.setPhysicalLength(0);
239  if (!pFaceData || pFaceData->trueColors()) m_trueColors.setPhysicalLength(0);
240  if (!pFaceData || pFaceData->layerIds()) m_layers.setPhysicalLength(0);
241  if (!pFaceData || pFaceData->selectionMarkers()) m_markers.setPhysicalLength(0);
242  if (!pFaceData || pFaceData->normals()) m_normals.setPhysicalLength(0);
243  if (!pFaceData || pFaceData->visibility()) m_visibilities.setPhysicalLength(0);
244  if (!pFaceData || pFaceData->materials()) m_materials.setPhysicalLength(0);
245  if (!pFaceData || pFaceData->mappers()) m_mappers.setPhysicalLength(0);
246  if (!pFaceData || pFaceData->transparency()) m_transparencies.setPhysicalLength(0);
247  }
248  void reserveArrays(const OdGiFaceData *pFaceData, OdUInt32 nReserve)
249  {
250  if (!pFaceData || pFaceData->colors()) m_colors.reserve(nReserve);
251  if (!pFaceData || pFaceData->trueColors()) m_trueColors.reserve(nReserve);
252  if (!pFaceData || pFaceData->layerIds()) m_layers.reserve(nReserve);
253  if (!pFaceData || pFaceData->selectionMarkers()) m_markers.reserve(nReserve);
254  if (!pFaceData || pFaceData->normals()) m_normals.reserve(nReserve);
255  if (!pFaceData || pFaceData->visibility()) m_visibilities.reserve(nReserve);
256  if (!pFaceData || pFaceData->materials()) m_materials.reserve(nReserve);
257  if (!pFaceData || pFaceData->mappers()) m_mappers.reserve(nReserve);
258  if (!pFaceData || pFaceData->transparency()) m_transparencies.reserve(nReserve);
259  }
260  void copyFrom(const OdGiFaceData *pFaceData, OdUInt32 nFace)
261  {
262  if (pFaceData && pFaceData->colors()) m_colors.push_back(pFaceData->colors()[nFace]);
263  if (pFaceData && pFaceData->trueColors()) m_trueColors.push_back(pFaceData->trueColors()[nFace]);
264  if (pFaceData && pFaceData->layerIds()) m_layers.push_back(pFaceData->layerIds()[nFace]);
265  if (pFaceData && pFaceData->selectionMarkers()) m_markers.push_back(pFaceData->selectionMarkers()[nFace]);
266  if (pFaceData && pFaceData->normals()) m_normals.push_back(pFaceData->normals()[nFace]);
267  if (pFaceData && pFaceData->visibility()) m_visibilities.push_back(pFaceData->visibility()[nFace]);
268  if (pFaceData && pFaceData->materials()) m_materials.push_back(pFaceData->materials()[nFace]);
269  if (pFaceData && pFaceData->mappers()) m_mappers.push_back(pFaceData->mappers()[nFace]);
270  if (pFaceData && pFaceData->transparency()) m_transparencies.push_back(pFaceData->transparency()[nFace]);
271  }
272 };
273 
275 {
276  protected:
280  public:
282 
283  const OdGeVector3dArray &normalsArray() const { return m_normals; }
286  OdGeVector3d *resizeNormalsArray(OdUInt32 nSize, bool bSetPtr = true) { m_normals.resize(nSize); if (bSetPtr) setNormalsArray(); return m_normals.asArrayPtr(); }
287 
291  OdCmEntityColor *resizeTrueColorsArray(OdUInt32 nSize, bool bSetPtr = true) { m_trueColors.resize(nSize); if (bSetPtr) setTrueColorsArray(); return m_trueColors.asArrayPtr(); }
292 
293  const OdGePoint3dArray &mappingCoordsArray(MapChannel /*channel*/) const { return m_texCoords; }
296  OdGePoint3d *resizeMappingCoordsArray(MapChannel channel, OdUInt32 nSize, bool bSetPtr = true) { m_texCoords.resize(nSize); if (bSetPtr) setMappingCoordsArray(channel); return m_texCoords.asArrayPtr(); }
297 
298  void cloneData(const OdGiVertexData *pData) { *(OdGiVertexData*)this = *pData; }
300  {
301  setNormals(NULL);
304  }
305  void setPointersArray(const OdGiVertexData *pVertexData = NULL)
306  {
307  if (!pVertexData || pVertexData->normals()) setNormalsArray();
308  if (!pVertexData || pVertexData->trueColors()) setTrueColorsArray();
309  if (!pVertexData || pVertexData->mappingCoords(OdGiVertexData::kAllChannels)) setMappingCoordsArray(OdGiVertexData::kAllChannels);
310  }
311  void clearArrays(const OdGiVertexData *pVertexData = NULL)
312  {
313  if (!pVertexData || pVertexData->normals()) m_normals.clear();
314  if (!pVertexData || pVertexData->trueColors()) m_trueColors.clear();
315  if (!pVertexData || pVertexData->mappingCoords(OdGiVertexData::kAllChannels)) m_texCoords.clear();
316  }
317  void deleteArrays(const OdGiVertexData *pVertexData = NULL)
318  {
319  if (!pVertexData || pVertexData->normals()) m_normals.setPhysicalLength(0);
320  if (!pVertexData || pVertexData->trueColors()) m_trueColors.setPhysicalLength(0);
321  if (!pVertexData || pVertexData->mappingCoords(OdGiVertexData::kAllChannels)) m_texCoords.setPhysicalLength(0);
322  }
323  void reserveArrays(const OdGiVertexData *pVertexData, OdUInt32 nReserve)
324  {
325  if (!pVertexData || pVertexData->normals()) m_normals.reserve(nReserve);
326  if (!pVertexData || pVertexData->trueColors()) m_trueColors.reserve(nReserve);
327  if (!pVertexData || pVertexData->mappingCoords(OdGiVertexData::kAllChannels)) m_texCoords.reserve(nReserve);
328  }
329  void copyFrom(const OdGiVertexData *pVertexData, OdUInt32 nVertex)
330  {
331  if (pVertexData && pVertexData->normals()) m_normals.push_back(pVertexData->normals()[nVertex]);
332  if (pVertexData && pVertexData->trueColors()) m_trueColors.push_back(pVertexData->trueColors()[nVertex]);
333  if (pVertexData && pVertexData->mappingCoords(OdGiVertexData::kAllChannels))
335  }
336 };
337 
339 {
340  protected:
351  public:
354  , m_pFaceList(NULL)
355  , m_pEdgeData(NULL)
356  , m_pFaceData(NULL)
358  { }
359 
360  void setVertexList(const OdGePoint3d *pVertexList) { m_pVertexList = pVertexList; }
361  const OdGePoint3d *vertexList() const { return m_pVertexList; }
362  const OdGePoint3dArray &vertexListArray() const { return m_vertexList; }
365  OdGePoint3d *resizeVertexListArray(OdUInt32 nSize, bool bSetPtr = true) { m_vertexList.resize(nSize); if (bSetPtr) setVertexListArray(); return m_vertexList.asArrayPtr(); }
366 
367  void setFaceList(const OdInt32 *pFaceList) { m_pFaceList = pFaceList; }
368  const OdInt32 *faceList() const { return m_pFaceList; }
369  const OdInt32Array &faceListArray() const { return m_faceList; }
372  OdInt32 *resizeFaceListArray(OdUInt32 nSize, bool bSetPtr = true) { m_faceList.resize(nSize); if (bSetPtr) setFaceListArray(); return m_faceList.asArrayPtr(); }
373 
374  void setEdgeData(const OdGiEdgeData *pEdgeData) { m_pEdgeData = pEdgeData; }
375  const OdGiEdgeData *edgeData() const { return m_pEdgeData; }
376  const OdGiEdgeDataStorage &edgeDataStorage() const { return m_edgeData; }
380  void cloneEdgeData(const OdGiEdgeData *pEdgeData) { if (pEdgeData) { m_edgeData.cloneData(pEdgeData); setEdgeDataStorage(); } else resetEdgeData(); }
381 
382  void setFaceData(const OdGiFaceData *pFaceData) { m_pFaceData = pFaceData; }
383  const OdGiFaceData *faceData() const { return m_pFaceData; }
384  const OdGiFaceDataStorage &faceDataStorage() const { return m_faceData; }
388  void cloneFaceData(const OdGiFaceData *pFaceData) { if (pFaceData) { m_faceData.cloneData(pFaceData); setFaceDataStorage(); } else resetFaceData(); }
389 
390  void setVertexData(const OdGiVertexData *pVertexData) { m_pVertexData = pVertexData; }
391  const OdGiVertexData *vertexData() const { return m_pVertexData; }
396  void cloneVertexData(const OdGiVertexData *pVertexData) { if (pVertexData) { m_vertexData.cloneData(pVertexData); setVertexDataStorage(); } else resetVertexData(); }
397 
399  {
401  setFaceList(NULL);
402  resetEdgeData();
403  resetFaceData();
404  resetVertexData();
408  }
409  void setPointersArray(const OdGiFaceData *pFaceData = NULL, const OdGiEdgeData *pEdgeData = NULL, const OdGiVertexData *pVertexData = NULL)
410  {
413  if (pEdgeData) setEdgeDataStorage();
414  if (pFaceData) setFaceDataStorage();
415  if (pVertexData) setVertexDataStorage();
416  m_edgeData.setPointersArray(pEdgeData);
417  m_faceData.setPointersArray(pFaceData);
418  m_vertexData.setPointersArray(pVertexData);
419  }
420  void clearArrays(const OdGiFaceData *pFaceData = NULL, const OdGiEdgeData *pEdgeData = NULL, const OdGiVertexData *pVertexData = NULL)
421  {
423  m_faceList.clear();
424  m_edgeData.clearArrays(pEdgeData);
425  m_faceData.clearArrays(pFaceData);
426  m_vertexData.clearArrays(pVertexData);
427  }
428  void deleteArrays(const OdGiFaceData *pFaceData = NULL, const OdGiEdgeData *pEdgeData = NULL, const OdGiVertexData *pVertexData = NULL)
429  {
432  m_edgeData.deleteArrays(pEdgeData);
433  m_faceData.deleteArrays(pFaceData);
434  m_vertexData.deleteArrays(pVertexData);
435  }
436 };
437 
438 #endif // __OD_GI_SHM_DATA_STORAGE__
#define NULL
Definition: GsProperties.h:177
ptrdiff_t OdGsMarker
unsigned int OdUInt32
unsigned short OdUInt16
int OdInt32
unsigned char OdUInt8
void clear()
Definition: OdArray.h:979
void push_back(const T &value)
Definition: OdArray.h:987
const T * getPtr() const
Definition: OdArray.h:1102
void reserve(size_type reserveLength)
Definition: OdArray.h:920
const T * asArrayPtr() const
Definition: OdArray.h:1094
void resize(size_type logicalLength, const T &value)
Definition: OdArray.h:834
OdArray & setPhysicalLength(size_type physLength)
Definition: OdArray.h:1507
OdDbStub ** layerIds() const
Definition: GiGeometry.h:195
OdDbStub ** linetypeIds() const
Definition: GiGeometry.h:204
void setTrueColors(const OdCmEntityColor *colors)
Definition: GiGeometry.h:109
void setColors(const OdUInt16 *colors)
Definition: GiGeometry.h:95
const OdGsMarker * selectionMarkers() const
Definition: GiGeometry.h:213
const OdCmEntityColor * trueColors() const
Definition: GiGeometry.h:186
void setVisibility(const OdUInt8 *visibilities)
Definition: GiGeometry.h:167
const OdUInt16 * colors() const
Definition: GiGeometry.h:177
void setSelectionMarkers(const OdGsMarker *selectionMarkers)
Definition: GiGeometry.h:145
const OdUInt8 * visibility() const
Definition: GiGeometry.h:232
void setLayers(OdDbStub **layerIds)
Definition: GiGeometry.h:121
void setLinetypes(OdDbStub **linetypeIds)
Definition: GiGeometry.h:133
OdUInt16Array m_colors
const OdGsMarkerArray & selectionMarkersArray() const
OdGsMarkerArray & selectionMarkersArray()
OdDbStubPtrArray m_linetypes
OdDbStub ** resizeLinetypeIdsArray(OdUInt32 nSize, bool bSetPtr=true)
OdUInt8Array & visibilityArray()
OdDbStubPtrArray & layerIdsArray()
void cloneData(const OdGiEdgeData *pData)
const OdDbStubPtrArray & layerIdsArray() const
OdUInt16Array & colorsArray()
const OdDbStubPtrArray & linetypeIdsArray() const
OdCmEntityColorArray m_trueColors
OdGsMarker * resizeSelectionMarkersArray(OdUInt32 nSize, bool bSetPtr=true)
void deleteArrays(const OdGiEdgeData *pEdgeData=NULL)
void clearArrays(const OdGiEdgeData *pEdgeData=NULL)
void reserveArrays(const OdGiEdgeData *pEdgeData, OdUInt32 nReserve)
OdGsMarkerArray m_selMarkers
OdDbStubPtrArray & linetypeIdsArray()
OdDbStub ** resizeLayerIdsArray(OdUInt32 nSize, bool bSetPtr=true)
OdUInt8Array m_visibilities
const OdCmEntityColorArray & trueColorsArray() const
void copyFrom(const OdGiEdgeData *pEdgeData, OdUInt32 nEdge)
OdDbStubPtrArray m_layers
OdCmEntityColor * resizeTrueColorsArray(OdUInt32 nSize, bool bSetPtr=true)
const OdUInt8Array & visibilityArray() const
void setPointersArray(const OdGiEdgeData *pEdgeData=NULL)
OdUInt16 * resizeColorsArray(OdUInt32 nSize, bool bSetPtr=true)
OdUInt8 * resizeVisibilityArray(OdUInt32 nSize, bool bSetPtr=true)
OdCmEntityColorArray & trueColorsArray()
const OdUInt16Array & colorsArray() const
const OdGeVector3d * normals() const
Definition: GiGeometry.h:459
const OdUInt8 * visibility() const
Definition: GiGeometry.h:477
void setLayers(OdDbStub **layerIds)
Definition: GiGeometry.h:309
void setNormals(const OdGeVector3d *normals)
Definition: GiGeometry.h:333
void setSelectionMarkers(const OdGsMarker *selectionMarkers)
Definition: GiGeometry.h:321
void setMaterials(OdDbStub **materialIds)
Definition: GiGeometry.h:366
void setColors(const OdUInt16 *colors)
Definition: GiGeometry.h:283
void setTrueColors(const OdCmEntityColor *colors)
Definition: GiGeometry.h:297
void setMappers(const OdGiMapper *mappers)
Definition: GiGeometry.h:378
const OdCmEntityColor * trueColors() const
Definition: GiGeometry.h:432
OdDbStub ** materials() const
Definition: GiGeometry.h:486
void setTransparency(const OdCmTransparency *transparencies)
Definition: GiGeometry.h:389
const OdUInt16 * colors() const
Definition: GiGeometry.h:423
const OdGiMapper * mappers() const
Definition: GiGeometry.h:495
const OdGsMarker * selectionMarkers() const
Definition: GiGeometry.h:450
const OdCmTransparency * transparency() const
Definition: GiGeometry.h:504
OdDbStub ** layerIds() const
Definition: GiGeometry.h:441
void setVisibility(const OdUInt8 *visibilities)
Definition: GiGeometry.h:354
OdArray< OdGiMapper, OdMemoryAllocator< OdGiMapper > > OdGiMapperArray
void setPointersArray(const OdGiFaceData *pFaceData=NULL)
OdCmEntityColorArray m_trueColors
const OdCmEntityColorArray & trueColorsArray() const
OdGiMapperArray m_mappers
OdCmTransparencyArray m_transparencies
void clearArrays(const OdGiFaceData *pFaceData=NULL)
const OdUInt16Array & colorsArray() const
void deleteArrays(const OdGiFaceData *pFaceData=NULL)
OdGiMapperArray & mappersArray()
OdDbStubPtrArray m_layers
OdCmEntityColor * resizeTrueColorsArray(OdUInt32 nSize, bool bSetPtr=true)
const OdDbStubPtrArray & layerIdsArray() const
OdCmTransparencyArray & transparencyArray()
OdDbStubPtrArray & materialsArray()
OdDbStub ** resizeLayerIdsArray(OdUInt32 nSize, bool bSetPtr=true)
const OdCmTransparencyArray & transparencyArray() const
const OdGeVector3dArray & normalsArray() const
OdUInt16Array & colorsArray()
OdGeVector3d * resizeNormalsArray(OdUInt32 nSize, bool bSetPtr=true)
OdUInt8Array m_visibilities
OdUInt8Array & visibilityArray()
void copyFrom(const OdGiFaceData *pFaceData, OdUInt32 nFace)
OdGsMarkerArray m_markers
const OdGsMarkerArray & selectionMarkersArray() const
OdDbStubPtrArray & layerIdsArray()
OdUInt16Array m_colors
OdGsMarkerArray & selectionMarkersArray()
void reserveArrays(const OdGiFaceData *pFaceData, OdUInt32 nReserve)
const OdDbStubPtrArray & matkerialsArray() const
OdDbStubPtrArray m_materials
OdGeVector3dArray m_normals
OdCmTransparency * resizeTransparencyArray(OdUInt32 nSize, bool bSetPtr=true)
const OdUInt8Array & visibilityArray() const
OdUInt8 * resizeVisibilityArray(OdUInt32 nSize, bool bSetPtr=true)
OdGeVector3dArray & normalsArray()
OdUInt16 * resizeColorsArray(OdUInt32 nSize, bool bSetPtr=true)
void cloneData(const OdGiFaceData *pData)
OdGsMarker * resizeSelectionMarkersArray(OdUInt32 nSize, bool bSetPtr=true)
OdGiMapper * resizeMappersArray(OdUInt32 nSize, bool bSetPtr=true)
OdCmEntityColorArray & trueColorsArray()
OdDbStub ** resizeMaterialsArray(OdUInt32 nSize, bool bSetPtr=true)
const OdGiMapperArray & mappersArray() const
void clearArrays(const OdGiFaceData *pFaceData=NULL, const OdGiEdgeData *pEdgeData=NULL, const OdGiVertexData *pVertexData=NULL)
void setPointersArray(const OdGiFaceData *pFaceData=NULL, const OdGiEdgeData *pEdgeData=NULL, const OdGiVertexData *pVertexData=NULL)
const OdGiEdgeDataStorage & edgeDataStorage() const
void setFaceList(const OdInt32 *pFaceList)
OdGiVertexDataStorage m_vertexData
const OdInt32 * faceList() const
void setVertexList(const OdGePoint3d *pVertexList)
OdInt32Array & faceListArray()
OdGiEdgeDataStorage m_edgeData
void deleteArrays(const OdGiFaceData *pFaceData=NULL, const OdGiEdgeData *pEdgeData=NULL, const OdGiVertexData *pVertexData=NULL)
void setEdgeData(const OdGiEdgeData *pEdgeData)
OdInt32 * resizeFaceListArray(OdUInt32 nSize, bool bSetPtr=true)
void setFaceData(const OdGiFaceData *pFaceData)
void cloneEdgeData(const OdGiEdgeData *pEdgeData)
const OdGePoint3d * m_pVertexList
OdInt32Array m_faceList
const OdGiEdgeData * edgeData() const
const OdInt32 * m_pFaceList
void setVertexData(const OdGiVertexData *pVertexData)
const OdGiFaceData * m_pFaceData
OdGePoint3dArray m_vertexList
OdGiVertexDataStorage & vertexDataStorage()
const OdGePoint3d * vertexList() const
OdGiFaceDataStorage & faceDataStorage()
void cloneVertexData(const OdGiVertexData *pVertexData)
const OdGiEdgeData * m_pEdgeData
const OdGiVertexData * m_pVertexData
OdGePoint3d * resizeVertexListArray(OdUInt32 nSize, bool bSetPtr=true)
const OdGiVertexDataStorage & vertexDataStorage() const
OdGiFaceDataStorage m_faceData
OdGiEdgeDataStorage & edgeDataStorage()
const OdGePoint3dArray & vertexListArray() const
OdGePoint3dArray & vertexListArray()
const OdGiFaceDataStorage & faceDataStorage() const
const OdInt32Array & faceListArray() const
const OdGiFaceData * faceData() const
const OdGiVertexData * vertexData() const
void cloneFaceData(const OdGiFaceData *pFaceData)
void setMappingCoords(MapChannel channel, const OdGePoint3d *coords)
Definition: GiGeometry.h:618
const OdCmEntityColor * trueColors() const
Definition: GiGeometry.h:653
void setNormals(const OdGeVector3d *normals)
Definition: GiGeometry.h:573
const OdGePoint3d * mappingCoords(MapChannel channel) const
Definition: GiGeometry.h:664
void setTrueColors(const OdCmEntityColor *colors)
Definition: GiGeometry.h:605
const OdGeVector3d * normals() const
Definition: GiGeometry.h:629
const OdCmEntityColorArray & trueColorsArray() const
OdGeVector3dArray & normalsArray()
void setMappingCoordsArray(MapChannel channel)
OdGePoint3dArray m_texCoords
void setPointersArray(const OdGiVertexData *pVertexData=NULL)
OdGePoint3dArray & mappingCoordsArray(MapChannel)
OdCmEntityColorArray & trueColorsArray()
const OdGeVector3dArray & normalsArray() const
void clearArrays(const OdGiVertexData *pVertexData=NULL)
OdCmEntityColorArray m_trueColors
OdCmEntityColor * resizeTrueColorsArray(OdUInt32 nSize, bool bSetPtr=true)
OdGePoint3d * resizeMappingCoordsArray(MapChannel channel, OdUInt32 nSize, bool bSetPtr=true)
void reserveArrays(const OdGiVertexData *pVertexData, OdUInt32 nReserve)
void deleteArrays(const OdGiVertexData *pVertexData=NULL)
OdGeVector3dArray m_normals
OdGeVector3d * resizeNormalsArray(OdUInt32 nSize, bool bSetPtr=true)
void copyFrom(const OdGiVertexData *pVertexData, OdUInt32 nVertex)
const OdGePoint3dArray & mappingCoordsArray(MapChannel) const
void cloneData(const OdGiVertexData *pData)