CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
GsFiler.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 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/GePoint3dArray.h"
40#include "Ge/GePoint2d.h"
41#include "UInt64Array.h"
42
43class OdGePoint2d;
44class OdGeVector2d;
45class OdGePoint3d;
46class OdGeVector3d;
47class OdGeMatrix3d;
48class OdGeExtents3d;
49
50class OdDbStub;
52
53class OdGsView;
54class OdGsCache;
55
56class OdGsDCRect;
60
63class GS_TOOLKIT_EXPORT OdGsFiler : public OdRxObject
64{
65 public:
67
72
76 virtual ~OdGsFiler() { }
77 public:
82 {
83 kEOFSection = -1, // EOF
84 // V1 sections
85 kHeaderSection = 0, // File header
86 kDatabaseLinkSection, // Database linkage section
87 kGsModuleSection, // Gs Module section
88 kDeviceSection, // Gs Device section
89 kClientDeviceSection, // Client Gs Device section
90 kViewSection, // Gs View section
91 kClientViewSection, // Client Gs View section
92 kModelSection, // Gs Model section
93 kClientModelSection, // Client Gs Model section
94 kNodeSection, // Gs Node section
95 kClientNodeSection, // Client Gs Node section
96 kMetafileSection, // Gs Metafile section
97 kClientMetafileSection, // Client Gs Metafile section
98 kClientMaterialSection, // Client Gs Material section
99 kBlockRefImplSection, // Block reference cache implementation section
100 kLinkedDeviceSection, // Linked Gs Device section
101 kRenditionSection, // Client visual rendition section
102 // V2 sections
103 kRuntimeChangesSection // Runtime Gs modifications section
104 };
105
109 {
110 kV1 = 100,
111 kV2 = 200,
113 };
115 {
116 typedef void (*SetPtrFunc)(void *pPlace, const void *pValue);
119 virtual void applySubstitution(void *pPlace, const void *pValue, SetPtrFunc pSetFunc) { pSetFunc(pPlace, pValue); }
120 };
122 {
123 // Register known substitution
124 virtual void registerSubstitution(const void *pValue, const void *pSubstitution, OdUInt32 size = sizeof(OdIntPtr), bool bRegister = true, bool bImmediate = false) = 0;
125 // Register substitution request
126 virtual void requestSubstitution(void *pPlace, const void *pValue, OdUInt32 size = sizeof(OdIntPtr), bool bRegister = true, bool bImmediate = true) = 0;
127 // Register substitution request for smart pointer
128 virtual void requestSubstitution(OdBaseObjectPtr *pPlace, const void *pValue, bool bRegister = true, bool bImmediate = true) = 0;
129 // Register substitution with non-default behavior
130 virtual void requestSubstitution(void *pPlace, OdGsFiler::SubstitutionActuator *pActuator, const void *pValue, OdUInt32 size = sizeof(OdIntPtr), bool bRegister = true, bool bImmediate = true) = 0;
131 // Clear substitutions
132 virtual void clearSubstitutions(const void *pValue = NULL, OdUInt32 size = 0) = 0;
133 // Run substitutions
134 virtual void runSubstitutions(const void *pValue = NULL, OdUInt32 size = 0, bool bClear = true) = 0;
135 };
136 public:
137 // Attach stream and initiate read/write process
144 virtual bool setStream(OdStreamBuf *pStream, bool bWrite = false) = 0;
145
149 virtual OdStreamBufPtr getStream() const = 0;
150
151 // Setup working database
157 virtual void setDatabase(const OdDbBaseDatabase *pDb) = 0;
158
162 virtual OdDbBaseDatabase *getDatabase() const = 0;
163
164 // File version control
170 virtual void setVersion(OdUInt32 nVersion) = 0;
171
180 virtual OdUInt32 version() const = 0;
181
182 // Database hash control
183 virtual void wrDbHash(const OdDbBaseDatabase *pDb) = 0;
184 virtual bool checkDbHash(const OdDbBaseDatabase *pDb) = 0;
185
186 // Setup sections for writing
192 virtual void setWriteSections(OdUInt64 nSections) = 0;
193
200 virtual void setWriteSection(Section section, bool bSet) = 0;
201
209 virtual bool isWriteSection(Section section) const = 0;
210
211 // Setup sections for reading
217 virtual void setReadSections(OdUInt64 nSections) = 0;
218
225 virtual void setReadSection(Section section, bool bSet) = 0;
226
234 virtual bool isReadSection(Section section) const = 0;
235
236 // Section writing
242 virtual void wrSectionBegin(Section section) = 0;
243
249 virtual void wrSectionEnd(Section section) = 0;
250
254 virtual void wrEOFSection() = 0;
255
256 // Section reading
260 virtual Section rdSection() const = 0;
261
265 virtual Section curSection() const = 0;
266
270 virtual void skipSection() const = 0;
271 virtual void rdBackSection() const = 0;
277 virtual bool checkEOF() const = 0;
278
279 // Substitutions processing
280 virtual Substitutor *subst() const = 0;
281 virtual void makeSubstitutions(bool bClear = true) const = 0;
282 virtual OdRxObjectPtr getSubstitutor() const = 0;
283 virtual void setSubstitutor(OdRxObject *pSubst) = 0;
284
285 // Arbitrary data
286 virtual void setArbitraryData(const OdChar *pName, OdRxObject *pObject) = 0;
287 virtual OdRxObjectPtr getArbitraryData(const OdChar *pName) const = 0;
288 virtual bool hasArbitraryData(const OdChar *pName) const = 0;
289 virtual void clearArbitraryData() = 0;
290
291 // Pointers registration
292 virtual void registerPtr(const void *pPtr) = 0;
293 virtual void unregisterPtr(const void *pPtr) = 0;
294 virtual bool isPtrRegistered(const void *pPtr) const = 0;
295 virtual void clearRegisteredPtrs() = 0;
296
297 // Process handles
303 virtual void wrHandle(OdDbStub *pHandle) = 0;
304
308 virtual OdDbStub *rdHandle() const = 0;
309
310 // Process classes
316 virtual void wrClass(OdRxObject *pObj) = 0;
317
324 virtual OdRxObjectPtr rdClass() const = 0;
325
326 // Process raw data
333 virtual void wrRawData(const void *pData, OdUInt32 nDataSize) = 0;
334
341 virtual void rdRawData(void *pData, OdUInt32 nDataSize) const = 0;
342
343 // Process data primitives
349 virtual void wrBool(bool bVal);
350
357 virtual bool rdBool() const;
358
364 virtual void wrInt(int val);
365
372 virtual int rdInt() const;
373
379 virtual void wrUInt(unsigned int val);
380
387 virtual unsigned int rdUInt() const;
388
394 virtual void wrChar(char val);
395
402 virtual char rdChar() const;
403
409 virtual void wrUInt8(OdUInt8 val);
410
417 virtual OdUInt8 rdUInt8() const;
418
424 virtual void wrInt16(OdInt16 val);
425
432 virtual OdInt16 rdInt16() const;
433
439 virtual void wrUInt16(OdUInt16 val);
440
447 virtual OdUInt16 rdUInt16() const;
448
454 virtual void wrInt32(OdInt32 val);
455
462 virtual OdInt32 rdInt32() const;
463
469 virtual void wrUInt32(OdUInt32 val);
470
477 virtual OdUInt32 rdUInt32() const;
478
485 virtual void wrInt64(OdInt64 val);
486
493 virtual OdInt64 rdInt64() const;
494
500 virtual void wrUInt64(OdUInt64 val);
501
508 virtual OdUInt64 rdUInt64() const;
509
515 virtual void wrIntPtr(OdIntPtr val);
516
523 virtual OdIntPtr rdIntPtr() const;
524
530 void wrPtr(const void *pPtr) { wrIntPtr((OdIntPtr)pPtr); }
531
535 void *rdPtr() const { return (void*)rdIntPtr(); }
536
542 virtual void wrCOLORREF(ODCOLORREF val);
543
547 virtual ODCOLORREF rdCOLORREF() const;
548
554 virtual void wrFloat(float val);
555
562 virtual float rdFloat() const;
563
569 virtual void wrDouble(double val);
570
577 virtual double rdDouble() const;
578
584 virtual void wrPoint2d(const OdGePoint2d &pt);
585
591 virtual void rdPoint2d(OdGePoint2d &pt) const;
592
598 virtual void wrVector2d(const OdGeVector2d &vec);
599
605 virtual void rdVector2d(OdGeVector2d &vec) const;
606
612 virtual void wrPoint3d(const OdGePoint3d &pt);
613
619 virtual void rdPoint3d(OdGePoint3d &pt) const;
620
626 virtual void wrVector3d(const OdGeVector3d &vec);
627
633 virtual void rdVector3d(OdGeVector3d &vec) const;
634
640 virtual void wrMatrix3d(const OdGeMatrix3d &mat);
641
647 virtual void rdMatrix3d(OdGeMatrix3d &mat) const;
648
654 virtual void wrExtents3d(const OdGeExtents3d &ext);
655
661 virtual void rdExtents3d(OdGeExtents3d &ext) const;
662
668 virtual void wrAnsiString(const OdAnsiString &str);
669
675 virtual void rdAnsiString(OdAnsiString &str) const;
676
680 OdAnsiString rdAnsiStringRet() const { OdAnsiString str; rdAnsiString(str); return str; }
681
687 virtual void wrString(const OdString &str);
688
694 virtual void rdString(OdString &str) const;
695
699 OdString rdStringRet() const { OdString str; rdString(str); return str; }
700
706 virtual void wrUInt8Array (const OdUInt8Array& arr);
707
713 virtual void wrUInt16Array(const OdUInt16Array& arr);
714
721 virtual void wrUInt16Array(OdUInt32 count, const OdUInt16* arr);
722
728 virtual void wrUInt32Array(const OdUInt32Array& arr);
729
735 virtual void wrUInt32Array(const OdUInt32Vector& arr);
736
742 virtual void wrUInt64Array(const OdUInt64Array& arr);
743
749 virtual void wrUInt64Array(const OdUInt64Vector& vec);
750
757 virtual void wrUInt64Array(OdUInt32 count, const OdUInt64* arr);
758
764 virtual void wrIntArray (const OdIntArray& arr);
765
771 virtual void wrFloatArray (const OdFloatArray& arr);
772
779 virtual void wrFloatArray (OdUInt32 count, const float* arr);
780
786 virtual void wrPoint2dArray (const OdGePoint2dArray& arr);
787
793 virtual void wrPoint3dArray (const OdGePoint3dArray& arr);
794
800 virtual void wrDbStubPtrArray(const OdDbStubPtrArray& arr);
801
807 virtual void wrGsDCRect (const OdGsDCRect& rc);
808
814 virtual void wrGsDCRectDouble(const OdGsDCRectDouble& rcd);
815
821 virtual void rdUInt8Array (OdUInt8Array& arr);
822
828 virtual void rdUInt16Array(OdUInt16Array& arr);
829
837
843 virtual void rdUInt32Array(OdUInt32Array& arr);
844
850 virtual void rdUInt32Array(OdUInt32Vector& arr);
851
857 virtual void rdUInt64Array(OdUInt64Array& arr);
858
864 virtual void rdUInt64Array(OdUInt64Vector& vec);
865
873
879 virtual void rdIntArray (OdIntArray& arr);
880
886 virtual void rdFloatArray (OdFloatArray& arr);
887
894 virtual void rdFloatArray (OdUInt32 count, float* arr);
895
901 virtual void rdPoint2dArray (OdGePoint2dArray& arr);
902
908 virtual void rdPoint3dArray (OdGePoint3dArray& arr);
909
916
922 virtual void rdGsDCRect (OdGsDCRect& dcrc);
923
929 virtual void rdGsDCRectDouble(OdGsDCRectDouble& dcrcd);
930
939 static OdSmartPtr<OdGsFiler> createObject(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb, OdUInt32 nVersion = kVLast);
940};
941
943
944#define OdGsFiler_wrArray(filer, arry, wrFunc) \
945 { \
946 filer.wrUInt32(arry.size()); \
947 for (OdUInt32 nVal = 0; nVal < arry.size(); nVal++) \
948 filer.wrFunc(arry.getPtr()[nVal]); \
949 }
950#define OdGsFilerPtr_wrArray(pFiler, arry, wrFunc) \
951 OdGsFiler_wrArray((*pFiler), arry, wrFunc)
952
953#define OdGsFiler_wrArrayRaw(filer, arry, typSz) \
954 { \
955 filer.wrUInt32(arry.size()); \
956 if (!arry.isEmpty()) \
957 filer.wrRawData(arry.getPtr(), arry.size() * typSz); \
958 }
959#define OdGsFilerPtr_wrArrayRaw(pFiler, arry, typSz) \
960 OdGsFiler_wrArrayRaw((*pFiler), arry, typSz)
961
962#define OdGsFiler_rdArray(filer, arry, rdFunc) \
963 { \
964 arry.clear(); \
965 OdUInt32 nElems = filer.rdUInt32(); \
966 arry.setPhysicalLength(nElems); \
967 for (OdUInt32 nElem = 0; nElem < nElems; nElem++) \
968 arry.push_back(filer.rdFunc()); \
969 }
970#define OdGsFilerPtr_rdArray(pFiler, arry, rdFunc) \
971 OdGsFiler_rdArray((*pFiler), arry, rdFunc)
972
973#define OdGsFiler_rdArrayArg(filer, arry, rdFunc) \
974 { \
975 OdUInt32 nElems = filer.rdUInt32(); \
976 arry.resize(nElems); \
977 for (OdUInt32 nElem = 0; nElem < nElems; nElem++) \
978 filer.rdFunc(arry[nElem]); \
979 }
980#define OdGsFilerPtr_rdArrayArg(pFiler, arry, rdFunc) \
981 OdGsFiler_rdArrayArg((*pFiler), arry, rdFunc)
982
983#define OdGsFiler_rdArrayRaw(filer, arry, typSz) \
984 { \
985 OdUInt32 nElems = filer.rdUInt32(); \
986 arry.resize(nElems); \
987 if (nElems) \
988 filer.rdRawData(arry.asArrayPtr(), nElems * typSz); \
989 }
990#define OdGsFilerPtr_rdArrayRaw(pFiler, arry, typSz) \
991 OdGsFiler_rdArrayRaw((*pFiler), arry, typSz)
992
995class GS_TOOLKIT_EXPORT OdGsFilerCreatorPE : public OdRxObject
996{
997public:
999public:
1007 virtual OdGsFilerPtr createGsFiler(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb) = 0;
1008};
1009
1014
1017class GS_TOOLKIT_EXPORT OdGsFilerDbHashPE : public OdRxObject
1018{
1019public:
1021public:
1030};
1031
1036
1037#include "TD_PackPop.h"
1038
1039#endif // __OD_GS_FILER_H__
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > > OdGePoint3dArray
OdRxObject OdDbBaseDatabase
OdSmartPtr< OdStreamBuf > OdStreamBufPtr
OdArray< OdDbStub *, OdMemoryAllocator< OdDbStub * > > OdDbStubPtrArray
OdArray< OdGePoint2d, OdMemoryAllocator< OdGePoint2d > > OdGePoint2dArray
Definition GeGbl.h:45
#define GS_TOOLKIT_EXPORT
Definition GsExport.h:37
OdArray< OdGePoint2d, OdMemoryAllocator< OdGePoint2d > > OdGePoint2dArray
Definition GsFiler.h:59
OdSmartPtr< OdGsFiler > OdGsFilerPtr
Definition GsFiler.h:942
OdSmartPtr< OdGsFilerDbHashPE > OdGsFilerDbHashPEPtr
Definition GsFiler.h:1035
OdSmartPtr< OdGsFilerCreatorPE > OdGsFilerCreatorPEPtr
Definition GsFiler.h:1013
OdArray< float, OdMemoryAllocator< float > > OdFloatArray
Definition GsFiler.h:58
OdArray< int, OdMemoryAllocator< int > > OdIntArray
Definition IntArray.h:35
#define ODCOLORREF
unsigned int OdUInt32
short OdInt16
unsigned short OdUInt16
int OdInt32
unsigned char OdUInt8
ptrdiff_t OdIntPtr
wchar_t OdChar
OdVector< OdUInt64, OdMemoryAllocator< OdUInt64 > > OdUInt64Vector
Definition OdVector.h:1716
OdVector< OdUInt32, OdMemoryAllocator< OdUInt32 > > OdUInt32Vector
Definition OdVector.h:1713
OdArray< OdUInt64, OdMemoryAllocator< OdUInt64 > > OdUInt64Array
OdArray< OdUInt16, OdMemoryAllocator< OdUInt16 > > OdUInt16Array
Definition UInt16Array.h:34
OdArray< OdUInt32, OdMemoryAllocator< OdUInt32 > > OdUInt32Array
Definition UInt32Array.h:35
OdArray< OdUInt8, OdMemoryAllocator< OdUInt8 > > OdUInt8Array
Definition UInt8Array.h:35
virtual OdGsFilerPtr createGsFiler(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb)=0
ODRX_DECLARE_MEMBERS(OdGsFilerCreatorPE)
virtual OdBinaryData computeDbHash(const OdDbBaseDatabase *pDb)=0
ODRX_DECLARE_MEMBERS(OdGsFilerDbHashPE)
virtual void wrPoint3d(const OdGePoint3d &pt)
virtual void wrFloatArray(const OdFloatArray &arr)
virtual void wrUInt16Array(OdUInt32 count, const OdUInt16 *arr)
virtual void wrClass(OdRxObject *pObj)=0
virtual void wrUInt(unsigned int val)
virtual void wrFloatArray(OdUInt32 count, const float *arr)
virtual unsigned int rdUInt() const
virtual void wrDouble(double val)
virtual void rdVector2d(OdGeVector2d &vec) const
virtual bool hasArbitraryData(const OdChar *pName) const =0
virtual void setDatabase(const OdDbBaseDatabase *pDb)=0
virtual bool setStream(OdStreamBuf *pStream, bool bWrite=false)=0
virtual OdRxObjectPtr rdClass() const =0
virtual void clearRegisteredPtrs()=0
virtual void rdPoint2d(OdGePoint2d &pt) const
virtual OdInt16 rdInt16() const
virtual void wrUInt32Array(const OdUInt32Array &arr)
void * rdPtr() const
Definition GsFiler.h:535
virtual void wrInt64(OdInt64 val)
virtual void wrEOFSection()=0
virtual bool isPtrRegistered(const void *pPtr) const =0
virtual ~OdGsFiler()
Definition GsFiler.h:76
virtual void wrIntArray(const OdIntArray &arr)
virtual void skipSection() const =0
virtual void makeSubstitutions(bool bClear=true) const =0
virtual void clearArbitraryData()=0
virtual void rdMatrix3d(OdGeMatrix3d &mat) const
virtual void rdGsDCRectDouble(OdGsDCRectDouble &dcrcd)
virtual char rdChar() const
virtual void wrVector2d(const OdGeVector2d &vec)
virtual void wrUInt16Array(const OdUInt16Array &arr)
virtual void wrFloat(float val)
virtual void rdUInt64Array(OdUInt64Vector &vec)
virtual void wrPoint3dArray(const OdGePoint3dArray &arr)
OdAnsiString rdAnsiStringRet() const
Definition GsFiler.h:680
virtual void rdUInt16Array(OdUInt16Array &arr)
virtual void wrUInt64Array(const OdUInt64Vector &vec)
virtual void wrSectionEnd(Section section)=0
virtual OdInt32 rdInt32() const
virtual void rdUInt8Array(OdUInt8Array &arr)
virtual void wrIntPtr(OdIntPtr val)
virtual void rdDbStubPtrArray(OdDbStubPtrArray &arr)
virtual void wrUInt16(OdUInt16 val)
virtual void rdVector3d(OdGeVector3d &vec) const
virtual void setSubstitutor(OdRxObject *pSubst)=0
virtual void rdPoint3dArray(OdGePoint3dArray &arr)
virtual void wrString(const OdString &str)
virtual void rdAnsiString(OdAnsiString &str) const
virtual OdUInt8 rdUInt8() const
virtual Substitutor * subst() const =0
virtual bool isReadSection(Section section) const =0
virtual void rdExtents3d(OdGeExtents3d &ext) const
virtual void rdUInt16Array(OdUInt32 count, OdUInt16 *arr)
virtual void wrInt16(OdInt16 val)
virtual void wrChar(char val)
virtual void rdPoint2dArray(OdGePoint2dArray &arr)
virtual bool checkDbHash(const OdDbBaseDatabase *pDb)=0
virtual void rdFloatArray(OdUInt32 count, float *arr)
virtual void wrUInt64Array(const OdUInt64Array &arr)
virtual void wrUInt32Array(const OdUInt32Vector &arr)
virtual void rdUInt64Array(OdUInt32 count, OdUInt64 *arr)
OdString rdStringRet() const
Definition GsFiler.h:699
virtual OdUInt64 rdUInt64() const
virtual int rdInt() const
virtual float rdFloat() const
virtual OdRxObjectPtr getArbitraryData(const OdChar *pName) const =0
virtual OdUInt32 version() const =0
virtual void wrHandle(OdDbStub *pHandle)=0
virtual void rdGsDCRect(OdGsDCRect &dcrc)
virtual void rdFloatArray(OdFloatArray &arr)
virtual void wrUInt8(OdUInt8 val)
virtual void wrUInt64(OdUInt64 val)
virtual void wrGsDCRect(const OdGsDCRect &rc)
virtual void wrCOLORREF(ODCOLORREF val)
virtual void wrDbHash(const OdDbBaseDatabase *pDb)=0
virtual void rdIntArray(OdIntArray &arr)
virtual void wrAnsiString(const OdAnsiString &str)
virtual void wrRawData(const void *pData, OdUInt32 nDataSize)=0
virtual bool rdBool() const
ODRX_DECLARE_MEMBERS(OdGsFiler)
virtual void wrDbStubPtrArray(const OdDbStubPtrArray &arr)
virtual Section rdSection() const =0
virtual OdDbStub * rdHandle() const =0
virtual void wrPoint2dArray(const OdGePoint2dArray &arr)
@ kClientMaterialSection
Definition GsFiler.h:98
@ kLinkedDeviceSection
Definition GsFiler.h:100
@ kMetafileSection
Definition GsFiler.h:96
@ kDatabaseLinkSection
Definition GsFiler.h:86
@ kClientViewSection
Definition GsFiler.h:91
@ kHeaderSection
Definition GsFiler.h:85
@ kClientDeviceSection
Definition GsFiler.h:89
@ kClientNodeSection
Definition GsFiler.h:95
@ kDeviceSection
Definition GsFiler.h:88
@ kRuntimeChangesSection
Definition GsFiler.h:103
@ kNodeSection
Definition GsFiler.h:94
@ kGsModuleSection
Definition GsFiler.h:87
@ kViewSection
Definition GsFiler.h:90
@ kClientModelSection
Definition GsFiler.h:93
@ kBlockRefImplSection
Definition GsFiler.h:99
@ kRenditionSection
Definition GsFiler.h:101
@ kEOFSection
Definition GsFiler.h:83
@ kClientMetafileSection
Definition GsFiler.h:97
@ kModelSection
Definition GsFiler.h:92
virtual void rdPoint3d(OdGePoint3d &pt) const
virtual void setVersion(OdUInt32 nVersion)=0
virtual void rdUInt32Array(OdUInt32Vector &arr)
virtual void wrBool(bool bVal)
static OdSmartPtr< OdGsFiler > createObject(OdStreamBuf *pStream, bool bForWrite, const OdDbBaseDatabase *pDb, OdUInt32 nVersion=kVLast)
virtual OdDbBaseDatabase * getDatabase() const =0
virtual Section curSection() const =0
virtual void rdString(OdString &str) const
void wrPtr(const void *pPtr)
Definition GsFiler.h:530
virtual void setReadSection(Section section, bool bSet)=0
virtual void wrInt(int val)
virtual void setWriteSections(OdUInt64 nSections)=0
virtual void wrMatrix3d(const OdGeMatrix3d &mat)
virtual void wrUInt64Array(OdUInt32 count, const OdUInt64 *arr)
virtual bool checkEOF() const =0
virtual void rdUInt64Array(OdUInt64Array &arr)
virtual void wrUInt8Array(const OdUInt8Array &arr)
virtual void rdRawData(void *pData, OdUInt32 nDataSize) const =0
virtual void unregisterPtr(const void *pPtr)=0
virtual OdRxObjectPtr getSubstitutor() const =0
virtual bool isWriteSection(Section section) const =0
virtual ODCOLORREF rdCOLORREF() const
virtual void setReadSections(OdUInt64 nSections)=0
virtual void wrGsDCRectDouble(const OdGsDCRectDouble &rcd)
virtual OdUInt32 rdUInt32() const
virtual OdInt64 rdInt64() const
virtual void rdBackSection() const =0
virtual OdUInt16 rdUInt16() const
virtual void wrPoint2d(const OdGePoint2d &pt)
OdGsFiler()
Definition GsFiler.h:71
virtual void registerPtr(const void *pPtr)=0
virtual void setWriteSection(Section section, bool bSet)=0
virtual void wrInt32(OdInt32 val)
virtual OdIntPtr rdIntPtr() const
virtual void wrSectionBegin(Section section)=0
virtual OdStreamBufPtr getStream() const =0
virtual void wrExtents3d(const OdGeExtents3d &ext)
virtual void rdUInt32Array(OdUInt32Array &arr)
virtual void wrVector3d(const OdGeVector3d &vec)
virtual void setArbitraryData(const OdChar *pName, OdRxObject *pObject)=0
virtual double rdDouble() const
virtual void wrUInt32(OdUInt32 val)
Definition Gs.h:141
GLsizeiptr size
Definition gles2_ext.h:182
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)
GLsizei GLsizei * count
Definition gles2_ext.h:276
virtual void applySubstitution(void *pPlace, const void *pValue, SetPtrFunc pSetFunc)
Definition GsFiler.h:119
void(* SetPtrFunc)(void *pPlace, const void *pValue)
Definition GsFiler.h:116
virtual void registerSubstitution(const void *pValue, const void *pSubstitution, OdUInt32 size=sizeof(OdIntPtr), bool bRegister=true, bool bImmediate=false)=0
virtual void requestSubstitution(void *pPlace, const void *pValue, OdUInt32 size=sizeof(OdIntPtr), bool bRegister=true, bool bImmediate=true)=0
virtual void clearSubstitutions(const void *pValue=NULL, OdUInt32 size=0)=0
virtual void requestSubstitution(void *pPlace, OdGsFiler::SubstitutionActuator *pActuator, const void *pValue, OdUInt32 size=sizeof(OdIntPtr), bool bRegister=true, bool bImmediate=true)=0
virtual void requestSubstitution(OdBaseObjectPtr *pPlace, const void *pValue, bool bRegister=true, bool bImmediate=true)=0
virtual void runSubstitutions(const void *pValue=NULL, OdUInt32 size=0, bool bClear=true)=0