zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
/////////////////////////////////////////////////////////////////////////////// 
// Copyright (C) 2002-2016, Open Design Alliance (the "Alliance"). 
// All rights reserved. 
// 
// This software and its documentation and related materials are owned by 
// the Alliance. The software may only be incorporated into application 
// programs owned by members of the Alliance, subject to a signed 
// Membership Agreement and Supplemental Software License Agreement with the
// Alliance. The structure and organization of this software are the valuable  
// trade secrets of the Alliance and its suppliers. The software is also 
// protected by copyright law and international treaty provisions. Application  
// programs incorporating this software must include the following statement 
// with their copyright notices:
//   
//   This application incorporates Teigha(R) software pursuant to a license 
//   agreement with Open Design Alliance.
//   Teigha(R) Copyright (C) 2002-2016 by Open Design Alliance. 
//   All rights reserved.
//
// By use of this software, its documentation or related materials, you 
// acknowledge and accept the above terms.
///////////////////////////////////////////////////////////////////////////////
 
 
#ifndef _OD_TF_Included_
#define _OD_TF_Included_
 
#include "DbHandle.h"
#include "DbObjectId.h"
#include "DbDatabase.h"
#include "Ge/GePoint2d.h"
#include "Ge/GePoint3d.h"
#include "Ge/GeScale3d.h"
 
#include "TD_PackPush.h"
 
#ifdef TF_DLL_EXPORTS
#define TFDLL_EXPORT           OD_TOOLKIT_EXPORT
#define TFDLL_EXPORT_STATIC    OD_STATIC_EXPORT
#else
#define TFDLL_EXPORT           OD_TOOLKIT_IMPORT
#define TFDLL_EXPORT_STATIC    OD_STATIC_IMPORT
#endif
 
struct OdTfFiler
{
  virtual OdRxObject* database() const = 0;
 
  virtual void seek(OdInt64 offset, OdDb::FilerSeekType seekType) = 0;
 
  /** Description:
    Returns the current I/O pointer position of this Filer object.
  */
  virtual OdUInt64 tell() const = 0;
 
  /** Description:
    Returns the bool *value* of the current item of this Filer object.
  */
  virtual bool rdBool() = 0;
 
  /** Description:
    Returns the *string* *value* of the current item of this Filer object.
    Arguments:
  */
  virtual OdString rdString() = 0;
  
  /** Description:
    Returns the specified number of *bytes* from this Filer object.
    Arguments:
    buffer (O) Receives the bytes.
    numBytes (I) Number of *bytes*.
  */
  virtual void rdBytes(
    void* buffer, 
    OdUInt32 numBytes) = 0;
 
  /** Description:
    Returns the Int8 *value* of the current item of this Filer object.
  */
  virtual OdInt8 rdInt8() = 0;
  
  /** Description:
    Returns the UInt8 *value* of the current item of this Filer object.
  */
  virtual OdUInt8 rdUInt8() = 0;
 
  /** Description:
    Returns the Int16 *value* of the current item of this Filer object.
  */
  virtual OdInt16 rdInt16() = 0;
 
  /** Description:
    Returns the Int32 *value* of the current item of this Filer object.
  */
  virtual OdInt32 rdInt32() = 0;
 
  /** Description:
    Returns the Int64 *value* of the current item of this Filer object.
  */
  virtual OdInt64 rdInt64() = 0;
 
  /** Description:
    Returns the double *value* of the current item of this Filer object.
  */
  virtual double rdDouble() = 0;
 
  /** Description:
    Returns the *handle* *value* of the current item of this Filer object.
  */
  virtual OdDbHandle rdDbHandle() = 0;
 
  /** Description:
    Returns the SoftOwnershipId *value* of the current item of this Filer object.
  */
  virtual OdDbStub* rdSoftOwnershipId() = 0;
 
  /** Description:
    Returns the HardOwnershipId *value* of the current item of this Filer object.
  */
  virtual OdDbStub* rdHardOwnershipId() = 0;
 
  /** Description:
    Returns the HardPointerId *value* of the current item of this Filer object.
  */
  virtual OdDbStub* rdHardPointerId() = 0;
 
  /** Description:
    Returns the SoftPointerId *value* of the current item of this Filer object.
  */
  virtual OdDbStub* rdSoftPointerId() = 0;
 
  /** Description:
    Returns the 2D *point* *value* of the current item of this Filer object.
  */
  virtual OdGePoint2d rdPoint2d() = 0;
    
  /** Description:
    Returns the 3D *point* *value* of the current item of this Filer object.
  */
  virtual OdGePoint3d rdPoint3d() = 0;
 
  /** Description:
    Returns the 2D *vector* *value* of the current item of this Filer object.
  */
  virtual OdGeVector2d rdVector2d() = 0;
 
  /** Description:
    Returns the 3D vector *value* of the current item of this Filer object.
  */
  virtual OdGeVector3d rdVector3d() = 0;
  
  /** Description:
    Returns the *scale* *value* of the current item of this Filer object.
  */
  virtual OdGeScale3d rdScale3d() = 0;
 
  /** Description:
    Writes the specified bool *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrBool(
    bool value) = 0;
 
  /** Description:
    Writes the specified *string* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrString(
    const OdString &value) = 0;
    
  /** Description:
    Writes the specified number of *bytes* to this Filer object.
    Arguments:
    buffer (I) array of *bytes*.
    numBytes (I) Number of *bytes*.
  */
  virtual void wrBytes(
    const void* buffer, 
    OdUInt32 numBytes) = 0;
 
  /** Description:
    Writes the specified Int8 *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrInt8(
    OdInt8 value) = 0;
    
  /** Description:
    Writes the specified UInt8 *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrUInt8(
    OdUInt8 value) = 0;
 
  /** Description:
    Writes the specified Int16 *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrInt16(
    OdInt16 value) = 0;
    
  /** Description:
    Writes the specified Int32 *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrInt32(
    OdInt32 value) = 0;
 
  /** Description:
    Writes the specified Int64 *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrInt64(
    OdInt64 value) = 0;
 
   
  /** Description:
    Writes the specified double *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrDouble(double value) = 0;
 
  /** Description:
    Writes the specified *handle* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrDbHandle(
    const OdDbHandle& value) = 0;
 
  /** Description:
    Writes the specified SoftOwnershipId *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrSoftOwnershipId(
    OdDbStub* value) = 0;
    
  /** Description:
    Writes the specified HardOwnershipId *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrHardOwnershipId(
    OdDbStub* value) = 0;
 
  /** Description:
    Writes the specified SoftPointerId *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrSoftPointerId(
    OdDbStub* value) = 0;
 
  /** Description:
    Writes the specified HardPointerId *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrHardPointerId(
    OdDbStub* value) = 0;
 
  /** Description:
    Writes the specified 2D *point* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrPoint2d(
    const OdGePoint2d& value) = 0;
 
  /** Description:
    Writes the specified 3D *point* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrPoint3d(
    const OdGePoint3d& value) = 0;
  
  /** Description:
    Writes the specified 2D *vector* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrVector2d(
    const OdGeVector2d& value) = 0;
  
  /** Description:
    Writes the specified 3D *vector* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrVector3d(
    const OdGeVector3d& value) = 0;
  
  /** Description:
    Writes the specified 3D *scale* *value* to this Filer object.
    Arguments:
    value (I) Value.
  */  
  virtual void wrScale3d(
    const OdGeScale3d& value) = 0;
 
  virtual void wrSubobject(int id, const char* name) = 0;
  virtual const char* rdSubobject(int& id) = 0;
  virtual void wrDateTime(OdTimeStamp) = 0;
  virtual void rdDateTime(OdTimeStamp&) = 0;
};
 
 
struct TFDLL_EXPORT OdTfObjectPE : OdRxObject
{
  ODRX_DECLARE_MEMBERS(OdTfObjectPE);
  virtual int schemaVersion(OdRxObject*) = 0;
  virtual OdString schema(OdRxObject*) = 0;
  virtual bool in(OdRxObject*, OdTfFiler*) = 0;
  virtual void out(OdRxObject*, OdTfFiler*) = 0;
};
 
typedef OdSmartPtr<OdTfObjectPE> OdTfObjectPEPtr;
 
 
#include "TD_PackPop.h"
 
#endif // _OD_TF_Included_