CFx SDK Documentation  2020SP3
GsFiler.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_GS_FILER_H__
25 #define __OD_GS_FILER_H__
26 
27 #include "TD_PackPush.h"
28 
29 #include "OdStreamBuf.h"
30 #include "Gs/GsExport.h"
31 #include "OdBinaryData.h"
32 #include "OdVector.h"
33 #include "IntArray.h"
34 #include "UInt8Array.h"
35 #include "UInt32Array.h"
36 #include "UInt16Array.h"
37 #include "GsMarkerArray.h"
38 #include "DbStubPtrArray.h"
39 #include "Ge/GePoint2d.h"
40 #include "UInt64Array.h"
41 
42 class OdGePoint2d;
43 class OdGeVector2d;
44 class OdGePoint3d;
45 class OdGeVector3d;
46 class OdGeMatrix3d;
47 class OdGeExtents3d;
48 
49 class OdDbStub;
51 
52 class OdGsView;
53 class OdGsCache;
54 
55 class OdGsDCRect;
56 class OdGsDCRectDouble;
59 
63 {
64  public:
66 
67  OdGsFiler() { }
68  virtual ~OdGsFiler() { }
69  public:
70  enum Section
71  {
72  kEOFSection = -1, // EOF
73  // V1 sections
74  kHeaderSection = 0, // File header
75  kDatabaseLinkSection, // Database linkage section
76  kGsModuleSection, // Gs Module section
77  kDeviceSection, // Gs Device section
78  kClientDeviceSection, // Client Gs Device section
79  kViewSection, // Gs View section
80  kClientViewSection, // Client Gs View section
81  kModelSection, // Gs Model section
82  kClientModelSection, // Client Gs Model section
83  kNodeSection, // Gs Node section
84  kClientNodeSection, // Client Gs Node section
85  kMetafileSection, // Gs Metafile section
86  kClientMetafileSection, // Client Gs Metafile section
87  kClientMaterialSection, // Client Gs Material section
88  kBlockRefImplSection, // Block reference cache implementation section
89  kLinkedDeviceSection, // Linked Gs Device section
90  kRenditionSection, // Client visual rendition section
91  // V2 sections
92  kRuntimeChangesSection // Runtime Gs modifications section
93  };
94  enum Version
95  {
96  kV1 = 100,
97  kV2 = 200,
98  kVLast = kV2
99  };
101  {
102  typedef void (*SetPtrFunc)(void *pPlace, const void *pValue);
104  virtual ~SubstitutionActuator() { }
105  virtual void applySubstitution(void *pPlace, const void *pValue, SetPtrFunc pSetFunc) { pSetFunc(pPlace, pValue); }
106  };
107  struct Substitutor
108  {
109  // Register known substitution
110  virtual void registerSubstitution(const void *pValue, const void *pSubstitution, OdUInt32 size = sizeof(OdIntPtr), bool bRegister = true, bool bImmediate = false) = 0;
111  // Register substitution request
112  virtual void requestSubstitution(void *pPlace, const void *pValue, OdUInt32 size = sizeof(OdIntPtr), bool bRegister = true, bool bImmediate = true) = 0;
113  // Register substitution request for smart pointer
114  virtual void requestSubstitution(OdBaseObjectPtr *pPlace, const void *pValue, bool bRegister = true, bool bImmediate = true) = 0;
115  // Register substitution with non-default behavior
116  virtual void requestSubstitution(void *pPlace, OdGsFiler::SubstitutionActuator *pActuator, const void *pValue, OdUInt32 size = sizeof(OdIntPtr), bool bRegister = true, bool bImmediate = true) = 0;
117  // Clear substitutions
118  virtual void clearSubstitutions(const void *pValue = NULL, OdUInt32 size = 0) = 0;
119  // Run substitutions
120  virtual void runSubstitutions(const void *pValue = NULL, OdUInt32 size = 0, bool bClear = true) = 0;
121  };
122  public:
123  // Attach stream and initiate read/write process
124  virtual bool setStream(OdStreamBuf *pStream, bool bWrite = false) = 0;
125  virtual OdStreamBufPtr getStream() const = 0;
126 
127  // Setup working database
128  virtual void setDatabase(const OdDbBaseDatabase *pDb) = 0;
129  virtual OdDbBaseDatabase *getDatabase() const = 0;
130 
131  // File version control
132  virtual void setVersion(OdUInt32 nVersion) = 0;
133  virtual OdUInt32 version() const = 0;
134 
135  // Database hash control
136  virtual void wrDbHash(const OdDbBaseDatabase *pDb) = 0;
137  virtual bool checkDbHash(const OdDbBaseDatabase *pDb) = 0;
138 
139  // Setup sections for writing
140  virtual void setWriteSections(OdUInt64 nSections) = 0;
141  virtual void setWriteSection(Section section, bool bSet) = 0;
142  virtual bool isWriteSection(Section section) const = 0;
143 
144  // Setup sections for reading
145  virtual void setReadSections(OdUInt64 nSections) = 0;
146  virtual void setReadSection(Section section, bool bSet) = 0;
147  virtual bool isReadSection(Section section) const = 0;
148 
149  // Section writing
150  virtual void wrSectionBegin(Section section) = 0;
151  virtual void wrSectionEnd(Section section) = 0;
152  virtual void wrEOFSection() = 0;
153 
154  // Section reading
155  virtual Section rdSection() const = 0;
156  virtual Section curSection() const = 0;
157  virtual void skipSection() const = 0;
158  virtual void rdBackSection() const = 0;
159  virtual bool checkEOF() const = 0;
160 
161  // Substitutions processing
162  virtual Substitutor *subst() const = 0;
163  virtual void makeSubstitutions(bool bClear = true) const = 0;
164  virtual OdRxObjectPtr getSubstitutor() const = 0;
165  virtual void setSubstitutor(OdRxObject *pSubst) = 0;
166 
167  // Arbitrary data
168  virtual void setArbitraryData(const OdChar *pName, OdRxObject *pObject) = 0;
169  virtual OdRxObjectPtr getArbitraryData(const OdChar *pName) const = 0;
170  virtual bool hasArbitraryData(const OdChar *pName) const = 0;
171  virtual void clearArbitraryData() = 0;
172 
173  // Pointers registration
174  virtual void registerPtr(const void *pPtr) = 0;
175  virtual void unregisterPtr(const void *pPtr) = 0;
176  virtual bool isPtrRegistered(const void *pPtr) const = 0;
177  virtual void clearRegisteredPtrs() = 0;
178 
179  // Process handles
180  virtual void wrHandle(OdDbStub *pHandle) = 0;
181  virtual OdDbStub *rdHandle() const = 0;
182 
183  // Process classes
184  virtual void wrClass(OdRxObject *pObj) = 0;
185  virtual OdRxObjectPtr rdClass() const = 0;
186 
187  // Process raw data
188  virtual void wrRawData(const void *pData, OdUInt32 nDataSize) = 0;
189  virtual void rdRawData(void *pData, OdUInt32 nDataSize) const = 0;
190 
191  // Process data primitives
192  virtual void wrBool(bool bVal);
193  virtual bool rdBool() const;
194 
195  virtual void wrInt(int val);
196  virtual int rdInt() const;
197 
198  virtual void wrUInt(unsigned int val);
199  virtual unsigned int rdUInt() const;
200 
201  virtual void wrChar(char val);
202  virtual char rdChar() const;
203 
204  virtual void wrUInt8(OdUInt8 val);
205  virtual OdUInt8 rdUInt8() const;
206 
207  virtual void wrInt16(OdInt16 val);
208  virtual OdInt16 rdInt16() const;
209 
210  virtual void wrUInt16(OdUInt16 val);
211  virtual OdUInt16 rdUInt16() const;
212 
213  virtual void wrInt32(OdInt32 val);
214  virtual OdInt32 rdInt32() const;
215 
216  virtual void wrUInt32(OdUInt32 val);
217  virtual OdUInt32 rdUInt32() const;
218 
219  virtual void wrInt64(OdInt64 val);
220  virtual OdInt64 rdInt64() const;
221 
222  virtual void wrUInt64(OdUInt64 val);
223  virtual OdUInt64 rdUInt64() const;
224 
225  virtual void wrIntPtr(OdIntPtr val);
226  virtual OdIntPtr rdIntPtr() const;
227 
228  void wrPtr(const void *pPtr) { wrIntPtr((OdIntPtr)pPtr); }
229  void *rdPtr() const { return (void*)rdIntPtr(); }
230 
231  virtual void wrCOLORREF(ODCOLORREF val);
232  virtual ODCOLORREF rdCOLORREF() const;
233 
234  virtual void wrFloat(float val);
235  virtual float rdFloat() const;
236 
237  virtual void wrDouble(double val);
238  virtual double rdDouble() const;
239 
240  virtual void wrPoint2d(const OdGePoint2d &pt);
241  virtual void rdPoint2d(OdGePoint2d &pt) const;
242 
243  virtual void wrVector2d(const OdGeVector2d &vec);
244  virtual void rdVector2d(OdGeVector2d &vec) const;
245 
246  virtual void wrPoint3d(const OdGePoint3d &pt);
247  virtual void rdPoint3d(OdGePoint3d &pt) const;
248 
249  virtual void wrVector3d(const OdGeVector3d &vec);
250  virtual void rdVector3d(OdGeVector3d &vec) const;
251 
252  virtual void wrMatrix3d(const OdGeMatrix3d &mat);
253  virtual void rdMatrix3d(OdGeMatrix3d &mat) const;
254 
255  virtual void wrExtents3d(const OdGeExtents3d &ext);
256  virtual void rdExtents3d(OdGeExtents3d &ext) const;
257 
258  virtual void wrAnsiString(const OdAnsiString &str);
259  virtual void rdAnsiString(OdAnsiString &str) const;
260  OdAnsiString rdAnsiStringRet() const { OdAnsiString str; rdAnsiString(str); return str; }
261 
262  virtual void wrString(const OdString &str);
263  virtual void rdString(OdString &str) const;
264  OdString rdStringRet() const { OdString str; rdString(str); return str; }
265 
266  virtual void wrUInt8Array (const OdUInt8Array& arr);
267  virtual void wrUInt16Array(const OdUInt16Array& arr);
268  virtual void wrUInt16Array(OdUInt32 count, const OdUInt16* arr);
269  virtual void wrUInt32Array(const OdUInt32Array& arr);
270  virtual void wrUInt32Array(const OdUInt32Vector& arr);
271  virtual void wrUInt64Array(const OdUInt64Array& arr);
272  virtual void wrUInt64Array(const OdUInt64Vector& vec);
273  virtual void wrUInt64Array(OdUInt32 count, const OdUInt64* arr);
274  virtual void wrIntArray (const OdIntArray& arr);
275  virtual void wrFloatArray (const OdFloatArray& arr);
276  virtual void wrFloatArray (OdUInt32 count, const float* arr);
277  virtual void wrPoint2dArray (const OdGePoint2dArray& arr);
278  virtual void wrPoint3dArray (const OdGePoint3dArray& arr);
279  virtual void wrDbStubPtrArray(const OdDbStubPtrArray& arr);
280  virtual void wrGsDCRect (const OdGsDCRect& rc);
281  virtual void wrGsDCRectDouble(const OdGsDCRectDouble& rcd);
282 
283  virtual void rdUInt8Array (OdUInt8Array& arr);
284  virtual void rdUInt16Array(OdUInt16Array& arr);
285  virtual void rdUInt16Array(OdUInt32 count, OdUInt16* arr);
286  virtual void rdUInt32Array(OdUInt32Array& arr);
287  virtual void rdUInt32Array(OdUInt32Vector& arr);
288  virtual void rdUInt64Array(OdUInt64Array& arr);
289  virtual void rdUInt64Array(OdUInt64Vector& vec);
290  virtual void rdUInt64Array(OdUInt32 count, OdUInt64* arr);
291  virtual void rdIntArray (OdIntArray& arr);
292  virtual void rdFloatArray (OdFloatArray& arr);
293  virtual void rdFloatArray (OdUInt32 count, float* arr);
294  virtual void rdPoint2dArray (OdGePoint2dArray& arr);
295  virtual void rdPoint3dArray (OdGePoint3dArray& arr);
296  virtual void rdDbStubPtrArray(OdDbStubPtrArray& arr);
297  virtual void rdGsDCRect (OdGsDCRect& dcrc);
298  virtual void rdGsDCRectDouble(OdGsDCRectDouble& dcrcd);
299 
300  // Create filer object
301  static OdSmartPtr<OdGsFiler> createObject(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb, OdUInt32 nVersion = kVLast);
302 };
303 
305 
306 #define OdGsFiler_wrArray(filer, arry, wrFunc) \
307  { \
308  filer.wrUInt32(arry.size()); \
309  for (OdUInt32 nVal = 0; nVal < arry.size(); nVal++) \
310  filer.wrFunc(arry.getPtr()[nVal]); \
311  }
312 #define OdGsFilerPtr_wrArray(pFiler, arry, wrFunc) \
313  OdGsFiler_wrArray((*pFiler), arry, wrFunc)
314 
315 #define OdGsFiler_wrArrayRaw(filer, arry, typSz) \
316  { \
317  filer.wrUInt32(arry.size()); \
318  if (!arry.isEmpty()) \
319  filer.wrRawData(arry.getPtr(), arry.size() * typSz); \
320  }
321 #define OdGsFilerPtr_wrArrayRaw(pFiler, arry, typSz) \
322  OdGsFiler_wrArrayRaw((*pFiler), arry, typSz)
323 
324 #define OdGsFiler_rdArray(filer, arry, rdFunc) \
325  { \
326  arry.clear(); \
327  OdUInt32 nElems = filer.rdUInt32(); \
328  arry.setPhysicalLength(nElems); \
329  for (OdUInt32 nElem = 0; nElem < nElems; nElem++) \
330  arry.push_back(filer.rdFunc()); \
331  }
332 #define OdGsFilerPtr_rdArray(pFiler, arry, rdFunc) \
333  OdGsFiler_rdArray((*pFiler), arry, rdFunc)
334 
335 #define OdGsFiler_rdArrayArg(filer, arry, rdFunc) \
336  { \
337  OdUInt32 nElems = filer.rdUInt32(); \
338  arry.resize(nElems); \
339  for (OdUInt32 nElem = 0; nElem < nElems; nElem++) \
340  filer.rdFunc(arry[nElem]); \
341  }
342 #define OdGsFilerPtr_rdArrayArg(pFiler, arry, rdFunc) \
343  OdGsFiler_rdArrayArg((*pFiler), arry, rdFunc)
344 
345 #define OdGsFiler_rdArrayRaw(filer, arry, typSz) \
346  { \
347  OdUInt32 nElems = filer.rdUInt32(); \
348  arry.resize(nElems); \
349  if (nElems) \
350  filer.rdRawData(arry.asArrayPtr(), nElems * typSz); \
351  }
352 #define OdGsFilerPtr_rdArrayRaw(pFiler, arry, typSz) \
353  OdGsFiler_rdArrayRaw((*pFiler), arry, typSz)
354 
358 {
359 public:
361 public:
362  virtual OdGsFilerPtr createGsFiler(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb) = 0;
363 };
364 
366 
370 {
371 public:
373 public:
374  virtual OdBinaryData computeDbHash(const OdDbBaseDatabase *pDb) = 0;
375 };
376 
378 
379 #include "TD_PackPop.h"
380 
381 #endif // __OD_GS_FILER_H__
OdGsFiler::rdGsDCRect
virtual void rdGsDCRect(OdGsDCRect &dcrc)
OdGsFiler::checkDbHash
virtual bool checkDbHash(const OdDbBaseDatabase *pDb)=0
OdGsFiler::kClientViewSection
@ kClientViewSection
Definition: GsFiler.h:80
OdGsFiler::rdClass
virtual OdRxObjectPtr rdClass() const =0
OdGsFiler::setWriteSection
virtual void setWriteSection(Section section, bool bSet)=0
OdGsFiler::rdCOLORREF
virtual ODCOLORREF rdCOLORREF() const
OdGeVector3d
Definition: GeVector3d.h:54
OdGsFilerDbHashPE
Definition: GsFiler.h:370
OdGsFiler::rdFloatArray
virtual void rdFloatArray(OdFloatArray &arr)
OdString
Definition: OdString.h:95
NULL
#define NULL
Definition: GsProperties.h:177
OdGsFiler::kClientMetafileSection
@ kClientMetafileSection
Definition: GsFiler.h:86
OdGsFilerCreatorPE::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGsFilerCreatorPE)
OdGsFiler::checkEOF
virtual bool checkEOF() const =0
OdGsFiler::rdPtr
void * rdPtr() const
Definition: GsFiler.h:229
OdRxObjectPtr
Definition: RxObject.h:345
OdIfc::kV1
@ kV1
Definition: IfcAttributesEnum.h:1295
OdGsFiler::Substitutor::requestSubstitution
virtual void requestSubstitution(void *pPlace, OdGsFiler::SubstitutionActuator *pActuator, const void *pValue, OdUInt32 size=sizeof(OdIntPtr), bool bRegister=true, bool bImmediate=true)=0
OdGsFiler::rdIntPtr
virtual OdIntPtr rdIntPtr() const
OdGsFiler::wrVector3d
virtual void wrVector3d(const OdGeVector3d &vec)
OdGsFilerDbHashPEPtr
OdSmartPtr< OdGsFilerDbHashPE > OdGsFilerDbHashPEPtr
Definition: GsFiler.h:377
OdUInt8
unsigned char OdUInt8
Definition: OdPlatformSettings.h:759
OdGsFiler::wrUInt32Array
virtual void wrUInt32Array(const OdUInt32Array &arr)
OdGsFiler::kClientModelSection
@ kClientModelSection
Definition: GsFiler.h:82
OdGsFiler::rdVector3d
virtual void rdVector3d(OdGeVector3d &vec) const
OdGsView
Definition: Gs.h:133
OdGsFiler::SubstitutionActuator
Definition: GsFiler.h:101
OdGsDCRectDouble
Definition: GsDefs.h:242
OdVector.h
UInt64Array.h
OdInt64
Definition: Int64.h:43
OdGsFiler::wrPoint3dArray
virtual void wrPoint3dArray(const OdGePoint3dArray &arr)
OdGsFiler::isWriteSection
virtual bool isWriteSection(Section section) const =0
OdGsFiler::wrUInt32
virtual void wrUInt32(OdUInt32 val)
OdGsFiler::SubstitutionActuator::applySubstitution
virtual void applySubstitution(void *pPlace, const void *pValue, SetPtrFunc pSetFunc)
Definition: GsFiler.h:105
OdGsFiler::rdString
virtual void rdString(OdString &str) const
count
GLsizei GLsizei * count
Definition: gles2_ext.h:276
OdGsFiler::subst
virtual Substitutor * subst() const =0
OdGsFiler::rdInt
virtual int rdInt() const
OdGsFiler::wrSectionEnd
virtual void wrSectionEnd(Section section)=0
OdBinaryData
Definition: OdBinaryData.h:42
OdIfc::kV2
@ kV2
Definition: IfcAttributesEnum.h:1296
OdRxObject
Definition: RxObject.h:564
OdGsFiler::wrUInt64
virtual void wrUInt64(OdUInt64 val)
OdGsDCRect
Definition: GsDefs.h:111
OdGsFiler::version
virtual OdUInt32 version() const =0
OdGsFiler::wrCOLORREF
virtual void wrCOLORREF(ODCOLORREF val)
OdGsFiler::setReadSections
virtual void setReadSections(OdUInt64 nSections)=0
OdGsFilerCreatorPEPtr
OdSmartPtr< OdGsFilerCreatorPE > OdGsFilerCreatorPEPtr
Definition: GsFiler.h:365
OdGsFiler::rdFloatArray
virtual void rdFloatArray(OdUInt32 count, float *arr)
OdGsFiler::rdIntArray
virtual void rdIntArray(OdIntArray &arr)
OdGsFiler::rdUInt32
virtual OdUInt32 rdUInt32() const
OdGsFiler::wrDouble
virtual void wrDouble(double val)
OdGsFiler::getSubstitutor
virtual OdRxObjectPtr getSubstitutor() const =0
OdGsFiler::kNodeSection
@ kNodeSection
Definition: GsFiler.h:83
OdGsFiler::rdUInt8Array
virtual void rdUInt8Array(OdUInt8Array &arr)
OdGsFiler::registerPtr
virtual void registerPtr(const void *pPtr)=0
OdGsFiler::rdAnsiStringRet
OdAnsiString rdAnsiStringRet() const
Definition: GsFiler.h:260
OdGsFiler::wrIntPtr
virtual void wrIntPtr(OdIntPtr val)
OdGsFiler::wrMatrix3d
virtual void wrMatrix3d(const OdGeMatrix3d &mat)
OdGsCache
Definition: GsModel.h:40
OdGsFiler::rdStringRet
OdString rdStringRet() const
Definition: GsFiler.h:264
OdGsFiler::rdRawData
virtual void rdRawData(void *pData, OdUInt32 nDataSize) const =0
OdGsFiler::wrClass
virtual void wrClass(OdRxObject *pObj)=0
OdGsFiler::wrIntArray
virtual void wrIntArray(const OdIntArray &arr)
OdGsFiler::kRenditionSection
@ kRenditionSection
Definition: GsFiler.h:90
OdGsFiler::wrUInt64Array
virtual void wrUInt64Array(const OdUInt64Array &arr)
OdArray
Definition: OdArray.h:591
TD_PackPop.h
OdGsFiler::wrUInt
virtual void wrUInt(unsigned int val)
OdGsFiler::Substitutor::requestSubstitution
virtual void requestSubstitution(void *pPlace, const void *pValue, OdUInt32 size=sizeof(OdIntPtr), bool bRegister=true, bool bImmediate=true)=0
OdGsFiler::setDatabase
virtual void setDatabase(const OdDbBaseDatabase *pDb)=0
IntArray.h
OdGsFiler::kModelSection
@ kModelSection
Definition: GsFiler.h:81
OdGsFiler::Substitutor::runSubstitutions
virtual void runSubstitutions(const void *pValue=NULL, OdUInt32 size=0, bool bClear=true)=0
OdUInt16
unsigned short OdUInt16
Definition: OdPlatformSettings.h:760
OdGsFiler::rdUInt64Array
virtual void rdUInt64Array(OdUInt64Array &arr)
OdGsFiler::rdExtents3d
virtual void rdExtents3d(OdGeExtents3d &ext) const
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdInt16
short OdInt16
Definition: OdPlatformSettings.h:756
OdGsFiler::unregisterPtr
virtual void unregisterPtr(const void *pPtr)=0
OdGsFiler::OdGsFiler
OdGsFiler()
Definition: GsFiler.h:67
size
GLsizeiptr size
Definition: gles2_ext.h:182
OdGsFiler::hasArbitraryData
virtual bool hasArbitraryData(const OdChar *pName) const =0
OdGsFiler::rdHandle
virtual OdDbStub * rdHandle() const =0
OdGsFiler::rdDbStubPtrArray
virtual void rdDbStubPtrArray(OdDbStubPtrArray &arr)
OdBinaryData.h
OdGsFiler::isPtrRegistered
virtual bool isPtrRegistered(const void *pPtr) const =0
OdGsFiler::rdBool
virtual bool rdBool() const
OdGsFiler::Substitutor::registerSubstitution
virtual void registerSubstitution(const void *pValue, const void *pSubstitution, OdUInt32 size=sizeof(OdIntPtr), bool bRegister=true, bool bImmediate=false)=0
OdGsFiler::wrSectionBegin
virtual void wrSectionBegin(Section section)=0
OdGsFilerDbHashPE::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGsFilerDbHashPE)
OdGsFiler::kDeviceSection
@ kDeviceSection
Definition: GsFiler.h:77
OdGsFiler::rdAnsiString
virtual void rdAnsiString(OdAnsiString &str) const
OdStreamBuf.h
OdGsFiler::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGsFiler)
OdDbBaseDatabase
OdRxObject OdDbBaseDatabase
Definition: GsFiler.h:49
OdGsFiler::setWriteSections
virtual void setWriteSections(OdUInt64 nSections)=0
OdGsFiler::setSubstitutor
virtual void setSubstitutor(OdRxObject *pSubst)=0
OdGsFiler::rdChar
virtual char rdChar() const
OdGsFiler::rdUInt32Array
virtual void rdUInt32Array(OdUInt32Array &arr)
OdGsFiler::kViewSection
@ kViewSection
Definition: GsFiler.h:79
OdGsFiler::wrString
virtual void wrString(const OdString &str)
OdGsFiler::rdUInt32Array
virtual void rdUInt32Array(OdUInt32Vector &arr)
OdGsFiler::Substitutor::requestSubstitution
virtual void requestSubstitution(OdBaseObjectPtr *pPlace, const void *pValue, bool bRegister=true, bool bImmediate=true)=0
OdSmartPtr< OdStreamBuf >
OdGsFiler::wrInt64
virtual void wrInt64(OdInt64 val)
OdGsFiler::wrFloatArray
virtual void wrFloatArray(const OdFloatArray &arr)
OdGePoint3d
Definition: GePoint3d.h:55
OdGsFiler::rdPoint2d
virtual void rdPoint2d(OdGePoint2d &pt) const
OdGsFiler::rdUInt16Array
virtual void rdUInt16Array(OdUInt16Array &arr)
OdGsFiler::rdPoint2dArray
virtual void rdPoint2dArray(OdGePoint2dArray &arr)
OdInt32
int OdInt32
Definition: OdPlatformSettings.h:782
OdGsFiler::getDatabase
virtual OdDbBaseDatabase * getDatabase() const =0
OdGsFiler::Substitutor
Definition: GsFiler.h:108
OdGsFiler::wrPoint2dArray
virtual void wrPoint2dArray(const OdGePoint2dArray &arr)
OdGsFiler::rdInt32
virtual OdInt32 rdInt32() const
OdGsFiler::wrVector2d
virtual void wrVector2d(const OdGeVector2d &vec)
OdGsFiler::rdPoint3dArray
virtual void rdPoint3dArray(OdGePoint3dArray &arr)
OdGsFiler::wrGsDCRectDouble
virtual void wrGsDCRectDouble(const OdGsDCRectDouble &rcd)
OdGsFiler::rdUInt16
virtual OdUInt16 rdUInt16() const
OdGsFiler::skipSection
virtual void skipSection() const =0
OdGsFiler::rdInt16
virtual OdInt16 rdInt16() const
OdGsFiler::wrUInt16
virtual void wrUInt16(OdUInt16 val)
OdGsFiler::rdGsDCRectDouble
virtual void rdGsDCRectDouble(OdGsDCRectDouble &dcrcd)
OdChar
wchar_t OdChar
Definition: OdPlatformSettings.h:745
OdGsFiler::wrHandle
virtual void wrHandle(OdDbStub *pHandle)=0
OdGsFiler::wrUInt16Array
virtual void wrUInt16Array(const OdUInt16Array &arr)
OdGsFiler::wrGsDCRect
virtual void wrGsDCRect(const OdGsDCRect &rc)
OdGsFiler::SubstitutionActuator::SubstitutionActuator
SubstitutionActuator()
Definition: GsFiler.h:103
OdGsFiler::wrInt32
virtual void wrInt32(OdInt32 val)
OdGsFiler::clearRegisteredPtrs
virtual void clearRegisteredPtrs()=0
OdVector< OdUInt32, OdMemoryAllocator< OdUInt32 > >
OdGsFiler::wrAnsiString
virtual void wrAnsiString(const OdAnsiString &str)
OdGeVector2d
Definition: GeVector2d.h:51
OdGsFiler::wrUInt32Array
virtual void wrUInt32Array(const OdUInt32Vector &arr)
OdGsFiler::kLinkedDeviceSection
@ kLinkedDeviceSection
Definition: GsFiler.h:89
OdGsFiler::rdSection
virtual Section rdSection() const =0
OdGsFiler::kClientNodeSection
@ kClientNodeSection
Definition: GsFiler.h:84
OdGsFiler::wrInt16
virtual void wrInt16(OdInt16 val)
TD_PackPush.h
UInt16Array.h
GsExport.h
OdGsFiler::wrDbStubPtrArray
virtual void wrDbStubPtrArray(const OdDbStubPtrArray &arr)
OdGsFiler::wrUInt64Array
virtual void wrUInt64Array(OdUInt32 count, const OdUInt64 *arr)
OdGsFiler::wrDbHash
virtual void wrDbHash(const OdDbBaseDatabase *pDb)=0
OdGsFiler::SubstitutionActuator::~SubstitutionActuator
virtual ~SubstitutionActuator()
Definition: GsFiler.h:104
OdGsFiler::rdDouble
virtual double rdDouble() const
OdBaseObjectPtr
Definition: BaseObjectPtr.h:51
OdGsFiler::rdVector2d
virtual void rdVector2d(OdGeVector2d &vec) const
OdGsFiler::getArbitraryData
virtual OdRxObjectPtr getArbitraryData(const OdChar *pName) const =0
GsMarkerArray.h
OdGsFiler::wrPoint3d
virtual void wrPoint3d(const OdGePoint3d &pt)
OdFloatArray
OdArray< float, OdMemoryAllocator< float > > OdFloatArray
Definition: GsFiler.h:56
OdGsFiler::kGsModuleSection
@ kGsModuleSection
Definition: GsFiler.h:76
OdGsFiler::getStream
virtual OdStreamBufPtr getStream() const =0
OdGsFiler::wrUInt8
virtual void wrUInt8(OdUInt8 val)
OdGsFiler::setVersion
virtual void setVersion(OdUInt32 nVersion)=0
OdGsFiler::makeSubstitutions
virtual void makeSubstitutions(bool bClear=true) const =0
OdGsFiler::rdBackSection
virtual void rdBackSection() const =0
OdGsFiler::kClientDeviceSection
@ kClientDeviceSection
Definition: GsFiler.h:78
OdGsFiler::Substitutor::clearSubstitutions
virtual void clearSubstitutions(const void *pValue=NULL, OdUInt32 size=0)=0
OdGsFiler::setReadSection
virtual void setReadSection(Section section, bool bSet)=0
OdIntPtr
ptrdiff_t OdIntPtr
Definition: OdPlatformSettings.h:884
OdGsFiler::clearArbitraryData
virtual void clearArbitraryData()=0
OdGsFiler::wrPtr
void wrPtr(const void *pPtr)
Definition: GsFiler.h:228
OdGsFiler::wrBool
virtual void wrBool(bool bVal)
OdStreamBuf
Definition: OdStreamBuf.h:67
OdGsFiler::kMetafileSection
@ kMetafileSection
Definition: GsFiler.h:85
OdGsFiler::rdUInt64Array
virtual void rdUInt64Array(OdUInt32 count, OdUInt64 *arr)
UInt8Array.h
OdGsFiler::wrUInt8Array
virtual void wrUInt8Array(const OdUInt8Array &arr)
OdGsFiler::kBlockRefImplSection
@ kBlockRefImplSection
Definition: GsFiler.h:88
OdGeExtents3d
Definition: GeExtents3d.h:45
GS_TOOLKIT_EXPORT
#define GS_TOOLKIT_EXPORT
Definition: GsExport.h:37
OdGsFiler::kDatabaseLinkSection
@ kDatabaseLinkSection
Definition: GsFiler.h:75
OdGsFiler::rdFloat
virtual float rdFloat() const
OdGsFilerCreatorPE
Definition: GsFiler.h:358
OdGsFiler::rdUInt8
virtual OdUInt8 rdUInt8() const
ODCOLORREF
#define ODCOLORREF
Definition: OdPlatform.h:883
OdGsFilerCreatorPE::createGsFiler
virtual OdGsFilerPtr createGsFiler(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb)=0
OdGsFiler::wrUInt64Array
virtual void wrUInt64Array(const OdUInt64Vector &vec)
OdGsFiler::wrChar
virtual void wrChar(char val)
OdGsFiler::rdMatrix3d
virtual void rdMatrix3d(OdGeMatrix3d &mat) const
OdGsFiler::rdUInt
virtual unsigned int rdUInt() const
OdGsFiler::rdUInt64Array
virtual void rdUInt64Array(OdUInt64Vector &vec)
OdGsFiler::wrFloatArray
virtual void wrFloatArray(OdUInt32 count, const float *arr)
OdGsFiler::wrExtents3d
virtual void wrExtents3d(const OdGeExtents3d &ext)
OdGsFiler::rdPoint3d
virtual void rdPoint3d(OdGePoint3d &pt) const
OdGsFiler::wrEOFSection
virtual void wrEOFSection()=0
DbStubPtrArray.h
OdGsFiler::createObject
static OdSmartPtr< OdGsFiler > createObject(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb, OdUInt32 nVersion=kVLast)
OdGsFiler
Definition: GsFiler.h:63
OdGsFiler::wrUInt16Array
virtual void wrUInt16Array(OdUInt32 count, const OdUInt16 *arr)
OdGsFiler::~OdGsFiler
virtual ~OdGsFiler()
Definition: GsFiler.h:68
OdGePoint2dArray
OdArray< OdGePoint2d, OdMemoryAllocator< OdGePoint2d > > OdGePoint2dArray
Definition: GsFiler.h:58
GePoint2d.h
OdGsFiler::rdUInt64
virtual OdUInt64 rdUInt64() const
OdGsFiler::wrRawData
virtual void wrRawData(const void *pData, OdUInt32 nDataSize)=0
void
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)
OdGsFiler::setArbitraryData
virtual void setArbitraryData(const OdChar *pName, OdRxObject *pObject)=0
OdGsFiler::wrInt
virtual void wrInt(int val)
OdGsFiler::setStream
virtual bool setStream(OdStreamBuf *pStream, bool bWrite=false)=0
OdGsFiler::wrFloat
virtual void wrFloat(float val)
OdGsFiler::kClientMaterialSection
@ kClientMaterialSection
Definition: GsFiler.h:87
OdGsFilerDbHashPE::computeDbHash
virtual OdBinaryData computeDbHash(const OdDbBaseDatabase *pDb)=0
OdGsFiler::wrPoint2d
virtual void wrPoint2d(const OdGePoint2d &pt)
UInt32Array.h
OdGsFilerPtr
OdSmartPtr< OdGsFiler > OdGsFilerPtr
Definition: GsFiler.h:304
OdGsFiler::rdInt64
virtual OdInt64 rdInt64() const
OdGsFiler::Version
Version
Definition: GsFiler.h:95
OdGsFiler::rdUInt16Array
virtual void rdUInt16Array(OdUInt32 count, OdUInt16 *arr)
OdGsFiler::isReadSection
virtual bool isReadSection(Section section) const =0
OdGsFiler::Section
Section
Definition: GsFiler.h:71
OdUInt64
Definition: Int64.h:137
OdGsFiler::curSection
virtual Section curSection() const =0
OdGePoint2d
Definition: GePoint2d.h:60