1 /*****************************************************************************/
2 /*  LibreDWG - free implementation of the DWG file format                    */
3 /*                                                                           */
4 /*  Copyright (C) 2013,2018-2020 Free Software Foundation, Inc.              */
5 /*                                                                           */
6 /*  This library is free software, licensed under the terms of the GNU       */
7 /*  General Public License as published by the Free Software Foundation,     */
8 /*  either version 3 of the License, or (at your option) any later version.  */
9 /*  You should have received a copy of the GNU General Public License        */
10 /*  along with this program.  If not, see <http://www.gnu.org/licenses/>.    */
11 /*****************************************************************************/
12 
13 /*
14  * dwg_api.h: external C API
15  * This is the only file an user of the API needs to include.
16  *
17  * written by Gaganjyot Singh
18  * modified by Reini Urban
19  */
20 
21 #ifndef _DWG_API_H_
22 #define _DWG_API_H_
23 
24 #include <stdio.h>
25 #include <stdbool.h>
26 #include "dwg.h"
27 
28 /* Since version 3.2, gcc allows marking deprecated functions.  */
29 #if (defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 302)
30 #  define __attribute_deprecated__ __attribute__ ((__deprecated__))
31 #else
32 #  define __attribute_deprecated__
33 #endif
34 
35 #if defined(__clang__) && defined(__has_extension)
36 #  define _clang_has_extension(ext) __has_extension (ext)
37 #else
38 #  define _clang_has_extension(ext) 0
39 #endif
40 
41 /* Since version 4.5, gcc also allows one to specify the message printed
42    when a deprecated function is used.
43    clang claims to be gcc 4.2, but may also support this feature.
44    icc (at least 12) not.
45    glibc 2.28 /usr/include/sys/cdefs.h is wrong about icc compat. */
46 #if (defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 405          \
47      && !defined(__ICC))                                                      \
48     || _clang_has_extension(attribute_deprecated_with_message)
49 #  undef __attribute_deprecated_msg
50 #  define __attribute_deprecated_msg__(msg)                                   \
51     __attribute__ ((__deprecated__ (msg)))
52 #else
53 #  define __attribute_deprecated_msg__(msg) __attribute_deprecated__
54 #endif
55 
56 /* The __nonnull function attribute marks pointer arguments which
57    must not be NULL.  */
58 #if (defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 303) && !defined(__cplusplus)
59 #  undef __nonnull
60 #  define __nonnull(params) __attribute__ ((__nonnull__ params))
61 #  define __nonnull_all __attribute__ ((__nonnull__))
62 #  define HAVE_NONNULL
63 #else
64 #  undef __nonnull
65 #  undef HAVE_NONNULL
66 #  define __nonnull(params)
67 #  define __nonnull_all
68 #endif
69 
70 #ifdef __cplusplus
71 extern "C" {
72 #endif
73 
74 #ifndef LOG_ERROR
75 # define LOG_ERROR(msg,name,type) \
76    fprintf(stderr, msg, name, (type))
77 #endif
78 
79 //static bool g_add_to_mspace = true;
80 
81 /** dynapi */
82 typedef struct dwg_field_name_type_offset
83 {
84   const char *const name; /* field name */
85   const char *const type; /* e.g "RS" for BITCODE_RS */
86   const unsigned short size;        /* e.g. 2 for RS, 4 for BL */
87   const unsigned short offset;
88   const unsigned short is_indirect:1;  // for pointers, references, like 3BD, CMC, H, TV
89   const unsigned short is_malloc:1;    // for strings and dynamic arrays only, H*, TV, unknown size
90   const unsigned short is_string:1;    // for null-terminated strings, use strcpy/wcscpy. not memcpy
91   const short dxf;
92 } Dwg_DYNAPI_field;
93 
94 /** Check if the name is a valid ENTITY name, not an OBJECT.
95  */
96 EXPORT bool is_dwg_entity (const char *name) __nonnull ((1));
97 
98 /** Check if the name is a valid OBJECT name, not an ENTITY.
99  */
100 EXPORT bool is_dwg_object (const char *name) __nonnull ((1));
101 
102 /** Returns the HEADER.fieldname value in out.
103     The optional Dwg_DYNAPI_field *fp is filled with the field types from
104    dynapi.c
105  */
106 EXPORT bool dwg_dynapi_header_value (const Dwg_Data *restrict dwg,
107                                      const char *restrict fieldname,
108                                      void *restrict out,
109                                      Dwg_DYNAPI_field *restrict fp)
110   __nonnull ((1, 2, 3));
111 
112 /** Returns the ENTITY|OBJECT.fieldname value in out.
113    entity is the Dwg_Entity_ENTITY or Dwg_Object_OBJECT struct with the
114    specific fields. The optional Dwg_DYNAPI_field *fp is filled with the field
115    types from dynapi.c.
116  */
117 EXPORT bool dwg_dynapi_entity_value (void *restrict entity,
118                                      const char *restrict dxfname,
119                                      const char *restrict fieldname,
120                                      void *restrict out,
121                                      Dwg_DYNAPI_field *restrict fp)
122   __nonnull ((1, 2, 3, 4));
123 
124 /** Returns the common ENTITY|OBJECT.fieldname value in out.
125    _obj is the Dwg_Entity_ENTITY or Dwg_Object_OBJECT struct with the
126    specific fields. The optional Dwg_DYNAPI_field *fp is filled with the field
127    types from dynapi.c
128  */
129 EXPORT bool dwg_dynapi_common_value (void *restrict _obj,
130                                      const char *restrict fieldname,
131                                      void *restrict out,
132                                      Dwg_DYNAPI_field *restrict fp)
133   __nonnull ((1, 2, 3));
134 
135 /** Returns the common OBJECT.subclass.fieldname value in out.
136     ptr points to the subclass field. The optional Dwg_DYNAPI_field *fp is filled with the field
137     types from dynapi.c
138  */
139 EXPORT bool
140 dwg_dynapi_subclass_value (const void *restrict ptr, const char *restrict subclass,
141                            const char *restrict fieldname, void *restrict out,
142                            Dwg_DYNAPI_field *restrict fp)
143     __nonnull ((1, 2, 3, 4));
144 
145 // Converts T or TU wide-strings to utf-8. Only for text values
146 // isnew is set to 1 if textp is freshly malloced (r2007+), otherwise 0
147 EXPORT bool dwg_dynapi_header_utf8text (const Dwg_Data *restrict dwg,
148                                         const char *restrict fieldname,
149                                         char **restrict textp, int *isnewp,
150                                         Dwg_DYNAPI_field *restrict fp)
151   __nonnull ((1, 2, 3));
152 
153 /** Returns the ENTITY|OBJECT.fieldname text value in textp as utf-8.
154    entity is the Dwg_Entity_ENTITY or Dwg_Object_OBJECT struct with the
155    specific fields. The optional Dwg_DYNAPI_field *fp is filled with the field
156    types from dynapi.c
157    With DWG's since r2007+ creates a fresh UTF-8 conversion from the UTF-16
158    wchar value (which needs to be free'd), with older DWG's or with TV, TF or TFF
159    returns the unconverted text value.
160    Only valid for text fields.
161    isnew is set to 1 if textp is freshly malloced (r2007+), otherwise 0
162 */
163 EXPORT bool dwg_dynapi_entity_utf8text (void *restrict entity,
164                                         const char *restrict name,
165                                         const char *restrict fieldname,
166                                         char **restrict textp, int *isnewp,
167                                         Dwg_DYNAPI_field *restrict fp)
168   __nonnull ((1, 2, 3, 4));
169 EXPORT bool dwg_dynapi_common_utf8text (void *restrict _obj,
170                                         const char *restrict fieldname,
171                                         char **restrict textp, int *isnewp,
172                                         Dwg_DYNAPI_field *restrict fp)
173   __nonnull ((1, 2, 3));
174 
175 /** Sets the HEADER.fieldname to a value.
176     A malloc'ed struct or string is passed by ptr, not by the content.
177     A non-malloc'ed struct is set by content.
178     If is_utf8 is set, the given value is a UTF-8 string, and will be
179     converted to TV or TU.
180  */
181 EXPORT bool dwg_dynapi_header_set_value (Dwg_Data *restrict dwg,
182                                          const char *restrict fieldname,
183                                          const void *restrict value,
184                                          const bool is_utf8)
185   __nonnull ((1, 2, 3));
186 
187 /** Sets the ENTITY.fieldname to a value.
188     A malloc'ed struct is passed by ptr, not by the content.
189     A non-malloc'ed struct is set by content.
190     Arrays or strings must be malloced before. We just set the new pointer,
191     the old value will be freed.
192     If is_utf8 is set, the given value is a UTF-8 string, and will be
193     converted to TV or TU.
194  */
195 EXPORT bool dwg_dynapi_entity_set_value (void *restrict entity,
196                                          const char *restrict dxfname,
197                                          const char *restrict fieldname,
198                                          const void *restrict value,
199                                          const bool is_utf8)
200   __nonnull ((1, 2, 3, 4));
201 
202 /** Sets the common ENTITY or OBJECT.fieldname to a value.
203     A malloc'ed struct is passed by ptr, not by the content.
204     A non-malloc'ed struct is set by content.
205     Arrays or strings must be malloced before. We just set the new pointer,
206     the old value will be freed.
207     If is_utf8 is set, the given value is a UTF-8 string, and will be
208     converted to TV or TU.
209  */
210 EXPORT bool dwg_dynapi_common_set_value (void *restrict _obj,
211                                          const char *restrict fieldname,
212                                          const void *restrict value,
213                                          const bool is_utf8)
214   __nonnull ((1, 2, 3));
215 
216 /** Checks if the handle hdl points an object or entity with a name field,
217     and returns it if so. Converted to UTF8 for r2007+ wide-strings. */
218 EXPORT char *dwg_dynapi_handle_name (const Dwg_Data *restrict dwg,
219                                      Dwg_Object_Ref *restrict hdl)
220     __nonnull ((1, 2));
221 
222 /** Return the field for custom type checks. */
223 EXPORT const Dwg_DYNAPI_field *
224 dwg_dynapi_header_field (const char *restrict fieldname) __nonnull ((1));
225 
226 EXPORT const Dwg_DYNAPI_field *
227 dwg_dynapi_entity_field (const char *restrict name,
228                          const char *restrict fieldname) __nonnull ((1, 2));
229 
230 EXPORT const Dwg_DYNAPI_field *
231 dwg_dynapi_subclass_field (const char *restrict name,
232                            const char *restrict fieldname) __nonnull ((1, 2));
233 
234 EXPORT const Dwg_DYNAPI_field *
235 dwg_dynapi_common_entity_field (const char *restrict fieldname)
236     __nonnull ((1));
237 
238 EXPORT const Dwg_DYNAPI_field *
239 dwg_dynapi_common_object_field (const char *restrict fieldname)
240     __nonnull ((1));
241 
242 /** Find the fields for this entity or object. */
243 EXPORT const Dwg_DYNAPI_field *
244 dwg_dynapi_entity_fields (const char *restrict name) __nonnull ((1));
245 
246 EXPORT const Dwg_DYNAPI_field *
247 dwg_dynapi_common_entity_fields (void);
248 
249 EXPORT const Dwg_DYNAPI_field *
250 dwg_dynapi_common_object_fields (void);
251 
252 /** Find the fields for this subclass. See dwg.h */
253 EXPORT const Dwg_DYNAPI_field *
254 dwg_dynapi_subclass_fields (const char *restrict name) __nonnull ((1));
255 
256 /** The sum of the size of all fields, by entity or subclass name */
257 EXPORT int dwg_dynapi_fields_size (const char *restrict name) __nonnull ((1));
258 
259 /* static api */
260 typedef struct dwg_point_3d
261 {
262   double x;
263   double y;
264   double z;
265 } dwg_point_3d;
266 
267 typedef struct dwg_point_2d
268 {
269   double x;
270   double y;
271 } dwg_point_2d;
272 
273 typedef struct _dwg_LWPLINE_widths
274 {
275   double start;
276   double end;
277 } dwg_lwpline_widths;
278 
279 typedef BITCODE_BS dwg_face[4];
280 
281 /* Returns a NULL-terminated array of all entities of a specific type from a BLOCK */
282 #define DWG_GETALL_ENTITY_DECL(token) \
283 EXPORT Dwg_Entity_##token **dwg_getall_##token (Dwg_Object_Ref * hdr)
284 
285 /* Checks now also variable classes */
286 #define DWG_GETALL_ENTITY(token) \
287 EXPORT \
288 Dwg_Entity_##token **dwg_getall_##token (Dwg_Object_Ref * hdr) \
289 { \
290   int i=0, counts=0; \
291   Dwg_Entity_##token ** ret_##token; \
292   Dwg_Object * obj; \
293   if (!hdr || !hdr->obj) \
294     return NULL; \
295   obj = get_first_owned_entity (hdr->obj); \
296   while (obj) \
297     { \
298       if (obj->fixedtype == DWG_TYPE_##token) \
299         counts++; \
300       obj = get_next_owned_entity (hdr->obj, obj); \
301     } \
302   if (!counts) \
303     return NULL; \
304   ret_##token = (Dwg_Entity_##token **)malloc ((counts + 1) * sizeof(Dwg_Entity_##token *)); \
305   obj = get_first_owned_entity (hdr->obj); \
306   while (obj) \
307     { \
308       if (obj->fixedtype == DWG_TYPE_##token) \
309         { \
310           ret_##token[i] = obj->tio.entity->tio.token; \
311           i++; \
312           if (i >= counts) \
313             break; \
314         } \
315         obj = get_next_owned_entity (hdr->obj, obj); \
316     } \
317   ret_##token[i] = NULL; \
318   return ret_##token; \
319 }
320 
321 /* Returns a NULL-terminated array of all objects of a specific type */
322 #define DWG_GETALL_OBJECT_DECL(token) \
323 EXPORT \
324 Dwg_Object_##token **dwg_getall_##token (Dwg_Data *dwg)
325 
326 #define DWG_GET_FIRST_OBJECT_DECL(token) \
327 EXPORT Dwg_Object_##token *dwg_get_first_##token (Dwg_Data *dwg)
328 
329 #define DWG_GETALL_OBJECT(token) \
330 EXPORT \
331 Dwg_Object_##token **dwg_getall_##token (Dwg_Data *dwg) \
332 { \
333   BITCODE_BL i, c, counts = 0; \
334   Dwg_Object_##token ** ret_##token; \
335   for (i = 0; i < dwg->num_objects; i++) \
336     { \
337       const Dwg_Object *const obj = &dwg->object[i]; \
338       if (obj->supertype == DWG_SUPERTYPE_OBJECT \
339           && obj->fixedtype == DWG_TYPE_##token) \
340         { \
341           counts++; \
342         } \
343     } \
344   if (!counts) \
345     return NULL; \
346   ret_##token = (Dwg_Object_##token **)malloc ((counts + 1) * sizeof(Dwg_Object_##token *)); \
347   for (c = 0, i = 0; i < dwg->num_objects; i++) \
348     { \
349       const Dwg_Object *const obj = &dwg->object[i]; \
350       if (obj->supertype == DWG_SUPERTYPE_OBJECT \
351           && obj->fixedtype == DWG_TYPE_##token) \
352         { \
353           ret_##token[c] = obj->tio.object->tio.token; \
354           c++; \
355           if (c >= counts) \
356             break; \
357         } \
358     } \
359   ret_##token[c] = NULL; \
360   return ret_##token; \
361 }
362 
363 #define DWG_GET_FIRST_OBJECT(token)                                           \
364 EXPORT Dwg_Object_##token *dwg_get_first_##token (Dwg_Data *dwg)              \
365   {                                                                           \
366     for (i = 0; i < dwg->num_objects; i++)                                    \
367       {                                                                       \
368         const Dwg_Object *const obj = &dwg->object[i];                        \
369         if (obj->supertype == DWG_SUPERTYPE_OBJECT                            \
370             && obj->fixedtype == DWG_TYPE_##token)                            \
371           {                                                                   \
372             return obj->tio.object->tio.token;                                \
373           }                                                                   \
374       }                                                                       \
375     return NULL;                                                              \
376   }
377 
378 // Cast a Dwg_Object to Entity
379 #define CAST_DWG_OBJECT_TO_ENTITY_DECL(token) \
380 EXPORT \
381 Dwg_Entity_##token *dwg_object_to_##token (Dwg_Object *obj)
382 
383 #define CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL(token) \
384 EXPORT \
385 Dwg_Entity_##token *dwg_object_to_##token (Dwg_Object *obj);
386 
387 // Only for fixed typed entities, < 500
388 // Dwg_Entity* -> Dwg_Object_TYPE*
389 #define CAST_DWG_OBJECT_TO_ENTITY(token) \
390 EXPORT \
391 Dwg_Entity_##token *dwg_object_to_##token (Dwg_Object *obj) \
392 {                                                      \
393   Dwg_Entity_##token *ret_obj = NULL;                  \
394   if (obj &&                                           \
395       obj->tio.entity &&                               \
396       (obj->type == DWG_TYPE_##token ||                \
397        obj->fixedtype == DWG_TYPE_##token))            \
398     {                                                  \
399       ret_obj = obj->tio.entity->tio.token;            \
400     }                                                  \
401   else                                                 \
402     {                                                  \
403       loglevel = obj && obj->parent ? obj->parent->opts & DWG_OPTS_LOGLEVEL : 0; \
404       LOG_ERROR("Invalid %s type: got 0x%x", #token, obj ? obj->type : 0); \
405     }                                                  \
406   return ret_obj;                                      \
407 }
408 
409 /// for all classes, types > 500. IMAGE, OLE2FRAME, WIPEOUT
410 #define CAST_DWG_OBJECT_TO_ENTITY_BYNAME(token) \
411 EXPORT \
412 Dwg_Entity_##token *dwg_object_to_##token (Dwg_Object *obj) \
413 { \
414     Dwg_Entity_##token *ret_obj = NULL; \
415     if (obj && obj->tio.entity && \
416         (obj->type == DWG_TYPE_##token || obj->fixedtype == DWG_TYPE_##token)) \
417       { \
418         ret_obj = obj->tio.entity->tio.token; \
419       } \
420     else \
421       { \
422         loglevel = obj && obj->parent ? obj->parent->opts & DWG_OPTS_LOGLEVEL : 0; \
423         LOG_ERROR("Invalid %s type: got %s, 0x%x", #token, \
424                   obj ? obj->dxfname : "<no obj>", \
425                   obj ? obj->type : 0); \
426       } \
427   return ret_obj; \
428 }
429 
430 #define CAST_DWG_OBJECT_TO_OBJECT_DECL(token) \
431 EXPORT \
432 Dwg_Object_##token *dwg_object_to_##token (Dwg_Object *obj)
433 
434 // Dwg_Object* -> Dwg_Object_TYPE*
435 #define CAST_DWG_OBJECT_TO_OBJECT(token) \
436 EXPORT \
437 Dwg_Object_##token *dwg_object_to_##token (Dwg_Object *obj) \
438 { \
439     Dwg_Object_##token *ret_obj = NULL; \
440     if (obj && obj->tio.object && \
441         (obj->type == DWG_TYPE_##token || obj->fixedtype == DWG_TYPE_##token)) \
442       { \
443         ret_obj = obj->tio.object->tio.token; \
444       } \
445     else \
446       { \
447         loglevel = obj && obj->parent ? obj->parent->opts & DWG_OPTS_LOGLEVEL : 0; \
448         LOG_ERROR("Invalid %s type: got 0x%x", #token, obj ? obj->type : 0); \
449       } \
450   return ret_obj; \
451 }
452 
453 // unused, we have now fixedtype.
454 #define CAST_DWG_OBJECT_TO_OBJECT_BYNAME(token, dxfname) \
455 EXPORT \
456 Dwg_Object_##token *dwg_object_to_##token (Dwg_Object *obj) \
457 { \
458     Dwg_Object_##token *ret_obj = NULL; \
459     if (obj && obj->dxfname && !strcmp(obj->dxfname, #dxfname)) \
460       { \
461         ret_obj = obj->tio.object->tio.token; \
462       } \
463     else \
464       { \
465         loglevel = obj && obj->parent ? obj->parent->opts & DWG_OPTS_LOGLEVEL : 0; \
466         LOG_ERROR("Invalid %s type: got 0x%x", #token, obj ? obj->type : 0); \
467       } \
468   return ret_obj; \
469 }
470 
471 ///////////////////////////////////////////////////////////////////////////
472 
473 typedef struct _dwg_object                        dwg_object;
474 typedef struct _dwg_object_ref                    dwg_object_ref;
475 typedef struct _dwg_handle                        dwg_handle;
476 typedef struct _dwg_object_entity                 dwg_obj_ent;
477 typedef struct _dwg_object_object                 dwg_obj_obj;
478 typedef struct _dwg_class                         dwg_class;
479 typedef struct _dwg_struct                        dwg_data;
480 typedef struct _dwg_entity_eed_data               dwg_entity_eed_data;
481 typedef struct _dwg_entity_eed                    dwg_entity_eed;
482 
483 typedef struct _dwg_object_STYLE_CONTROL          dwg_tbl_generic;
484 typedef struct _dwg_object_UNKNOWN_OBJ            dwg_obj_generic;
485 typedef struct _dwg_object_UNKNOWN_OBJ            dwg_obj_unknown;
486 typedef struct _dwg_entity_UNKNOWN_ENT            dwg_ent_unknown;
487 typedef struct _dwg_entity_POINT                  dwg_ent_generic;
488 typedef struct _dwg_entity_PROXY_ENTITY           dwg_ent_proxy;
489 typedef struct _dwg_object_PROXY_OBJECT           dwg_obj_proxy;
490 typedef struct _dwg_DIMENSION_common              dwg_ent_dim;
491 typedef struct _dwg_entity_3DSOLID                dwg_ent_3dsolid;
492 typedef struct _dwg_entity_3DFACE                 dwg_ent_3dface;
493 
494 typedef struct _dwg_MLINE_line                    dwg_mline_line;
495 typedef struct _dwg_MLINE_vertex                  dwg_mline_vertex;
496 typedef struct _dwg_SPLINE_control_point          dwg_spline_control_point;
497 typedef struct _dwg_3DSOLID_wire                  dwg_3dsolid_wire;
498 typedef struct _dwg_3DSOLID_silhouette            dwg_3dsolid_silhouette;
499 typedef struct _dwg_entity_RAY                    dwg_ent_xline;
500 typedef struct _dwg_entity_VERTEX_3D              dwg_ent_vertex_mesh,
501                                                   dwg_ent_vertex_pface;
502 typedef struct _dwg_entity_3DSOLID                dwg_ent_region,
503                                                   dwg_ent_body;
504 
505 //////////////////////////////////////////////////////////////////////
506 
507 #define dwg_get_OBJECT_DECL(name, OBJECT)                                \
508   EXPORT bool                                                            \
509   dwg_get_##OBJECT (const dwg_##name *restrict name,                     \
510                     const char *restrict fieldname, void *restrict out); \
511   EXPORT bool                                                            \
512   dwg_set_##OBJECT (const dwg_##name *restrict name,                     \
513                     const char *restrict fieldname, void *restrict value)
514 
515 dwg_get_OBJECT_DECL (ent_vertex_mesh, VERTEX_MESH);
516 dwg_get_OBJECT_DECL (ent_vertex_pface, VERTEX_PFACE);
517 dwg_get_OBJECT_DECL (ent_region, REGION);
518 dwg_get_OBJECT_DECL (ent_body, BODY);
519 dwg_get_OBJECT_DECL (ent_3dsolid, 3DSOLID);
520 dwg_get_OBJECT_DECL (ent_xline, XLINE);
521 
522 /********************************************************************/
523 typedef struct _dwg_abstractentity_UNDERLAY	      dwg_ent_underlay; /* same layout for all 3 */
524 typedef struct _dwg_abstractobject_UNDERLAYDEFINITION dwg_obj_underlaydefinition;
525 /* Start auto-generated content. Do not touch. */
526 typedef struct _dwg_entity__3DFACE		dwg_ent__3dface;
527 typedef struct _dwg_entity__3DSOLID		dwg_ent__3dsolid;
528 typedef struct _dwg_entity_ARC		dwg_ent_arc;
529 typedef struct _dwg_entity_ATTDEF		dwg_ent_attdef;
530 typedef struct _dwg_entity_ATTRIB		dwg_ent_attrib;
531 typedef struct _dwg_entity_BLOCK		dwg_ent_block;
532 typedef struct _dwg_entity_CIRCLE		dwg_ent_circle;
533 typedef struct _dwg_entity_DIMENSION_ALIGNED		dwg_ent_dim_aligned;
534 typedef struct _dwg_entity_DIMENSION_ANG2LN		dwg_ent_dim_ang2ln;
535 typedef struct _dwg_entity_DIMENSION_ANG3PT		dwg_ent_dim_ang3pt;
536 typedef struct _dwg_entity_DIMENSION_DIAMETER		dwg_ent_dim_diameter;
537 typedef struct _dwg_entity_DIMENSION_LINEAR		dwg_ent_dim_linear;
538 typedef struct _dwg_entity_DIMENSION_ORDINATE		dwg_ent_dim_ordinate;
539 typedef struct _dwg_entity_DIMENSION_RADIUS		dwg_ent_dim_radius;
540 typedef struct _dwg_entity_ELLIPSE		dwg_ent_ellipse;
541 typedef struct _dwg_entity_ENDBLK		dwg_ent_endblk;
542 typedef struct _dwg_entity_INSERT		dwg_ent_insert;
543 typedef struct _dwg_entity_LEADER		dwg_ent_leader;
544 typedef struct _dwg_entity_LINE		dwg_ent_line;
545 typedef struct _dwg_entity_MINSERT		dwg_ent_minsert;
546 typedef struct _dwg_entity_MLINE		dwg_ent_mline;
547 typedef struct _dwg_entity_MTEXT		dwg_ent_mtext;
548 typedef struct _dwg_entity_OLEFRAME		dwg_ent_oleframe;
549 typedef struct _dwg_entity_POINT		dwg_ent_point;
550 typedef struct _dwg_entity_POLYLINE_2D		dwg_ent_polyline_2d;
551 typedef struct _dwg_entity_POLYLINE_3D		dwg_ent_polyline_3d;
552 typedef struct _dwg_entity_POLYLINE_MESH		dwg_ent_polyline_mesh;
553 typedef struct _dwg_entity_POLYLINE_PFACE		dwg_ent_polyline_pface;
554 typedef struct _dwg_entity_PROXY_ENTITY		dwg_ent_proxy_entity;
555 typedef struct _dwg_entity_RAY		dwg_ent_ray;
556 typedef struct _dwg_entity_SEQEND		dwg_ent_seqend;
557 typedef struct _dwg_entity_SHAPE		dwg_ent_shape;
558 typedef struct _dwg_entity_SOLID		dwg_ent_solid;
559 typedef struct _dwg_entity_SPLINE		dwg_ent_spline;
560 typedef struct _dwg_entity_TEXT		dwg_ent_text;
561 typedef struct _dwg_entity_TOLERANCE		dwg_ent_tolerance;
562 typedef struct _dwg_entity_TRACE		dwg_ent_trace;
563 typedef struct _dwg_entity_UNKNOWN_ENT		dwg_ent_unknown_ent;
564 typedef struct _dwg_entity_VERTEX_2D		dwg_ent_vertex_2d;
565 typedef struct _dwg_entity_VERTEX_3D		dwg_ent_vertex_3d;
566 typedef struct _dwg_entity_VERTEX_PFACE_FACE		dwg_ent_vert_pface_face;
567 typedef struct _dwg_entity_VIEWPORT		dwg_ent_viewport;
568 /* untyped > 500 */
569 typedef struct _dwg_entity_CAMERA		dwg_ent_camera;
570 typedef struct _dwg_entity_DGNUNDERLAY		dwg_ent_dgnunderlay;
571 typedef struct _dwg_entity_DWFUNDERLAY		dwg_ent_dwfunderlay;
572 typedef struct _dwg_entity_HATCH		dwg_ent_hatch;
573 typedef struct _dwg_entity_IMAGE		dwg_ent_image;
574 typedef struct _dwg_entity_LIGHT		dwg_ent_light;
575 typedef struct _dwg_entity_LWPOLYLINE		dwg_ent_lwpline;
576 typedef struct _dwg_entity_MESH		dwg_ent_mesh;
577 typedef struct _dwg_entity_MULTILEADER		dwg_ent_mleader;
578 typedef struct _dwg_entity_OLE2FRAME		dwg_ent_ole2frame;
579 typedef struct _dwg_entity_PDFUNDERLAY		dwg_ent_pdfunderlay;
580 typedef struct _dwg_entity_SECTIONOBJECT		dwg_ent_sectionobject;
581 /* unstable */
582 typedef struct _dwg_entity_ARC_DIMENSION		dwg_ent_arc_dimension;
583 typedef struct _dwg_entity_HELIX		dwg_ent_helix;
584 typedef struct _dwg_entity_LARGE_RADIAL_DIMENSION		dwg_ent_large_radial_dimension;
585 typedef struct _dwg_entity_PLANESURFACE		dwg_ent_planesurface;
586 typedef struct _dwg_entity_POINTCLOUD		dwg_ent_pointcloud;
587 typedef struct _dwg_entity_POINTCLOUDEX		dwg_ent_pointcloudex;
588 typedef struct _dwg_entity_WIPEOUT		dwg_ent_wipeout;
589 /* debugging */
590 typedef struct _dwg_entity_ALIGNMENTPARAMETERENTITY		dwg_ent_alignmentparameterentity;
591 typedef struct _dwg_entity_ARCALIGNEDTEXT		dwg_ent_arcalignedtext;
592 typedef struct _dwg_entity_BASEPOINTPARAMETERENTITY		dwg_ent_basepointparameterentity;
593 typedef struct _dwg_entity_EXTRUDEDSURFACE		dwg_ent_extrudedsurface;
594 typedef struct _dwg_entity_FLIPPARAMETERENTITY		dwg_ent_flipparameterentity;
595 typedef struct _dwg_entity_GEOPOSITIONMARKER		dwg_ent_geopositionmarker;
596 typedef struct _dwg_entity_LINEARPARAMETERENTITY		dwg_ent_linearparameterentity;
597 typedef struct _dwg_entity_LOFTEDSURFACE		dwg_ent_loftedsurface;
598 typedef struct _dwg_entity_MPOLYGON		dwg_ent_mpolygon;
599 typedef struct _dwg_entity_NAVISWORKSMODEL		dwg_ent_navisworksmodel;
600 typedef struct _dwg_entity_NURBSURFACE		dwg_ent_nurbsurface;
601 typedef struct _dwg_entity_POINTPARAMETERENTITY		dwg_ent_pointparameterentity;
602 typedef struct _dwg_entity_POLARGRIPENTITY		dwg_ent_polargripentity;
603 typedef struct _dwg_entity_REVOLVEDSURFACE		dwg_ent_revolvedsurface;
604 typedef struct _dwg_entity_ROTATIONPARAMETERENTITY		dwg_ent_rotationparameterentity;
605 typedef struct _dwg_entity_RTEXT		dwg_ent_rtext;
606 typedef struct _dwg_entity_SWEPTSURFACE		dwg_ent_sweptsurface;
607 typedef struct _dwg_entity_TABLE		dwg_ent_table;
608 typedef struct _dwg_entity_VISIBILITYGRIPENTITY		dwg_ent_visibilitygripentity;
609 typedef struct _dwg_entity_VISIBILITYPARAMETERENTITY		dwg_ent_visibilityparameterentity;
610 typedef struct _dwg_entity_XYPARAMETERENTITY		dwg_ent_xyparameterentity;
611 typedef struct _dwg_object_APPID		dwg_obj_appid;
612 typedef struct _dwg_object_APPID_CONTROL		dwg_obj_appid_control;
613 typedef struct _dwg_object_BLOCK_CONTROL		dwg_obj_block_control;
614 typedef struct _dwg_object_BLOCK_HEADER		dwg_obj_block_header;
615 typedef struct _dwg_object_DICTIONARY		dwg_obj_dictionary;
616 typedef struct _dwg_object_DIMSTYLE		dwg_obj_dimstyle;
617 typedef struct _dwg_object_DIMSTYLE_CONTROL		dwg_obj_dimstyle_control;
618 typedef struct _dwg_object_DUMMY		dwg_obj_dummy;
619 typedef struct _dwg_object_LAYER		dwg_obj_layer;
620 typedef struct _dwg_object_LAYER_CONTROL		dwg_obj_layer_control;
621 typedef struct _dwg_object_LONG_TRANSACTION		dwg_obj_long_transaction;
622 typedef struct _dwg_object_LTYPE		dwg_obj_ltype;
623 typedef struct _dwg_object_LTYPE_CONTROL		dwg_obj_ltype_control;
624 typedef struct _dwg_object_MLINESTYLE		dwg_obj_mlinestyle;
625 typedef struct _dwg_object_STYLE		dwg_obj_style;
626 typedef struct _dwg_object_STYLE_CONTROL		dwg_obj_style_control;
627 typedef struct _dwg_object_UCS		dwg_obj_ucs;
628 typedef struct _dwg_object_UCS_CONTROL		dwg_obj_ucs_control;
629 typedef struct _dwg_object_UNKNOWN_OBJ		dwg_obj_unknown_obj;
630 typedef struct _dwg_object_VIEW		dwg_obj_view;
631 typedef struct _dwg_object_VIEW_CONTROL		dwg_obj_view_control;
632 typedef struct _dwg_object_VPORT		dwg_obj_vport;
633 typedef struct _dwg_object_VPORT_CONTROL		dwg_obj_vport_control;
634 typedef struct _dwg_object_VX_CONTROL		dwg_obj_vx_control;
635 typedef struct _dwg_object_VX_TABLE_RECORD		dwg_obj_vx_table_record;
636 /* untyped > 500 */
637 typedef struct _dwg_object_ACSH_BOOLEAN_CLASS		dwg_obj_acsh_boolean_class;
638 typedef struct _dwg_object_ACSH_BOX_CLASS		dwg_obj_acsh_box_class;
639 typedef struct _dwg_object_ACSH_CONE_CLASS		dwg_obj_acsh_cone_class;
640 typedef struct _dwg_object_ACSH_CYLINDER_CLASS		dwg_obj_acsh_cylinder_class;
641 typedef struct _dwg_object_ACSH_FILLET_CLASS		dwg_obj_acsh_fillet_class;
642 typedef struct _dwg_object_ACSH_HISTORY_CLASS		dwg_obj_acsh_history_class;
643 typedef struct _dwg_object_ACSH_SPHERE_CLASS		dwg_obj_acsh_sphere_class;
644 typedef struct _dwg_object_ACSH_TORUS_CLASS		dwg_obj_acsh_torus_class;
645 typedef struct _dwg_object_ACSH_WEDGE_CLASS		dwg_obj_acsh_wedge_class;
646 typedef struct _dwg_object_BLOCKALIGNMENTGRIP		dwg_obj_blockalignmentgrip;
647 typedef struct _dwg_object_BLOCKALIGNMENTPARAMETER		dwg_obj_blockalignmentparameter;
648 typedef struct _dwg_object_BLOCKBASEPOINTPARAMETER		dwg_obj_blockbasepointparameter;
649 typedef struct _dwg_object_BLOCKFLIPACTION		dwg_obj_blockflipaction;
650 typedef struct _dwg_object_BLOCKFLIPGRIP		dwg_obj_blockflipgrip;
651 typedef struct _dwg_object_BLOCKFLIPPARAMETER		dwg_obj_blockflipparameter;
652 typedef struct _dwg_object_BLOCKGRIPLOCATIONCOMPONENT		dwg_obj_blockgriplocationcomponent;
653 typedef struct _dwg_object_BLOCKLINEARGRIP		dwg_obj_blocklineargrip;
654 typedef struct _dwg_object_BLOCKLOOKUPGRIP		dwg_obj_blocklookupgrip;
655 typedef struct _dwg_object_BLOCKMOVEACTION		dwg_obj_blockmoveaction;
656 typedef struct _dwg_object_BLOCKROTATEACTION		dwg_obj_blockrotateaction;
657 typedef struct _dwg_object_BLOCKROTATIONGRIP		dwg_obj_blockrotationgrip;
658 typedef struct _dwg_object_BLOCKSCALEACTION		dwg_obj_blockscaleaction;
659 typedef struct _dwg_object_BLOCKVISIBILITYGRIP		dwg_obj_blockvisibilitygrip;
660 typedef struct _dwg_object_CELLSTYLEMAP		dwg_obj_cellstylemap;
661 typedef struct _dwg_object_DETAILVIEWSTYLE		dwg_obj_detailviewstyle;
662 typedef struct _dwg_object_DICTIONARYVAR		dwg_obj_dictionaryvar;
663 typedef struct _dwg_object_DICTIONARYWDFLT		dwg_obj_dictionarywdflt;
664 typedef struct _dwg_object_DYNAMICBLOCKPURGEPREVENTER		dwg_obj_dynamicblockpurgepreventer;
665 typedef struct _dwg_object_FIELD		dwg_obj_field;
666 typedef struct _dwg_object_FIELDLIST		dwg_obj_fieldlist;
667 typedef struct _dwg_object_GEODATA		dwg_obj_geodata;
668 typedef struct _dwg_object_GROUP		dwg_obj_group;
669 typedef struct _dwg_object_IDBUFFER		dwg_obj_idbuffer;
670 typedef struct _dwg_object_IMAGEDEF		dwg_obj_imagedef;
671 typedef struct _dwg_object_IMAGEDEF_REACTOR		dwg_obj_imagedef_reactor;
672 typedef struct _dwg_object_INDEX		dwg_obj_index;
673 typedef struct _dwg_object_LAYERFILTER		dwg_obj_layerfilter;
674 typedef struct _dwg_object_LAYER_INDEX		dwg_obj_layer_index;
675 typedef struct _dwg_object_LAYOUT		dwg_obj_layout;
676 typedef struct _dwg_object_MLEADERSTYLE		dwg_obj_mleaderstyle;
677 typedef struct _dwg_object_PLACEHOLDER		dwg_obj_placeholder;
678 typedef struct _dwg_object_PLOTSETTINGS		dwg_obj_plotsettings;
679 typedef struct _dwg_object_RASTERVARIABLES		dwg_obj_rastervariables;
680 typedef struct _dwg_object_SCALE		dwg_obj_scale;
681 typedef struct _dwg_object_SECTIONVIEWSTYLE		dwg_obj_sectionviewstyle;
682 typedef struct _dwg_object_SECTION_MANAGER		dwg_obj_section_manager;
683 typedef struct _dwg_object_SORTENTSTABLE		dwg_obj_sortentstable;
684 typedef struct _dwg_object_SPATIAL_FILTER		dwg_obj_spatial_filter;
685 typedef struct _dwg_object_TABLEGEOMETRY		dwg_obj_tablegeometry;
686 typedef struct _dwg_object_VBA_PROJECT		dwg_obj_vba_project;
687 typedef struct _dwg_object_VISUALSTYLE		dwg_obj_visualstyle;
688 typedef struct _dwg_object_WIPEOUTVARIABLES		dwg_obj_wipeoutvariables;
689 typedef struct _dwg_object_XRECORD		dwg_obj_xrecord;
690 typedef struct _dwg_abstractobject_UNDERLAYDEFINITION		dwg_obj_pdfdefinition;
691 typedef struct _dwg_abstractobject_UNDERLAYDEFINITION		dwg_obj_dgndefinition;
692 typedef struct _dwg_abstractobject_UNDERLAYDEFINITION		dwg_obj_dwfdefinition;
693 /* unstable */
694 typedef struct _dwg_object_ACSH_BREP_CLASS		dwg_obj_acsh_brep_class;
695 typedef struct _dwg_object_ACSH_CHAMFER_CLASS		dwg_obj_acsh_chamfer_class;
696 typedef struct _dwg_object_ACSH_PYRAMID_CLASS		dwg_obj_acsh_pyramid_class;
697 typedef struct _dwg_object_ALDIMOBJECTCONTEXTDATA		dwg_obj_aldimobjectcontextdata;
698 typedef struct _dwg_object_ASSOC2DCONSTRAINTGROUP		dwg_obj_assoc2dconstraintgroup;
699 typedef struct _dwg_object_ASSOCACTION		dwg_obj_assocaction;
700 typedef struct _dwg_object_ASSOCACTIONPARAM		dwg_obj_assocactionparam;
701 typedef struct _dwg_object_ASSOCARRAYACTIONBODY		dwg_obj_assocarrayactionbody;
702 typedef struct _dwg_object_ASSOCASMBODYACTIONPARAM		dwg_obj_assocasmbodyactionparam;
703 typedef struct _dwg_object_ASSOCBLENDSURFACEACTIONBODY		dwg_obj_assocblendsurfaceactionbody;
704 typedef struct _dwg_object_ASSOCCOMPOUNDACTIONPARAM		dwg_obj_assoccompoundactionparam;
705 typedef struct _dwg_object_ASSOCDEPENDENCY		dwg_obj_assocdependency;
706 typedef struct _dwg_object_ASSOCDIMDEPENDENCYBODY		dwg_obj_assocdimdependencybody;
707 typedef struct _dwg_object_ASSOCEXTENDSURFACEACTIONBODY		dwg_obj_assocextendsurfaceactionbody;
708 typedef struct _dwg_object_ASSOCEXTRUDEDSURFACEACTIONBODY		dwg_obj_assocextrudedsurfaceactionbody;
709 typedef struct _dwg_object_ASSOCFACEACTIONPARAM		dwg_obj_assocfaceactionparam;
710 typedef struct _dwg_object_ASSOCFILLETSURFACEACTIONBODY		dwg_obj_assocfilletsurfaceactionbody;
711 typedef struct _dwg_object_ASSOCGEOMDEPENDENCY		dwg_obj_assocgeomdependency;
712 typedef struct _dwg_object_ASSOCLOFTEDSURFACEACTIONBODY		dwg_obj_assocloftedsurfaceactionbody;
713 typedef struct _dwg_object_ASSOCNETWORK		dwg_obj_assocnetwork;
714 typedef struct _dwg_object_ASSOCNETWORKSURFACEACTIONBODY		dwg_obj_assocnetworksurfaceactionbody;
715 typedef struct _dwg_object_ASSOCOBJECTACTIONPARAM		dwg_obj_assocobjectactionparam;
716 typedef struct _dwg_object_ASSOCOFFSETSURFACEACTIONBODY		dwg_obj_assocoffsetsurfaceactionbody;
717 typedef struct _dwg_object_ASSOCOSNAPPOINTREFACTIONPARAM		dwg_obj_assocosnappointrefactionparam;
718 typedef struct _dwg_object_ASSOCPATCHSURFACEACTIONBODY		dwg_obj_assocpatchsurfaceactionbody;
719 typedef struct _dwg_object_ASSOCPATHACTIONPARAM		dwg_obj_assocpathactionparam;
720 typedef struct _dwg_object_ASSOCPLANESURFACEACTIONBODY		dwg_obj_assocplanesurfaceactionbody;
721 typedef struct _dwg_object_ASSOCPOINTREFACTIONPARAM		dwg_obj_assocpointrefactionparam;
722 typedef struct _dwg_object_ASSOCREVOLVEDSURFACEACTIONBODY		dwg_obj_assocrevolvedsurfaceactionbody;
723 typedef struct _dwg_object_ASSOCTRIMSURFACEACTIONBODY		dwg_obj_assoctrimsurfaceactionbody;
724 typedef struct _dwg_object_ASSOCVALUEDEPENDENCY		dwg_obj_assocvaluedependency;
725 typedef struct _dwg_object_ASSOCVARIABLE		dwg_obj_assocvariable;
726 typedef struct _dwg_object_ASSOCVERTEXACTIONPARAM		dwg_obj_assocvertexactionparam;
727 typedef struct _dwg_object_BLKREFOBJECTCONTEXTDATA		dwg_obj_blkrefobjectcontextdata;
728 typedef struct _dwg_object_BLOCKALIGNEDCONSTRAINTPARAMETER		dwg_obj_blockalignedconstraintparameter;
729 typedef struct _dwg_object_BLOCKANGULARCONSTRAINTPARAMETER		dwg_obj_blockangularconstraintparameter;
730 typedef struct _dwg_object_BLOCKARRAYACTION		dwg_obj_blockarrayaction;
731 typedef struct _dwg_object_BLOCKDIAMETRICCONSTRAINTPARAMETER		dwg_obj_blockdiametricconstraintparameter;
732 typedef struct _dwg_object_BLOCKHORIZONTALCONSTRAINTPARAMETER		dwg_obj_blockhorizontalconstraintparameter;
733 typedef struct _dwg_object_BLOCKLINEARCONSTRAINTPARAMETER		dwg_obj_blocklinearconstraintparameter;
734 typedef struct _dwg_object_BLOCKLINEARPARAMETER		dwg_obj_blocklinearparameter;
735 typedef struct _dwg_object_BLOCKLOOKUPACTION		dwg_obj_blocklookupaction;
736 typedef struct _dwg_object_BLOCKLOOKUPPARAMETER		dwg_obj_blocklookupparameter;
737 typedef struct _dwg_object_BLOCKPARAMDEPENDENCYBODY		dwg_obj_blockparamdependencybody;
738 typedef struct _dwg_object_BLOCKPOINTPARAMETER		dwg_obj_blockpointparameter;
739 typedef struct _dwg_object_BLOCKPOLARGRIP		dwg_obj_blockpolargrip;
740 typedef struct _dwg_object_BLOCKPOLARPARAMETER		dwg_obj_blockpolarparameter;
741 typedef struct _dwg_object_BLOCKPOLARSTRETCHACTION		dwg_obj_blockpolarstretchaction;
742 typedef struct _dwg_object_BLOCKRADIALCONSTRAINTPARAMETER		dwg_obj_blockradialconstraintparameter;
743 typedef struct _dwg_object_BLOCKREPRESENTATION		dwg_obj_blockrepresentation;
744 typedef struct _dwg_object_BLOCKROTATIONPARAMETER		dwg_obj_blockrotationparameter;
745 typedef struct _dwg_object_BLOCKSTRETCHACTION		dwg_obj_blockstretchaction;
746 typedef struct _dwg_object_BLOCKUSERPARAMETER		dwg_obj_blockuserparameter;
747 typedef struct _dwg_object_BLOCKVERTICALCONSTRAINTPARAMETER		dwg_obj_blockverticalconstraintparameter;
748 typedef struct _dwg_object_BLOCKVISIBILITYPARAMETER		dwg_obj_blockvisibilityparameter;
749 typedef struct _dwg_object_BLOCKXYGRIP		dwg_obj_blockxygrip;
750 typedef struct _dwg_object_BLOCKXYPARAMETER		dwg_obj_blockxyparameter;
751 typedef struct _dwg_object_DATALINK		dwg_obj_datalink;
752 typedef struct _dwg_object_DBCOLOR		dwg_obj_dbcolor;
753 typedef struct _dwg_object_EVALUATION_GRAPH		dwg_obj_evaluation_graph;
754 typedef struct _dwg_object_FCFOBJECTCONTEXTDATA		dwg_obj_fcfobjectcontextdata;
755 typedef struct _dwg_object_GRADIENT_BACKGROUND		dwg_obj_gradient_background;
756 typedef struct _dwg_object_GROUND_PLANE_BACKGROUND		dwg_obj_ground_plane_background;
757 typedef struct _dwg_object_IBL_BACKGROUND		dwg_obj_ibl_background;
758 typedef struct _dwg_object_IMAGE_BACKGROUND		dwg_obj_image_background;
759 typedef struct _dwg_object_LEADEROBJECTCONTEXTDATA		dwg_obj_leaderobjectcontextdata;
760 typedef struct _dwg_object_LIGHTLIST		dwg_obj_lightlist;
761 typedef struct _dwg_object_MATERIAL		dwg_obj_material;
762 typedef struct _dwg_object_MENTALRAYRENDERSETTINGS		dwg_obj_mentalrayrendersettings;
763 typedef struct _dwg_object_MTEXTOBJECTCONTEXTDATA		dwg_obj_mtextobjectcontextdata;
764 typedef struct _dwg_object_OBJECT_PTR		dwg_obj_object_ptr;
765 typedef struct _dwg_object_PARTIAL_VIEWING_INDEX		dwg_obj_partial_viewing_index;
766 typedef struct _dwg_object_POINTCLOUDCOLORMAP		dwg_obj_pointcloudcolormap;
767 typedef struct _dwg_object_POINTCLOUDDEF		dwg_obj_pointclouddef;
768 typedef struct _dwg_object_POINTCLOUDDEFEX		dwg_obj_pointclouddefex;
769 typedef struct _dwg_object_POINTCLOUDDEF_REACTOR		dwg_obj_pointclouddef_reactor;
770 typedef struct _dwg_object_POINTCLOUDDEF_REACTOR_EX		dwg_obj_pointclouddef_reactor_ex;
771 typedef struct _dwg_object_PROXY_OBJECT		dwg_obj_proxy_object;
772 typedef struct _dwg_object_RAPIDRTRENDERSETTINGS		dwg_obj_rapidrtrendersettings;
773 typedef struct _dwg_object_RENDERENTRY		dwg_obj_renderentry;
774 typedef struct _dwg_object_RENDERENVIRONMENT		dwg_obj_renderenvironment;
775 typedef struct _dwg_object_RENDERGLOBAL		dwg_obj_renderglobal;
776 typedef struct _dwg_object_RENDERSETTINGS		dwg_obj_rendersettings;
777 typedef struct _dwg_object_SECTION_SETTINGS		dwg_obj_section_settings;
778 typedef struct _dwg_object_SKYLIGHT_BACKGROUND		dwg_obj_skylight_background;
779 typedef struct _dwg_object_SOLID_BACKGROUND		dwg_obj_solid_background;
780 typedef struct _dwg_object_SPATIAL_INDEX		dwg_obj_spatial_index;
781 typedef struct _dwg_object_SUN		dwg_obj_sun;
782 typedef struct _dwg_object_TABLESTYLE		dwg_obj_tablestyle;
783 typedef struct _dwg_object_TEXTOBJECTCONTEXTDATA		dwg_obj_textobjectcontextdata;
784 typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS		dwg_obj_assocarraymodifyparameters;
785 typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS		dwg_obj_assocarraypathparameters;
786 typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS		dwg_obj_assocarraypolarparameters;
787 typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS		dwg_obj_assocarrayrectangularparameters;
788 /* debugging */
789 typedef struct _dwg_object_ACMECOMMANDHISTORY		dwg_obj_acmecommandhistory;
790 typedef struct _dwg_object_ACMESCOPE		dwg_obj_acmescope;
791 typedef struct _dwg_object_ACMESTATEMGR		dwg_obj_acmestatemgr;
792 typedef struct _dwg_object_ACSH_EXTRUSION_CLASS		dwg_obj_acsh_extrusion_class;
793 typedef struct _dwg_object_ACSH_LOFT_CLASS		dwg_obj_acsh_loft_class;
794 typedef struct _dwg_object_ACSH_REVOLVE_CLASS		dwg_obj_acsh_revolve_class;
795 typedef struct _dwg_object_ACSH_SWEEP_CLASS		dwg_obj_acsh_sweep_class;
796 typedef struct _dwg_object_ANGDIMOBJECTCONTEXTDATA		dwg_obj_angdimobjectcontextdata;
797 typedef struct _dwg_object_ANNOTSCALEOBJECTCONTEXTDATA		dwg_obj_annotscaleobjectcontextdata;
798 typedef struct _dwg_object_ASSOC3POINTANGULARDIMACTIONBODY		dwg_obj_assoc3pointangulardimactionbody;
799 typedef struct _dwg_object_ASSOCALIGNEDDIMACTIONBODY		dwg_obj_assocaligneddimactionbody;
800 typedef struct _dwg_object_ASSOCARRAYMODIFYACTIONBODY		dwg_obj_assocarraymodifyactionbody;
801 typedef struct _dwg_object_ASSOCEDGEACTIONPARAM		dwg_obj_assocedgeactionparam;
802 typedef struct _dwg_object_ASSOCEDGECHAMFERACTIONBODY		dwg_obj_assocedgechamferactionbody;
803 typedef struct _dwg_object_ASSOCEDGEFILLETACTIONBODY		dwg_obj_assocedgefilletactionbody;
804 typedef struct _dwg_object_ASSOCMLEADERACTIONBODY		dwg_obj_assocmleaderactionbody;
805 typedef struct _dwg_object_ASSOCORDINATEDIMACTIONBODY		dwg_obj_assocordinatedimactionbody;
806 typedef struct _dwg_object_ASSOCPERSSUBENTMANAGER		dwg_obj_assocperssubentmanager;
807 typedef struct _dwg_object_ASSOCRESTOREENTITYSTATEACTIONBODY		dwg_obj_assocrestoreentitystateactionbody;
808 typedef struct _dwg_object_ASSOCROTATEDDIMACTIONBODY		dwg_obj_assocrotateddimactionbody;
809 typedef struct _dwg_object_ASSOCSWEPTSURFACEACTIONBODY		dwg_obj_assocsweptsurfaceactionbody;
810 typedef struct _dwg_object_BLOCKPROPERTIESTABLE		dwg_obj_blockpropertiestable;
811 typedef struct _dwg_object_BLOCKPROPERTIESTABLEGRIP		dwg_obj_blockpropertiestablegrip;
812 typedef struct _dwg_object_CONTEXTDATAMANAGER		dwg_obj_contextdatamanager;
813 typedef struct _dwg_object_CSACDOCUMENTOPTIONS		dwg_obj_csacdocumentoptions;
814 typedef struct _dwg_object_CURVEPATH		dwg_obj_curvepath;
815 typedef struct _dwg_object_DATATABLE		dwg_obj_datatable;
816 typedef struct _dwg_object_DIMASSOC		dwg_obj_dimassoc;
817 typedef struct _dwg_object_DMDIMOBJECTCONTEXTDATA		dwg_obj_dmdimobjectcontextdata;
818 typedef struct _dwg_object_DYNAMICBLOCKPROXYNODE		dwg_obj_dynamicblockproxynode;
819 typedef struct _dwg_object_GEOMAPIMAGE		dwg_obj_geomapimage;
820 typedef struct _dwg_object_LAYOUTPRINTCONFIG		dwg_obj_layoutprintconfig;
821 typedef struct _dwg_object_MLEADEROBJECTCONTEXTDATA		dwg_obj_mleaderobjectcontextdata;
822 typedef struct _dwg_object_MOTIONPATH		dwg_obj_motionpath;
823 typedef struct _dwg_object_MTEXTATTRIBUTEOBJECTCONTEXTDATA		dwg_obj_mtextattributeobjectcontextdata;
824 typedef struct _dwg_object_NAVISWORKSMODELDEF		dwg_obj_navisworksmodeldef;
825 typedef struct _dwg_object_ORDDIMOBJECTCONTEXTDATA		dwg_obj_orddimobjectcontextdata;
826 typedef struct _dwg_object_PERSUBENTMGR		dwg_obj_persubentmgr;
827 typedef struct _dwg_object_POINTPATH		dwg_obj_pointpath;
828 typedef struct _dwg_object_RADIMLGOBJECTCONTEXTDATA		dwg_obj_radimlgobjectcontextdata;
829 typedef struct _dwg_object_RADIMOBJECTCONTEXTDATA		dwg_obj_radimobjectcontextdata;
830 typedef struct _dwg_object_SUNSTUDY		dwg_obj_sunstudy;
831 typedef struct _dwg_object_TABLECONTENT		dwg_obj_tablecontent;
832 typedef struct _dwg_object_TVDEVICEPROPERTIES		dwg_obj_tvdeviceproperties;
833 //typedef struct _dwg_object_ACDSRECORD		dwg_obj_acdsrecord;
834 //typedef struct _dwg_object_ACDSSCHEMA		dwg_obj_acdsschema;
835 //typedef struct _dwg_object_NPOCOLLECTION		dwg_obj_npocollection;
836 //typedef struct _dwg_object_RAPIDRTRENDERENVIRONMENT		dwg_obj_rapidrtrenderenvironment;
837 //typedef struct _dwg_object_XREFPANELOBJECT		dwg_obj_xrefpanelobject;
838 
839 
840 dwg_get_OBJECT_DECL (ent__3dface, _3DFACE);
841 dwg_get_OBJECT_DECL (ent__3dsolid, _3DSOLID);
842 dwg_get_OBJECT_DECL (ent_arc, ARC);
843 dwg_get_OBJECT_DECL (ent_attdef, ATTDEF);
844 dwg_get_OBJECT_DECL (ent_attrib, ATTRIB);
845 dwg_get_OBJECT_DECL (ent_block, BLOCK);
846 dwg_get_OBJECT_DECL (ent_circle, CIRCLE);
847 dwg_get_OBJECT_DECL (ent_dim_aligned, DIMENSION_ALIGNED);
848 dwg_get_OBJECT_DECL (ent_dim_ang2ln, DIMENSION_ANG2LN);
849 dwg_get_OBJECT_DECL (ent_dim_ang3pt, DIMENSION_ANG3PT);
850 dwg_get_OBJECT_DECL (ent_dim_diameter, DIMENSION_DIAMETER);
851 dwg_get_OBJECT_DECL (ent_dim_linear, DIMENSION_LINEAR);
852 dwg_get_OBJECT_DECL (ent_dim_ordinate, DIMENSION_ORDINATE);
853 dwg_get_OBJECT_DECL (ent_dim_radius, DIMENSION_RADIUS);
854 dwg_get_OBJECT_DECL (ent_ellipse, ELLIPSE);
855 dwg_get_OBJECT_DECL (ent_endblk, ENDBLK);
856 dwg_get_OBJECT_DECL (ent_insert, INSERT);
857 dwg_get_OBJECT_DECL (ent_leader, LEADER);
858 dwg_get_OBJECT_DECL (ent_line, LINE);
859 dwg_get_OBJECT_DECL (ent_minsert, MINSERT);
860 dwg_get_OBJECT_DECL (ent_mline, MLINE);
861 dwg_get_OBJECT_DECL (ent_mtext, MTEXT);
862 dwg_get_OBJECT_DECL (ent_oleframe, OLEFRAME);
863 dwg_get_OBJECT_DECL (ent_point, POINT);
864 dwg_get_OBJECT_DECL (ent_polyline_2d, POLYLINE_2D);
865 dwg_get_OBJECT_DECL (ent_polyline_3d, POLYLINE_3D);
866 dwg_get_OBJECT_DECL (ent_polyline_mesh, POLYLINE_MESH);
867 dwg_get_OBJECT_DECL (ent_polyline_pface, POLYLINE_PFACE);
868 dwg_get_OBJECT_DECL (ent_proxy_entity, PROXY_ENTITY);
869 dwg_get_OBJECT_DECL (ent_ray, RAY);
870 dwg_get_OBJECT_DECL (ent_seqend, SEQEND);
871 dwg_get_OBJECT_DECL (ent_shape, SHAPE);
872 dwg_get_OBJECT_DECL (ent_solid, SOLID);
873 dwg_get_OBJECT_DECL (ent_spline, SPLINE);
874 dwg_get_OBJECT_DECL (ent_text, TEXT);
875 dwg_get_OBJECT_DECL (ent_tolerance, TOLERANCE);
876 dwg_get_OBJECT_DECL (ent_trace, TRACE);
877 dwg_get_OBJECT_DECL (ent_unknown_ent, UNKNOWN_ENT);
878 dwg_get_OBJECT_DECL (ent_vertex_2d, VERTEX_2D);
879 dwg_get_OBJECT_DECL (ent_vertex_3d, VERTEX_3D);
880 dwg_get_OBJECT_DECL (ent_vert_pface_face, VERTEX_PFACE_FACE);
881 dwg_get_OBJECT_DECL (ent_viewport, VIEWPORT);
882 /* untyped > 500 */
883 dwg_get_OBJECT_DECL (ent_camera, CAMERA);
884 dwg_get_OBJECT_DECL (ent_dgnunderlay, DGNUNDERLAY);
885 dwg_get_OBJECT_DECL (ent_dwfunderlay, DWFUNDERLAY);
886 dwg_get_OBJECT_DECL (ent_hatch, HATCH);
887 dwg_get_OBJECT_DECL (ent_image, IMAGE);
888 dwg_get_OBJECT_DECL (ent_light, LIGHT);
889 dwg_get_OBJECT_DECL (ent_lwpline, LWPOLYLINE);
890 dwg_get_OBJECT_DECL (ent_mesh, MESH);
891 dwg_get_OBJECT_DECL (ent_mleader, MULTILEADER);
892 dwg_get_OBJECT_DECL (ent_ole2frame, OLE2FRAME);
893 dwg_get_OBJECT_DECL (ent_pdfunderlay, PDFUNDERLAY);
894 dwg_get_OBJECT_DECL (ent_sectionobject, SECTIONOBJECT);
895 /* unstable */
896 dwg_get_OBJECT_DECL (ent_arc_dimension, ARC_DIMENSION);
897 dwg_get_OBJECT_DECL (ent_helix, HELIX);
898 dwg_get_OBJECT_DECL (ent_large_radial_dimension, LARGE_RADIAL_DIMENSION);
899 dwg_get_OBJECT_DECL (ent_planesurface, PLANESURFACE);
900 dwg_get_OBJECT_DECL (ent_pointcloud, POINTCLOUD);
901 dwg_get_OBJECT_DECL (ent_pointcloudex, POINTCLOUDEX);
902 dwg_get_OBJECT_DECL (ent_wipeout, WIPEOUT);
903 #ifdef DEBUG_CLASSES
904   dwg_get_OBJECT_DECL (ent_alignmentparameterentity, ALIGNMENTPARAMETERENTITY);
905   dwg_get_OBJECT_DECL (ent_arcalignedtext, ARCALIGNEDTEXT);
906   dwg_get_OBJECT_DECL (ent_basepointparameterentity, BASEPOINTPARAMETERENTITY);
907   dwg_get_OBJECT_DECL (ent_extrudedsurface, EXTRUDEDSURFACE);
908   dwg_get_OBJECT_DECL (ent_flipparameterentity, FLIPPARAMETERENTITY);
909   dwg_get_OBJECT_DECL (ent_geopositionmarker, GEOPOSITIONMARKER);
910   dwg_get_OBJECT_DECL (ent_linearparameterentity, LINEARPARAMETERENTITY);
911   dwg_get_OBJECT_DECL (ent_loftedsurface, LOFTEDSURFACE);
912   dwg_get_OBJECT_DECL (ent_mpolygon, MPOLYGON);
913   dwg_get_OBJECT_DECL (ent_navisworksmodel, NAVISWORKSMODEL);
914   dwg_get_OBJECT_DECL (ent_nurbsurface, NURBSURFACE);
915   dwg_get_OBJECT_DECL (ent_pointparameterentity, POINTPARAMETERENTITY);
916   dwg_get_OBJECT_DECL (ent_polargripentity, POLARGRIPENTITY);
917   dwg_get_OBJECT_DECL (ent_revolvedsurface, REVOLVEDSURFACE);
918   dwg_get_OBJECT_DECL (ent_rotationparameterentity, ROTATIONPARAMETERENTITY);
919   dwg_get_OBJECT_DECL (ent_rtext, RTEXT);
920   dwg_get_OBJECT_DECL (ent_sweptsurface, SWEPTSURFACE);
921   dwg_get_OBJECT_DECL (ent_table, TABLE);
922   dwg_get_OBJECT_DECL (ent_visibilitygripentity, VISIBILITYGRIPENTITY);
923   dwg_get_OBJECT_DECL (ent_visibilityparameterentity, VISIBILITYPARAMETERENTITY);
924   dwg_get_OBJECT_DECL (ent_xyparameterentity, XYPARAMETERENTITY);
925 #endif
926 
927 dwg_get_OBJECT_DECL (obj_appid, APPID);
928 dwg_get_OBJECT_DECL (obj_appid_control, APPID_CONTROL);
929 dwg_get_OBJECT_DECL (obj_block_control, BLOCK_CONTROL);
930 dwg_get_OBJECT_DECL (obj_block_header, BLOCK_HEADER);
931 dwg_get_OBJECT_DECL (obj_dictionary, DICTIONARY);
932 dwg_get_OBJECT_DECL (obj_dimstyle, DIMSTYLE);
933 dwg_get_OBJECT_DECL (obj_dimstyle_control, DIMSTYLE_CONTROL);
934 dwg_get_OBJECT_DECL (obj_dummy, DUMMY);
935 dwg_get_OBJECT_DECL (obj_layer, LAYER);
936 dwg_get_OBJECT_DECL (obj_layer_control, LAYER_CONTROL);
937 dwg_get_OBJECT_DECL (obj_long_transaction, LONG_TRANSACTION);
938 dwg_get_OBJECT_DECL (obj_ltype, LTYPE);
939 dwg_get_OBJECT_DECL (obj_ltype_control, LTYPE_CONTROL);
940 dwg_get_OBJECT_DECL (obj_mlinestyle, MLINESTYLE);
941 dwg_get_OBJECT_DECL (obj_style, STYLE);
942 dwg_get_OBJECT_DECL (obj_style_control, STYLE_CONTROL);
943 dwg_get_OBJECT_DECL (obj_ucs, UCS);
944 dwg_get_OBJECT_DECL (obj_ucs_control, UCS_CONTROL);
945 dwg_get_OBJECT_DECL (obj_unknown_obj, UNKNOWN_OBJ);
946 dwg_get_OBJECT_DECL (obj_view, VIEW);
947 dwg_get_OBJECT_DECL (obj_view_control, VIEW_CONTROL);
948 dwg_get_OBJECT_DECL (obj_vport, VPORT);
949 dwg_get_OBJECT_DECL (obj_vport_control, VPORT_CONTROL);
950 dwg_get_OBJECT_DECL (obj_vx_control, VX_CONTROL);
951 dwg_get_OBJECT_DECL (obj_vx_table_record, VX_TABLE_RECORD);
952 /* untyped > 500 */
953 dwg_get_OBJECT_DECL (obj_acsh_boolean_class, ACSH_BOOLEAN_CLASS);
954 dwg_get_OBJECT_DECL (obj_acsh_box_class, ACSH_BOX_CLASS);
955 dwg_get_OBJECT_DECL (obj_acsh_cone_class, ACSH_CONE_CLASS);
956 dwg_get_OBJECT_DECL (obj_acsh_cylinder_class, ACSH_CYLINDER_CLASS);
957 dwg_get_OBJECT_DECL (obj_acsh_fillet_class, ACSH_FILLET_CLASS);
958 dwg_get_OBJECT_DECL (obj_acsh_history_class, ACSH_HISTORY_CLASS);
959 dwg_get_OBJECT_DECL (obj_acsh_sphere_class, ACSH_SPHERE_CLASS);
960 dwg_get_OBJECT_DECL (obj_acsh_torus_class, ACSH_TORUS_CLASS);
961 dwg_get_OBJECT_DECL (obj_acsh_wedge_class, ACSH_WEDGE_CLASS);
962 dwg_get_OBJECT_DECL (obj_blockalignmentgrip, BLOCKALIGNMENTGRIP);
963 dwg_get_OBJECT_DECL (obj_blockalignmentparameter, BLOCKALIGNMENTPARAMETER);
964 dwg_get_OBJECT_DECL (obj_blockbasepointparameter, BLOCKBASEPOINTPARAMETER);
965 dwg_get_OBJECT_DECL (obj_blockflipaction, BLOCKFLIPACTION);
966 dwg_get_OBJECT_DECL (obj_blockflipgrip, BLOCKFLIPGRIP);
967 dwg_get_OBJECT_DECL (obj_blockflipparameter, BLOCKFLIPPARAMETER);
968 dwg_get_OBJECT_DECL (obj_blockgriplocationcomponent, BLOCKGRIPLOCATIONCOMPONENT);
969 dwg_get_OBJECT_DECL (obj_blocklineargrip, BLOCKLINEARGRIP);
970 dwg_get_OBJECT_DECL (obj_blocklookupgrip, BLOCKLOOKUPGRIP);
971 dwg_get_OBJECT_DECL (obj_blockmoveaction, BLOCKMOVEACTION);
972 dwg_get_OBJECT_DECL (obj_blockrotateaction, BLOCKROTATEACTION);
973 dwg_get_OBJECT_DECL (obj_blockrotationgrip, BLOCKROTATIONGRIP);
974 dwg_get_OBJECT_DECL (obj_blockscaleaction, BLOCKSCALEACTION);
975 dwg_get_OBJECT_DECL (obj_blockvisibilitygrip, BLOCKVISIBILITYGRIP);
976 dwg_get_OBJECT_DECL (obj_cellstylemap, CELLSTYLEMAP);
977 dwg_get_OBJECT_DECL (obj_detailviewstyle, DETAILVIEWSTYLE);
978 dwg_get_OBJECT_DECL (obj_dictionaryvar, DICTIONARYVAR);
979 dwg_get_OBJECT_DECL (obj_dictionarywdflt, DICTIONARYWDFLT);
980 dwg_get_OBJECT_DECL (obj_dynamicblockpurgepreventer, DYNAMICBLOCKPURGEPREVENTER);
981 dwg_get_OBJECT_DECL (obj_field, FIELD);
982 dwg_get_OBJECT_DECL (obj_fieldlist, FIELDLIST);
983 dwg_get_OBJECT_DECL (obj_geodata, GEODATA);
984 dwg_get_OBJECT_DECL (obj_group, GROUP);
985 dwg_get_OBJECT_DECL (obj_idbuffer, IDBUFFER);
986 dwg_get_OBJECT_DECL (obj_imagedef, IMAGEDEF);
987 dwg_get_OBJECT_DECL (obj_imagedef_reactor, IMAGEDEF_REACTOR);
988 dwg_get_OBJECT_DECL (obj_index, INDEX);
989 dwg_get_OBJECT_DECL (obj_layerfilter, LAYERFILTER);
990 dwg_get_OBJECT_DECL (obj_layer_index, LAYER_INDEX);
991 dwg_get_OBJECT_DECL (obj_layout, LAYOUT);
992 dwg_get_OBJECT_DECL (obj_mleaderstyle, MLEADERSTYLE);
993 dwg_get_OBJECT_DECL (obj_placeholder, PLACEHOLDER);
994 dwg_get_OBJECT_DECL (obj_plotsettings, PLOTSETTINGS);
995 dwg_get_OBJECT_DECL (obj_rastervariables, RASTERVARIABLES);
996 dwg_get_OBJECT_DECL (obj_scale, SCALE);
997 dwg_get_OBJECT_DECL (obj_sectionviewstyle, SECTIONVIEWSTYLE);
998 dwg_get_OBJECT_DECL (obj_section_manager, SECTION_MANAGER);
999 dwg_get_OBJECT_DECL (obj_sortentstable, SORTENTSTABLE);
1000 dwg_get_OBJECT_DECL (obj_spatial_filter, SPATIAL_FILTER);
1001 dwg_get_OBJECT_DECL (obj_tablegeometry, TABLEGEOMETRY);
1002 dwg_get_OBJECT_DECL (obj_vba_project, VBA_PROJECT);
1003 dwg_get_OBJECT_DECL (obj_visualstyle, VISUALSTYLE);
1004 dwg_get_OBJECT_DECL (obj_wipeoutvariables, WIPEOUTVARIABLES);
1005 dwg_get_OBJECT_DECL (obj_xrecord, XRECORD);
1006 dwg_get_OBJECT_DECL (obj_pdfdefinition, PDFDEFINITION);
1007 dwg_get_OBJECT_DECL (obj_dgndefinition, DGNDEFINITION);
1008 dwg_get_OBJECT_DECL (obj_dwfdefinition, DWFDEFINITION);
1009 /* unstable */
1010 dwg_get_OBJECT_DECL (obj_acsh_brep_class, ACSH_BREP_CLASS);
1011 dwg_get_OBJECT_DECL (obj_acsh_chamfer_class, ACSH_CHAMFER_CLASS);
1012 dwg_get_OBJECT_DECL (obj_acsh_pyramid_class, ACSH_PYRAMID_CLASS);
1013 dwg_get_OBJECT_DECL (obj_aldimobjectcontextdata, ALDIMOBJECTCONTEXTDATA);
1014 dwg_get_OBJECT_DECL (obj_assoc2dconstraintgroup, ASSOC2DCONSTRAINTGROUP);
1015 dwg_get_OBJECT_DECL (obj_assocaction, ASSOCACTION);
1016 dwg_get_OBJECT_DECL (obj_assocactionparam, ASSOCACTIONPARAM);
1017 dwg_get_OBJECT_DECL (obj_assocarrayactionbody, ASSOCARRAYACTIONBODY);
1018 dwg_get_OBJECT_DECL (obj_assocasmbodyactionparam, ASSOCASMBODYACTIONPARAM);
1019 dwg_get_OBJECT_DECL (obj_assocblendsurfaceactionbody, ASSOCBLENDSURFACEACTIONBODY);
1020 dwg_get_OBJECT_DECL (obj_assoccompoundactionparam, ASSOCCOMPOUNDACTIONPARAM);
1021 dwg_get_OBJECT_DECL (obj_assocdependency, ASSOCDEPENDENCY);
1022 dwg_get_OBJECT_DECL (obj_assocdimdependencybody, ASSOCDIMDEPENDENCYBODY);
1023 dwg_get_OBJECT_DECL (obj_assocextendsurfaceactionbody, ASSOCEXTENDSURFACEACTIONBODY);
1024 dwg_get_OBJECT_DECL (obj_assocextrudedsurfaceactionbody, ASSOCEXTRUDEDSURFACEACTIONBODY);
1025 dwg_get_OBJECT_DECL (obj_assocfaceactionparam, ASSOCFACEACTIONPARAM);
1026 dwg_get_OBJECT_DECL (obj_assocfilletsurfaceactionbody, ASSOCFILLETSURFACEACTIONBODY);
1027 dwg_get_OBJECT_DECL (obj_assocgeomdependency, ASSOCGEOMDEPENDENCY);
1028 dwg_get_OBJECT_DECL (obj_assocloftedsurfaceactionbody, ASSOCLOFTEDSURFACEACTIONBODY);
1029 dwg_get_OBJECT_DECL (obj_assocnetwork, ASSOCNETWORK);
1030 dwg_get_OBJECT_DECL (obj_assocnetworksurfaceactionbody, ASSOCNETWORKSURFACEACTIONBODY);
1031 dwg_get_OBJECT_DECL (obj_assocobjectactionparam, ASSOCOBJECTACTIONPARAM);
1032 dwg_get_OBJECT_DECL (obj_assocoffsetsurfaceactionbody, ASSOCOFFSETSURFACEACTIONBODY);
1033 dwg_get_OBJECT_DECL (obj_assocosnappointrefactionparam, ASSOCOSNAPPOINTREFACTIONPARAM);
1034 dwg_get_OBJECT_DECL (obj_assocpatchsurfaceactionbody, ASSOCPATCHSURFACEACTIONBODY);
1035 dwg_get_OBJECT_DECL (obj_assocpathactionparam, ASSOCPATHACTIONPARAM);
1036 dwg_get_OBJECT_DECL (obj_assocplanesurfaceactionbody, ASSOCPLANESURFACEACTIONBODY);
1037 dwg_get_OBJECT_DECL (obj_assocpointrefactionparam, ASSOCPOINTREFACTIONPARAM);
1038 dwg_get_OBJECT_DECL (obj_assocrevolvedsurfaceactionbody, ASSOCREVOLVEDSURFACEACTIONBODY);
1039 dwg_get_OBJECT_DECL (obj_assoctrimsurfaceactionbody, ASSOCTRIMSURFACEACTIONBODY);
1040 dwg_get_OBJECT_DECL (obj_assocvaluedependency, ASSOCVALUEDEPENDENCY);
1041 dwg_get_OBJECT_DECL (obj_assocvariable, ASSOCVARIABLE);
1042 dwg_get_OBJECT_DECL (obj_assocvertexactionparam, ASSOCVERTEXACTIONPARAM);
1043 dwg_get_OBJECT_DECL (obj_blkrefobjectcontextdata, BLKREFOBJECTCONTEXTDATA);
1044 dwg_get_OBJECT_DECL (obj_blockalignedconstraintparameter, BLOCKALIGNEDCONSTRAINTPARAMETER);
1045 dwg_get_OBJECT_DECL (obj_blockangularconstraintparameter, BLOCKANGULARCONSTRAINTPARAMETER);
1046 dwg_get_OBJECT_DECL (obj_blockarrayaction, BLOCKARRAYACTION);
1047 dwg_get_OBJECT_DECL (obj_blockdiametricconstraintparameter, BLOCKDIAMETRICCONSTRAINTPARAMETER);
1048 dwg_get_OBJECT_DECL (obj_blockhorizontalconstraintparameter, BLOCKHORIZONTALCONSTRAINTPARAMETER);
1049 dwg_get_OBJECT_DECL (obj_blocklinearconstraintparameter, BLOCKLINEARCONSTRAINTPARAMETER);
1050 dwg_get_OBJECT_DECL (obj_blocklinearparameter, BLOCKLINEARPARAMETER);
1051 dwg_get_OBJECT_DECL (obj_blocklookupaction, BLOCKLOOKUPACTION);
1052 dwg_get_OBJECT_DECL (obj_blocklookupparameter, BLOCKLOOKUPPARAMETER);
1053 dwg_get_OBJECT_DECL (obj_blockparamdependencybody, BLOCKPARAMDEPENDENCYBODY);
1054 dwg_get_OBJECT_DECL (obj_blockpointparameter, BLOCKPOINTPARAMETER);
1055 dwg_get_OBJECT_DECL (obj_blockpolargrip, BLOCKPOLARGRIP);
1056 dwg_get_OBJECT_DECL (obj_blockpolarparameter, BLOCKPOLARPARAMETER);
1057 dwg_get_OBJECT_DECL (obj_blockpolarstretchaction, BLOCKPOLARSTRETCHACTION);
1058 dwg_get_OBJECT_DECL (obj_blockradialconstraintparameter, BLOCKRADIALCONSTRAINTPARAMETER);
1059 dwg_get_OBJECT_DECL (obj_blockrepresentation, BLOCKREPRESENTATION);
1060 dwg_get_OBJECT_DECL (obj_blockrotationparameter, BLOCKROTATIONPARAMETER);
1061 dwg_get_OBJECT_DECL (obj_blockstretchaction, BLOCKSTRETCHACTION);
1062 dwg_get_OBJECT_DECL (obj_blockuserparameter, BLOCKUSERPARAMETER);
1063 dwg_get_OBJECT_DECL (obj_blockverticalconstraintparameter, BLOCKVERTICALCONSTRAINTPARAMETER);
1064 dwg_get_OBJECT_DECL (obj_blockvisibilityparameter, BLOCKVISIBILITYPARAMETER);
1065 dwg_get_OBJECT_DECL (obj_blockxygrip, BLOCKXYGRIP);
1066 dwg_get_OBJECT_DECL (obj_blockxyparameter, BLOCKXYPARAMETER);
1067 dwg_get_OBJECT_DECL (obj_datalink, DATALINK);
1068 dwg_get_OBJECT_DECL (obj_dbcolor, DBCOLOR);
1069 dwg_get_OBJECT_DECL (obj_evaluation_graph, EVALUATION_GRAPH);
1070 dwg_get_OBJECT_DECL (obj_fcfobjectcontextdata, FCFOBJECTCONTEXTDATA);
1071 dwg_get_OBJECT_DECL (obj_gradient_background, GRADIENT_BACKGROUND);
1072 dwg_get_OBJECT_DECL (obj_ground_plane_background, GROUND_PLANE_BACKGROUND);
1073 dwg_get_OBJECT_DECL (obj_ibl_background, IBL_BACKGROUND);
1074 dwg_get_OBJECT_DECL (obj_image_background, IMAGE_BACKGROUND);
1075 dwg_get_OBJECT_DECL (obj_leaderobjectcontextdata, LEADEROBJECTCONTEXTDATA);
1076 dwg_get_OBJECT_DECL (obj_lightlist, LIGHTLIST);
1077 dwg_get_OBJECT_DECL (obj_material, MATERIAL);
1078 dwg_get_OBJECT_DECL (obj_mentalrayrendersettings, MENTALRAYRENDERSETTINGS);
1079 dwg_get_OBJECT_DECL (obj_mtextobjectcontextdata, MTEXTOBJECTCONTEXTDATA);
1080 dwg_get_OBJECT_DECL (obj_object_ptr, OBJECT_PTR);
1081 dwg_get_OBJECT_DECL (obj_partial_viewing_index, PARTIAL_VIEWING_INDEX);
1082 dwg_get_OBJECT_DECL (obj_pointcloudcolormap, POINTCLOUDCOLORMAP);
1083 dwg_get_OBJECT_DECL (obj_pointclouddef, POINTCLOUDDEF);
1084 dwg_get_OBJECT_DECL (obj_pointclouddefex, POINTCLOUDDEFEX);
1085 dwg_get_OBJECT_DECL (obj_pointclouddef_reactor, POINTCLOUDDEF_REACTOR);
1086 dwg_get_OBJECT_DECL (obj_pointclouddef_reactor_ex, POINTCLOUDDEF_REACTOR_EX);
1087 dwg_get_OBJECT_DECL (obj_proxy_object, PROXY_OBJECT);
1088 dwg_get_OBJECT_DECL (obj_rapidrtrendersettings, RAPIDRTRENDERSETTINGS);
1089 dwg_get_OBJECT_DECL (obj_renderentry, RENDERENTRY);
1090 dwg_get_OBJECT_DECL (obj_renderenvironment, RENDERENVIRONMENT);
1091 dwg_get_OBJECT_DECL (obj_renderglobal, RENDERGLOBAL);
1092 dwg_get_OBJECT_DECL (obj_rendersettings, RENDERSETTINGS);
1093 dwg_get_OBJECT_DECL (obj_section_settings, SECTION_SETTINGS);
1094 dwg_get_OBJECT_DECL (obj_skylight_background, SKYLIGHT_BACKGROUND);
1095 dwg_get_OBJECT_DECL (obj_solid_background, SOLID_BACKGROUND);
1096 dwg_get_OBJECT_DECL (obj_spatial_index, SPATIAL_INDEX);
1097 dwg_get_OBJECT_DECL (obj_sun, SUN);
1098 dwg_get_OBJECT_DECL (obj_tablestyle, TABLESTYLE);
1099 dwg_get_OBJECT_DECL (obj_textobjectcontextdata, TEXTOBJECTCONTEXTDATA);
1100 dwg_get_OBJECT_DECL (obj_assocarraymodifyparameters, ASSOCARRAYMODIFYPARAMETERS);
1101 dwg_get_OBJECT_DECL (obj_assocarraypathparameters, ASSOCARRAYPATHPARAMETERS);
1102 dwg_get_OBJECT_DECL (obj_assocarraypolarparameters, ASSOCARRAYPOLARPARAMETERS);
1103 dwg_get_OBJECT_DECL (obj_assocarrayrectangularparameters, ASSOCARRAYRECTANGULARPARAMETERS);
1104 #ifdef DEBUG_CLASSES
1105   dwg_get_OBJECT_DECL (obj_acmecommandhistory, ACMECOMMANDHISTORY);
1106   dwg_get_OBJECT_DECL (obj_acmescope, ACMESCOPE);
1107   dwg_get_OBJECT_DECL (obj_acmestatemgr, ACMESTATEMGR);
1108   dwg_get_OBJECT_DECL (obj_acsh_extrusion_class, ACSH_EXTRUSION_CLASS);
1109   dwg_get_OBJECT_DECL (obj_acsh_loft_class, ACSH_LOFT_CLASS);
1110   dwg_get_OBJECT_DECL (obj_acsh_revolve_class, ACSH_REVOLVE_CLASS);
1111   dwg_get_OBJECT_DECL (obj_acsh_sweep_class, ACSH_SWEEP_CLASS);
1112   dwg_get_OBJECT_DECL (obj_angdimobjectcontextdata, ANGDIMOBJECTCONTEXTDATA);
1113   dwg_get_OBJECT_DECL (obj_annotscaleobjectcontextdata, ANNOTSCALEOBJECTCONTEXTDATA);
1114   dwg_get_OBJECT_DECL (obj_assoc3pointangulardimactionbody, ASSOC3POINTANGULARDIMACTIONBODY);
1115   dwg_get_OBJECT_DECL (obj_assocaligneddimactionbody, ASSOCALIGNEDDIMACTIONBODY);
1116   dwg_get_OBJECT_DECL (obj_assocarraymodifyactionbody, ASSOCARRAYMODIFYACTIONBODY);
1117   dwg_get_OBJECT_DECL (obj_assocedgeactionparam, ASSOCEDGEACTIONPARAM);
1118   dwg_get_OBJECT_DECL (obj_assocedgechamferactionbody, ASSOCEDGECHAMFERACTIONBODY);
1119   dwg_get_OBJECT_DECL (obj_assocedgefilletactionbody, ASSOCEDGEFILLETACTIONBODY);
1120   dwg_get_OBJECT_DECL (obj_assocmleaderactionbody, ASSOCMLEADERACTIONBODY);
1121   dwg_get_OBJECT_DECL (obj_assocordinatedimactionbody, ASSOCORDINATEDIMACTIONBODY);
1122   dwg_get_OBJECT_DECL (obj_assocperssubentmanager, ASSOCPERSSUBENTMANAGER);
1123   dwg_get_OBJECT_DECL (obj_assocrestoreentitystateactionbody, ASSOCRESTOREENTITYSTATEACTIONBODY);
1124   dwg_get_OBJECT_DECL (obj_assocrotateddimactionbody, ASSOCROTATEDDIMACTIONBODY);
1125   dwg_get_OBJECT_DECL (obj_assocsweptsurfaceactionbody, ASSOCSWEPTSURFACEACTIONBODY);
1126   dwg_get_OBJECT_DECL (obj_blockpropertiestable, BLOCKPROPERTIESTABLE);
1127   dwg_get_OBJECT_DECL (obj_blockpropertiestablegrip, BLOCKPROPERTIESTABLEGRIP);
1128   dwg_get_OBJECT_DECL (obj_contextdatamanager, CONTEXTDATAMANAGER);
1129   dwg_get_OBJECT_DECL (obj_csacdocumentoptions, CSACDOCUMENTOPTIONS);
1130   dwg_get_OBJECT_DECL (obj_curvepath, CURVEPATH);
1131   dwg_get_OBJECT_DECL (obj_datatable, DATATABLE);
1132   dwg_get_OBJECT_DECL (obj_dimassoc, DIMASSOC);
1133   dwg_get_OBJECT_DECL (obj_dmdimobjectcontextdata, DMDIMOBJECTCONTEXTDATA);
1134   dwg_get_OBJECT_DECL (obj_dynamicblockproxynode, DYNAMICBLOCKPROXYNODE);
1135   dwg_get_OBJECT_DECL (obj_geomapimage, GEOMAPIMAGE);
1136   dwg_get_OBJECT_DECL (obj_layoutprintconfig, LAYOUTPRINTCONFIG);
1137   dwg_get_OBJECT_DECL (obj_mleaderobjectcontextdata, MLEADEROBJECTCONTEXTDATA);
1138   dwg_get_OBJECT_DECL (obj_motionpath, MOTIONPATH);
1139   dwg_get_OBJECT_DECL (obj_mtextattributeobjectcontextdata, MTEXTATTRIBUTEOBJECTCONTEXTDATA);
1140   dwg_get_OBJECT_DECL (obj_navisworksmodeldef, NAVISWORKSMODELDEF);
1141   dwg_get_OBJECT_DECL (obj_orddimobjectcontextdata, ORDDIMOBJECTCONTEXTDATA);
1142   dwg_get_OBJECT_DECL (obj_persubentmgr, PERSUBENTMGR);
1143   dwg_get_OBJECT_DECL (obj_pointpath, POINTPATH);
1144   dwg_get_OBJECT_DECL (obj_radimlgobjectcontextdata, RADIMLGOBJECTCONTEXTDATA);
1145   dwg_get_OBJECT_DECL (obj_radimobjectcontextdata, RADIMOBJECTCONTEXTDATA);
1146   dwg_get_OBJECT_DECL (obj_sunstudy, SUNSTUDY);
1147   dwg_get_OBJECT_DECL (obj_tablecontent, TABLECONTENT);
1148   dwg_get_OBJECT_DECL (obj_tvdeviceproperties, TVDEVICEPROPERTIES);
1149   //dwg_get_OBJECT_DECL (obj_acdsrecord, ACDSRECORD);
1150   //dwg_get_OBJECT_DECL (obj_acdsschema, ACDSSCHEMA);
1151   //dwg_get_OBJECT_DECL (obj_npocollection, NPOCOLLECTION);
1152   //dwg_get_OBJECT_DECL (obj_rapidrtrenderenvironment, RAPIDRTRENDERENVIRONMENT);
1153   //dwg_get_OBJECT_DECL (obj_xrefpanelobject, XREFPANELOBJECT);
1154 #endif
1155 
1156 /********************************************************************
1157  * Functions to return NULL-terminated array of all owned entities  *
1158  ********************************************************************/
1159 
1160 /// extract all owned entities from a block header (mspace or pspace)
1161 DWG_GETALL_ENTITY_DECL (_3DFACE);
1162 DWG_GETALL_ENTITY_DECL (_3DSOLID);
1163 DWG_GETALL_ENTITY_DECL (ARC);
1164 DWG_GETALL_ENTITY_DECL (ATTDEF);
1165 DWG_GETALL_ENTITY_DECL (ATTRIB);
1166 DWG_GETALL_ENTITY_DECL (BLOCK);
1167 DWG_GETALL_ENTITY_DECL (BODY);
1168 DWG_GETALL_ENTITY_DECL (CIRCLE);
1169 DWG_GETALL_ENTITY_DECL (DIMENSION_ALIGNED);
1170 DWG_GETALL_ENTITY_DECL (DIMENSION_ANG2LN);
1171 DWG_GETALL_ENTITY_DECL (DIMENSION_ANG3PT);
1172 DWG_GETALL_ENTITY_DECL (DIMENSION_DIAMETER);
1173 DWG_GETALL_ENTITY_DECL (DIMENSION_LINEAR);
1174 DWG_GETALL_ENTITY_DECL (DIMENSION_ORDINATE);
1175 DWG_GETALL_ENTITY_DECL (DIMENSION_RADIUS);
1176 DWG_GETALL_ENTITY_DECL (ELLIPSE);
1177 DWG_GETALL_ENTITY_DECL (ENDBLK);
1178 DWG_GETALL_ENTITY_DECL (INSERT);
1179 DWG_GETALL_ENTITY_DECL (LEADER);
1180 DWG_GETALL_ENTITY_DECL (LINE);
1181 DWG_GETALL_ENTITY_DECL (MINSERT);
1182 DWG_GETALL_ENTITY_DECL (MLINE);
1183 DWG_GETALL_ENTITY_DECL (MTEXT);
1184 DWG_GETALL_ENTITY_DECL (OLEFRAME);
1185 DWG_GETALL_ENTITY_DECL (POINT);
1186 DWG_GETALL_ENTITY_DECL (POLYLINE_2D);
1187 DWG_GETALL_ENTITY_DECL (POLYLINE_3D);
1188 DWG_GETALL_ENTITY_DECL (POLYLINE_MESH);
1189 DWG_GETALL_ENTITY_DECL (POLYLINE_PFACE);
1190 DWG_GETALL_ENTITY_DECL (PROXY_ENTITY);
1191 DWG_GETALL_ENTITY_DECL (RAY);
1192 DWG_GETALL_ENTITY_DECL (REGION);
1193 DWG_GETALL_ENTITY_DECL (SEQEND);
1194 DWG_GETALL_ENTITY_DECL (SHAPE);
1195 DWG_GETALL_ENTITY_DECL (SOLID);
1196 DWG_GETALL_ENTITY_DECL (SPLINE);
1197 DWG_GETALL_ENTITY_DECL (TEXT);
1198 DWG_GETALL_ENTITY_DECL (TOLERANCE);
1199 DWG_GETALL_ENTITY_DECL (TRACE);
1200 DWG_GETALL_ENTITY_DECL (UNKNOWN_ENT);
1201 DWG_GETALL_ENTITY_DECL (VERTEX_2D);
1202 DWG_GETALL_ENTITY_DECL (VERTEX_3D);
1203 DWG_GETALL_ENTITY_DECL (VERTEX_MESH);
1204 DWG_GETALL_ENTITY_DECL (VERTEX_PFACE);
1205 DWG_GETALL_ENTITY_DECL (VERTEX_PFACE_FACE);
1206 DWG_GETALL_ENTITY_DECL (VIEWPORT);
1207 DWG_GETALL_ENTITY_DECL (XLINE);
1208 /* untyped > 500 */
1209 DWG_GETALL_ENTITY_DECL (CAMERA);
1210 DWG_GETALL_ENTITY_DECL (DGNUNDERLAY);
1211 DWG_GETALL_ENTITY_DECL (DWFUNDERLAY);
1212 DWG_GETALL_ENTITY_DECL (HATCH);
1213 DWG_GETALL_ENTITY_DECL (IMAGE);
1214 DWG_GETALL_ENTITY_DECL (LIGHT);
1215 DWG_GETALL_ENTITY_DECL (LWPOLYLINE);
1216 DWG_GETALL_ENTITY_DECL (MESH);
1217 DWG_GETALL_ENTITY_DECL (MULTILEADER);
1218 DWG_GETALL_ENTITY_DECL (OLE2FRAME);
1219 DWG_GETALL_ENTITY_DECL (PDFUNDERLAY);
1220 DWG_GETALL_ENTITY_DECL (SECTIONOBJECT);
1221 /* unstable */
1222 DWG_GETALL_ENTITY_DECL (ARC_DIMENSION);
1223 DWG_GETALL_ENTITY_DECL (HELIX);
1224 DWG_GETALL_ENTITY_DECL (LARGE_RADIAL_DIMENSION);
1225 DWG_GETALL_ENTITY_DECL (PLANESURFACE);
1226 DWG_GETALL_ENTITY_DECL (POINTCLOUD);
1227 DWG_GETALL_ENTITY_DECL (POINTCLOUDEX);
1228 DWG_GETALL_ENTITY_DECL (WIPEOUT);
1229 /* debugging */
1230 DWG_GETALL_ENTITY_DECL (ALIGNMENTPARAMETERENTITY);
1231 DWG_GETALL_ENTITY_DECL (ARCALIGNEDTEXT);
1232 DWG_GETALL_ENTITY_DECL (BASEPOINTPARAMETERENTITY);
1233 DWG_GETALL_ENTITY_DECL (EXTRUDEDSURFACE);
1234 DWG_GETALL_ENTITY_DECL (FLIPPARAMETERENTITY);
1235 DWG_GETALL_ENTITY_DECL (GEOPOSITIONMARKER);
1236 DWG_GETALL_ENTITY_DECL (LINEARPARAMETERENTITY);
1237 DWG_GETALL_ENTITY_DECL (LOFTEDSURFACE);
1238 DWG_GETALL_ENTITY_DECL (MPOLYGON);
1239 DWG_GETALL_ENTITY_DECL (NAVISWORKSMODEL);
1240 DWG_GETALL_ENTITY_DECL (NURBSURFACE);
1241 DWG_GETALL_ENTITY_DECL (POINTPARAMETERENTITY);
1242 DWG_GETALL_ENTITY_DECL (POLARGRIPENTITY);
1243 DWG_GETALL_ENTITY_DECL (REVOLVEDSURFACE);
1244 DWG_GETALL_ENTITY_DECL (ROTATIONPARAMETERENTITY);
1245 DWG_GETALL_ENTITY_DECL (RTEXT);
1246 DWG_GETALL_ENTITY_DECL (SWEPTSURFACE);
1247 DWG_GETALL_ENTITY_DECL (TABLE);
1248 DWG_GETALL_ENTITY_DECL (VISIBILITYGRIPENTITY);
1249 DWG_GETALL_ENTITY_DECL (VISIBILITYPARAMETERENTITY);
1250 DWG_GETALL_ENTITY_DECL (XYPARAMETERENTITY);
1251 
1252 /********************************************************************
1253  *     Functions to return NULL-terminated array of all objects     *
1254  ********************************************************************/
1255 
1256 /**
1257  * \fn Dwg_Object_OBJECT dwg_getall_OBJECT(Dwg_Data *dwg)
1258  * Extracts all objects of this type from a dwg, and returns a malloced
1259  * NULL-terminated array.
1260  */
1261 
1262 DWG_GETALL_OBJECT_DECL (APPID);
1263 DWG_GETALL_OBJECT_DECL (APPID_CONTROL);
1264 DWG_GETALL_OBJECT_DECL (BLOCK_CONTROL);
1265 DWG_GETALL_OBJECT_DECL (BLOCK_HEADER);
1266 DWG_GETALL_OBJECT_DECL (DICTIONARY);
1267 DWG_GETALL_OBJECT_DECL (DIMSTYLE);
1268 DWG_GETALL_OBJECT_DECL (DIMSTYLE_CONTROL);
1269 DWG_GETALL_OBJECT_DECL (DUMMY);
1270 DWG_GETALL_OBJECT_DECL (LAYER);
1271 DWG_GETALL_OBJECT_DECL (LAYER_CONTROL);
1272 DWG_GETALL_OBJECT_DECL (LONG_TRANSACTION);
1273 DWG_GETALL_OBJECT_DECL (LTYPE);
1274 DWG_GETALL_OBJECT_DECL (LTYPE_CONTROL);
1275 DWG_GETALL_OBJECT_DECL (MLINESTYLE);
1276 DWG_GETALL_OBJECT_DECL (STYLE);
1277 DWG_GETALL_OBJECT_DECL (STYLE_CONTROL);
1278 DWG_GETALL_OBJECT_DECL (UCS);
1279 DWG_GETALL_OBJECT_DECL (UCS_CONTROL);
1280 DWG_GETALL_OBJECT_DECL (UNKNOWN_OBJ);
1281 DWG_GETALL_OBJECT_DECL (VIEW);
1282 DWG_GETALL_OBJECT_DECL (VIEW_CONTROL);
1283 DWG_GETALL_OBJECT_DECL (VPORT);
1284 DWG_GETALL_OBJECT_DECL (VPORT_CONTROL);
1285 DWG_GETALL_OBJECT_DECL (VX_CONTROL);
1286 DWG_GETALL_OBJECT_DECL (VX_TABLE_RECORD);
1287 /* untyped > 500 */
1288 DWG_GETALL_OBJECT_DECL (ACSH_BOOLEAN_CLASS);
1289 DWG_GETALL_OBJECT_DECL (ACSH_BOX_CLASS);
1290 DWG_GETALL_OBJECT_DECL (ACSH_CONE_CLASS);
1291 DWG_GETALL_OBJECT_DECL (ACSH_CYLINDER_CLASS);
1292 DWG_GETALL_OBJECT_DECL (ACSH_FILLET_CLASS);
1293 DWG_GETALL_OBJECT_DECL (ACSH_HISTORY_CLASS);
1294 DWG_GETALL_OBJECT_DECL (ACSH_SPHERE_CLASS);
1295 DWG_GETALL_OBJECT_DECL (ACSH_TORUS_CLASS);
1296 DWG_GETALL_OBJECT_DECL (ACSH_WEDGE_CLASS);
1297 DWG_GETALL_OBJECT_DECL (BLOCKALIGNMENTGRIP);
1298 DWG_GETALL_OBJECT_DECL (BLOCKALIGNMENTPARAMETER);
1299 DWG_GETALL_OBJECT_DECL (BLOCKBASEPOINTPARAMETER);
1300 DWG_GETALL_OBJECT_DECL (BLOCKFLIPACTION);
1301 DWG_GETALL_OBJECT_DECL (BLOCKFLIPGRIP);
1302 DWG_GETALL_OBJECT_DECL (BLOCKFLIPPARAMETER);
1303 DWG_GETALL_OBJECT_DECL (BLOCKGRIPLOCATIONCOMPONENT);
1304 DWG_GETALL_OBJECT_DECL (BLOCKLINEARGRIP);
1305 DWG_GETALL_OBJECT_DECL (BLOCKLOOKUPGRIP);
1306 DWG_GETALL_OBJECT_DECL (BLOCKMOVEACTION);
1307 DWG_GETALL_OBJECT_DECL (BLOCKROTATEACTION);
1308 DWG_GETALL_OBJECT_DECL (BLOCKROTATIONGRIP);
1309 DWG_GETALL_OBJECT_DECL (BLOCKSCALEACTION);
1310 DWG_GETALL_OBJECT_DECL (BLOCKVISIBILITYGRIP);
1311 DWG_GETALL_OBJECT_DECL (CELLSTYLEMAP);
1312 DWG_GETALL_OBJECT_DECL (DETAILVIEWSTYLE);
1313 DWG_GETALL_OBJECT_DECL (DICTIONARYVAR);
1314 DWG_GETALL_OBJECT_DECL (DICTIONARYWDFLT);
1315 DWG_GETALL_OBJECT_DECL (DYNAMICBLOCKPURGEPREVENTER);
1316 DWG_GETALL_OBJECT_DECL (FIELD);
1317 DWG_GETALL_OBJECT_DECL (FIELDLIST);
1318 DWG_GETALL_OBJECT_DECL (GEODATA);
1319 DWG_GETALL_OBJECT_DECL (GROUP);
1320 DWG_GETALL_OBJECT_DECL (IDBUFFER);
1321 DWG_GETALL_OBJECT_DECL (IMAGEDEF);
1322 DWG_GETALL_OBJECT_DECL (IMAGEDEF_REACTOR);
1323 DWG_GETALL_OBJECT_DECL (INDEX);
1324 DWG_GETALL_OBJECT_DECL (LAYERFILTER);
1325 DWG_GETALL_OBJECT_DECL (LAYER_INDEX);
1326 DWG_GETALL_OBJECT_DECL (LAYOUT);
1327 DWG_GETALL_OBJECT_DECL (MLEADERSTYLE);
1328 DWG_GETALL_OBJECT_DECL (PLACEHOLDER);
1329 DWG_GETALL_OBJECT_DECL (PLOTSETTINGS);
1330 DWG_GETALL_OBJECT_DECL (RASTERVARIABLES);
1331 DWG_GETALL_OBJECT_DECL (SCALE);
1332 DWG_GETALL_OBJECT_DECL (SECTIONVIEWSTYLE);
1333 DWG_GETALL_OBJECT_DECL (SECTION_MANAGER);
1334 DWG_GETALL_OBJECT_DECL (SORTENTSTABLE);
1335 DWG_GETALL_OBJECT_DECL (SPATIAL_FILTER);
1336 DWG_GETALL_OBJECT_DECL (TABLEGEOMETRY);
1337 DWG_GETALL_OBJECT_DECL (VBA_PROJECT);
1338 DWG_GETALL_OBJECT_DECL (VISUALSTYLE);
1339 DWG_GETALL_OBJECT_DECL (WIPEOUTVARIABLES);
1340 DWG_GETALL_OBJECT_DECL (XRECORD);
1341 DWG_GETALL_OBJECT_DECL (PDFDEFINITION);
1342 DWG_GETALL_OBJECT_DECL (DGNDEFINITION);
1343 DWG_GETALL_OBJECT_DECL (DWFDEFINITION);
1344 /* unstable */
1345 DWG_GETALL_OBJECT_DECL (ACSH_BREP_CLASS);
1346 DWG_GETALL_OBJECT_DECL (ACSH_CHAMFER_CLASS);
1347 DWG_GETALL_OBJECT_DECL (ACSH_PYRAMID_CLASS);
1348 DWG_GETALL_OBJECT_DECL (ALDIMOBJECTCONTEXTDATA);
1349 DWG_GETALL_OBJECT_DECL (ASSOC2DCONSTRAINTGROUP);
1350 DWG_GETALL_OBJECT_DECL (ASSOCACTION);
1351 DWG_GETALL_OBJECT_DECL (ASSOCACTIONPARAM);
1352 DWG_GETALL_OBJECT_DECL (ASSOCARRAYACTIONBODY);
1353 DWG_GETALL_OBJECT_DECL (ASSOCASMBODYACTIONPARAM);
1354 DWG_GETALL_OBJECT_DECL (ASSOCBLENDSURFACEACTIONBODY);
1355 DWG_GETALL_OBJECT_DECL (ASSOCCOMPOUNDACTIONPARAM);
1356 DWG_GETALL_OBJECT_DECL (ASSOCDEPENDENCY);
1357 DWG_GETALL_OBJECT_DECL (ASSOCDIMDEPENDENCYBODY);
1358 DWG_GETALL_OBJECT_DECL (ASSOCEXTENDSURFACEACTIONBODY);
1359 DWG_GETALL_OBJECT_DECL (ASSOCEXTRUDEDSURFACEACTIONBODY);
1360 DWG_GETALL_OBJECT_DECL (ASSOCFACEACTIONPARAM);
1361 DWG_GETALL_OBJECT_DECL (ASSOCFILLETSURFACEACTIONBODY);
1362 DWG_GETALL_OBJECT_DECL (ASSOCGEOMDEPENDENCY);
1363 DWG_GETALL_OBJECT_DECL (ASSOCLOFTEDSURFACEACTIONBODY);
1364 DWG_GETALL_OBJECT_DECL (ASSOCNETWORK);
1365 DWG_GETALL_OBJECT_DECL (ASSOCNETWORKSURFACEACTIONBODY);
1366 DWG_GETALL_OBJECT_DECL (ASSOCOBJECTACTIONPARAM);
1367 DWG_GETALL_OBJECT_DECL (ASSOCOFFSETSURFACEACTIONBODY);
1368 DWG_GETALL_OBJECT_DECL (ASSOCOSNAPPOINTREFACTIONPARAM);
1369 DWG_GETALL_OBJECT_DECL (ASSOCPATCHSURFACEACTIONBODY);
1370 DWG_GETALL_OBJECT_DECL (ASSOCPATHACTIONPARAM);
1371 DWG_GETALL_OBJECT_DECL (ASSOCPLANESURFACEACTIONBODY);
1372 DWG_GETALL_OBJECT_DECL (ASSOCPOINTREFACTIONPARAM);
1373 DWG_GETALL_OBJECT_DECL (ASSOCREVOLVEDSURFACEACTIONBODY);
1374 DWG_GETALL_OBJECT_DECL (ASSOCTRIMSURFACEACTIONBODY);
1375 DWG_GETALL_OBJECT_DECL (ASSOCVALUEDEPENDENCY);
1376 DWG_GETALL_OBJECT_DECL (ASSOCVARIABLE);
1377 DWG_GETALL_OBJECT_DECL (ASSOCVERTEXACTIONPARAM);
1378 DWG_GETALL_OBJECT_DECL (BLKREFOBJECTCONTEXTDATA);
1379 DWG_GETALL_OBJECT_DECL (BLOCKALIGNEDCONSTRAINTPARAMETER);
1380 DWG_GETALL_OBJECT_DECL (BLOCKANGULARCONSTRAINTPARAMETER);
1381 DWG_GETALL_OBJECT_DECL (BLOCKARRAYACTION);
1382 DWG_GETALL_OBJECT_DECL (BLOCKDIAMETRICCONSTRAINTPARAMETER);
1383 DWG_GETALL_OBJECT_DECL (BLOCKHORIZONTALCONSTRAINTPARAMETER);
1384 DWG_GETALL_OBJECT_DECL (BLOCKLINEARCONSTRAINTPARAMETER);
1385 DWG_GETALL_OBJECT_DECL (BLOCKLINEARPARAMETER);
1386 DWG_GETALL_OBJECT_DECL (BLOCKLOOKUPACTION);
1387 DWG_GETALL_OBJECT_DECL (BLOCKLOOKUPPARAMETER);
1388 DWG_GETALL_OBJECT_DECL (BLOCKPARAMDEPENDENCYBODY);
1389 DWG_GETALL_OBJECT_DECL (BLOCKPOINTPARAMETER);
1390 DWG_GETALL_OBJECT_DECL (BLOCKPOLARGRIP);
1391 DWG_GETALL_OBJECT_DECL (BLOCKPOLARPARAMETER);
1392 DWG_GETALL_OBJECT_DECL (BLOCKPOLARSTRETCHACTION);
1393 DWG_GETALL_OBJECT_DECL (BLOCKRADIALCONSTRAINTPARAMETER);
1394 DWG_GETALL_OBJECT_DECL (BLOCKREPRESENTATION);
1395 DWG_GETALL_OBJECT_DECL (BLOCKROTATIONPARAMETER);
1396 DWG_GETALL_OBJECT_DECL (BLOCKSTRETCHACTION);
1397 DWG_GETALL_OBJECT_DECL (BLOCKUSERPARAMETER);
1398 DWG_GETALL_OBJECT_DECL (BLOCKVERTICALCONSTRAINTPARAMETER);
1399 DWG_GETALL_OBJECT_DECL (BLOCKVISIBILITYPARAMETER);
1400 DWG_GETALL_OBJECT_DECL (BLOCKXYGRIP);
1401 DWG_GETALL_OBJECT_DECL (BLOCKXYPARAMETER);
1402 DWG_GETALL_OBJECT_DECL (DATALINK);
1403 DWG_GETALL_OBJECT_DECL (DBCOLOR);
1404 DWG_GETALL_OBJECT_DECL (EVALUATION_GRAPH);
1405 DWG_GETALL_OBJECT_DECL (FCFOBJECTCONTEXTDATA);
1406 DWG_GETALL_OBJECT_DECL (GRADIENT_BACKGROUND);
1407 DWG_GETALL_OBJECT_DECL (GROUND_PLANE_BACKGROUND);
1408 DWG_GETALL_OBJECT_DECL (IBL_BACKGROUND);
1409 DWG_GETALL_OBJECT_DECL (IMAGE_BACKGROUND);
1410 DWG_GETALL_OBJECT_DECL (LEADEROBJECTCONTEXTDATA);
1411 DWG_GETALL_OBJECT_DECL (LIGHTLIST);
1412 DWG_GETALL_OBJECT_DECL (MATERIAL);
1413 DWG_GETALL_OBJECT_DECL (MENTALRAYRENDERSETTINGS);
1414 DWG_GETALL_OBJECT_DECL (MTEXTOBJECTCONTEXTDATA);
1415 DWG_GETALL_OBJECT_DECL (OBJECT_PTR);
1416 DWG_GETALL_OBJECT_DECL (PARTIAL_VIEWING_INDEX);
1417 DWG_GETALL_OBJECT_DECL (POINTCLOUDCOLORMAP);
1418 DWG_GETALL_OBJECT_DECL (POINTCLOUDDEF);
1419 DWG_GETALL_OBJECT_DECL (POINTCLOUDDEFEX);
1420 DWG_GETALL_OBJECT_DECL (POINTCLOUDDEF_REACTOR);
1421 DWG_GETALL_OBJECT_DECL (POINTCLOUDDEF_REACTOR_EX);
1422 DWG_GETALL_OBJECT_DECL (PROXY_OBJECT);
1423 DWG_GETALL_OBJECT_DECL (RAPIDRTRENDERSETTINGS);
1424 DWG_GETALL_OBJECT_DECL (RENDERENTRY);
1425 DWG_GETALL_OBJECT_DECL (RENDERENVIRONMENT);
1426 DWG_GETALL_OBJECT_DECL (RENDERGLOBAL);
1427 DWG_GETALL_OBJECT_DECL (RENDERSETTINGS);
1428 DWG_GETALL_OBJECT_DECL (SECTION_SETTINGS);
1429 DWG_GETALL_OBJECT_DECL (SKYLIGHT_BACKGROUND);
1430 DWG_GETALL_OBJECT_DECL (SOLID_BACKGROUND);
1431 DWG_GETALL_OBJECT_DECL (SPATIAL_INDEX);
1432 DWG_GETALL_OBJECT_DECL (SUN);
1433 DWG_GETALL_OBJECT_DECL (TABLESTYLE);
1434 DWG_GETALL_OBJECT_DECL (TEXTOBJECTCONTEXTDATA);
1435 DWG_GETALL_OBJECT_DECL (ASSOCARRAYMODIFYPARAMETERS);
1436 DWG_GETALL_OBJECT_DECL (ASSOCARRAYPATHPARAMETERS);
1437 DWG_GETALL_OBJECT_DECL (ASSOCARRAYPOLARPARAMETERS);
1438 DWG_GETALL_OBJECT_DECL (ASSOCARRAYRECTANGULARPARAMETERS);
1439 #ifdef DEBUG_CLASSES
1440   DWG_GETALL_OBJECT_DECL (ACMECOMMANDHISTORY);
1441   DWG_GETALL_OBJECT_DECL (ACMESCOPE);
1442   DWG_GETALL_OBJECT_DECL (ACMESTATEMGR);
1443   DWG_GETALL_OBJECT_DECL (ACSH_EXTRUSION_CLASS);
1444   DWG_GETALL_OBJECT_DECL (ACSH_LOFT_CLASS);
1445   DWG_GETALL_OBJECT_DECL (ACSH_REVOLVE_CLASS);
1446   DWG_GETALL_OBJECT_DECL (ACSH_SWEEP_CLASS);
1447   DWG_GETALL_OBJECT_DECL (ANGDIMOBJECTCONTEXTDATA);
1448   DWG_GETALL_OBJECT_DECL (ANNOTSCALEOBJECTCONTEXTDATA);
1449   DWG_GETALL_OBJECT_DECL (ASSOC3POINTANGULARDIMACTIONBODY);
1450   DWG_GETALL_OBJECT_DECL (ASSOCALIGNEDDIMACTIONBODY);
1451   DWG_GETALL_OBJECT_DECL (ASSOCARRAYMODIFYACTIONBODY);
1452   DWG_GETALL_OBJECT_DECL (ASSOCEDGEACTIONPARAM);
1453   DWG_GETALL_OBJECT_DECL (ASSOCEDGECHAMFERACTIONBODY);
1454   DWG_GETALL_OBJECT_DECL (ASSOCEDGEFILLETACTIONBODY);
1455   DWG_GETALL_OBJECT_DECL (ASSOCMLEADERACTIONBODY);
1456   DWG_GETALL_OBJECT_DECL (ASSOCORDINATEDIMACTIONBODY);
1457   DWG_GETALL_OBJECT_DECL (ASSOCPERSSUBENTMANAGER);
1458   DWG_GETALL_OBJECT_DECL (ASSOCRESTOREENTITYSTATEACTIONBODY);
1459   DWG_GETALL_OBJECT_DECL (ASSOCROTATEDDIMACTIONBODY);
1460   DWG_GETALL_OBJECT_DECL (ASSOCSWEPTSURFACEACTIONBODY);
1461   DWG_GETALL_OBJECT_DECL (BLOCKPROPERTIESTABLE);
1462   DWG_GETALL_OBJECT_DECL (BLOCKPROPERTIESTABLEGRIP);
1463   DWG_GETALL_OBJECT_DECL (CONTEXTDATAMANAGER);
1464   DWG_GETALL_OBJECT_DECL (CSACDOCUMENTOPTIONS);
1465   DWG_GETALL_OBJECT_DECL (CURVEPATH);
1466   DWG_GETALL_OBJECT_DECL (DATATABLE);
1467   DWG_GETALL_OBJECT_DECL (DIMASSOC);
1468   DWG_GETALL_OBJECT_DECL (DMDIMOBJECTCONTEXTDATA);
1469   DWG_GETALL_OBJECT_DECL (DYNAMICBLOCKPROXYNODE);
1470   DWG_GETALL_OBJECT_DECL (GEOMAPIMAGE);
1471   DWG_GETALL_OBJECT_DECL (LAYOUTPRINTCONFIG);
1472   DWG_GETALL_OBJECT_DECL (MLEADEROBJECTCONTEXTDATA);
1473   DWG_GETALL_OBJECT_DECL (MOTIONPATH);
1474   DWG_GETALL_OBJECT_DECL (MTEXTATTRIBUTEOBJECTCONTEXTDATA);
1475   DWG_GETALL_OBJECT_DECL (NAVISWORKSMODELDEF);
1476   DWG_GETALL_OBJECT_DECL (ORDDIMOBJECTCONTEXTDATA);
1477   DWG_GETALL_OBJECT_DECL (PERSUBENTMGR);
1478   DWG_GETALL_OBJECT_DECL (POINTPATH);
1479   DWG_GETALL_OBJECT_DECL (RADIMLGOBJECTCONTEXTDATA);
1480   DWG_GETALL_OBJECT_DECL (RADIMOBJECTCONTEXTDATA);
1481   DWG_GETALL_OBJECT_DECL (SUNSTUDY);
1482   DWG_GETALL_OBJECT_DECL (TABLECONTENT);
1483   DWG_GETALL_OBJECT_DECL (TVDEVICEPROPERTIES);
1484   //DWG_GETALL_OBJECT_DECL (ACDSRECORD);
1485   //DWG_GETALL_OBJECT_DECL (ACDSSCHEMA);
1486   //DWG_GETALL_OBJECT_DECL (NPOCOLLECTION);
1487   //DWG_GETALL_OBJECT_DECL (RAPIDRTRENDERENVIRONMENT);
1488   //DWG_GETALL_OBJECT_DECL (XREFPANELOBJECT);
1489 #endif
1490 
1491 /*******************************************************************
1492  *     Functions created from macro to cast dwg_object to entity     *
1493  *                 Usage :- dwg_object_to_ENTITY(),                  *
1494  *                where ENTITY can be LINE or CIRCLE                 *
1495  ********************************************************************/
1496 
1497 /**
1498  * \fn Dwg_Entity_ENTITY *dwg_object_to_ENTITY(Dwg_Object *obj)
1499  * cast a Dwg_Object to Entity
1500  */
1501 /* fixed <500 */
1502 CAST_DWG_OBJECT_TO_ENTITY_DECL (_3DFACE);
1503 CAST_DWG_OBJECT_TO_ENTITY_DECL (_3DSOLID);
1504 CAST_DWG_OBJECT_TO_ENTITY_DECL (ARC);
1505 CAST_DWG_OBJECT_TO_ENTITY_DECL (ATTDEF);
1506 CAST_DWG_OBJECT_TO_ENTITY_DECL (ATTRIB);
1507 CAST_DWG_OBJECT_TO_ENTITY_DECL (BLOCK);
1508 CAST_DWG_OBJECT_TO_ENTITY_DECL (BODY);
1509 CAST_DWG_OBJECT_TO_ENTITY_DECL (CIRCLE);
1510 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_ALIGNED);
1511 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_ANG2LN);
1512 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_ANG3PT);
1513 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_DIAMETER);
1514 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_LINEAR);
1515 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_ORDINATE);
1516 CAST_DWG_OBJECT_TO_ENTITY_DECL (DIMENSION_RADIUS);
1517 CAST_DWG_OBJECT_TO_ENTITY_DECL (ELLIPSE);
1518 CAST_DWG_OBJECT_TO_ENTITY_DECL (ENDBLK);
1519 CAST_DWG_OBJECT_TO_ENTITY_DECL (INSERT);
1520 CAST_DWG_OBJECT_TO_ENTITY_DECL (LEADER);
1521 CAST_DWG_OBJECT_TO_ENTITY_DECL (LINE);
1522 CAST_DWG_OBJECT_TO_ENTITY_DECL (MINSERT);
1523 CAST_DWG_OBJECT_TO_ENTITY_DECL (MLINE);
1524 CAST_DWG_OBJECT_TO_ENTITY_DECL (MTEXT);
1525 CAST_DWG_OBJECT_TO_ENTITY_DECL (OLEFRAME);
1526 CAST_DWG_OBJECT_TO_ENTITY_DECL (POINT);
1527 CAST_DWG_OBJECT_TO_ENTITY_DECL (POLYLINE_2D);
1528 CAST_DWG_OBJECT_TO_ENTITY_DECL (POLYLINE_3D);
1529 CAST_DWG_OBJECT_TO_ENTITY_DECL (POLYLINE_MESH);
1530 CAST_DWG_OBJECT_TO_ENTITY_DECL (POLYLINE_PFACE);
1531 CAST_DWG_OBJECT_TO_ENTITY_DECL (PROXY_ENTITY);
1532 CAST_DWG_OBJECT_TO_ENTITY_DECL (RAY);
1533 CAST_DWG_OBJECT_TO_ENTITY_DECL (REGION);
1534 CAST_DWG_OBJECT_TO_ENTITY_DECL (SEQEND);
1535 CAST_DWG_OBJECT_TO_ENTITY_DECL (SHAPE);
1536 CAST_DWG_OBJECT_TO_ENTITY_DECL (SOLID);
1537 CAST_DWG_OBJECT_TO_ENTITY_DECL (SPLINE);
1538 CAST_DWG_OBJECT_TO_ENTITY_DECL (TEXT);
1539 CAST_DWG_OBJECT_TO_ENTITY_DECL (TOLERANCE);
1540 CAST_DWG_OBJECT_TO_ENTITY_DECL (TRACE);
1541 CAST_DWG_OBJECT_TO_ENTITY_DECL (UNKNOWN_ENT);
1542 CAST_DWG_OBJECT_TO_ENTITY_DECL (VERTEX_2D);
1543 CAST_DWG_OBJECT_TO_ENTITY_DECL (VERTEX_3D);
1544 CAST_DWG_OBJECT_TO_ENTITY_DECL (VERTEX_MESH);
1545 CAST_DWG_OBJECT_TO_ENTITY_DECL (VERTEX_PFACE);
1546 CAST_DWG_OBJECT_TO_ENTITY_DECL (VERTEX_PFACE_FACE);
1547 CAST_DWG_OBJECT_TO_ENTITY_DECL (VIEWPORT);
1548 CAST_DWG_OBJECT_TO_ENTITY_DECL (XLINE);
1549 /* untyped > 500 */
1550 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (CAMERA);
1551 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (DGNUNDERLAY);
1552 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (DWFUNDERLAY);
1553 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (HATCH);
1554 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (IMAGE);
1555 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (LIGHT);
1556 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (LWPOLYLINE);
1557 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (MESH);
1558 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (MULTILEADER);
1559 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (OLE2FRAME);
1560 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (PDFUNDERLAY);
1561 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (SECTIONOBJECT);
1562 /* unstable */
1563 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (ARC_DIMENSION);
1564 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (HELIX);
1565 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (LARGE_RADIAL_DIMENSION);
1566 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (PLANESURFACE);
1567 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (POINTCLOUD);
1568 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (POINTCLOUDEX);
1569 CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (WIPEOUT);
1570 #ifdef DEBUG_CLASSES
1571   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (ALIGNMENTPARAMETERENTITY);
1572   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (ARCALIGNEDTEXT);
1573   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (BASEPOINTPARAMETERENTITY);
1574   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (EXTRUDEDSURFACE);
1575   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (FLIPPARAMETERENTITY);
1576   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (GEOPOSITIONMARKER);
1577   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (LINEARPARAMETERENTITY);
1578   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (LOFTEDSURFACE);
1579   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (MPOLYGON);
1580   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (NAVISWORKSMODEL);
1581   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (NURBSURFACE);
1582   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (POINTPARAMETERENTITY);
1583   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (POLARGRIPENTITY);
1584   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (REVOLVEDSURFACE);
1585   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (ROTATIONPARAMETERENTITY);
1586   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (RTEXT);
1587   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (SWEPTSURFACE);
1588   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (TABLE);
1589   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (VISIBILITYGRIPENTITY);
1590   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (VISIBILITYPARAMETERENTITY);
1591   CAST_DWG_OBJECT_TO_ENTITY_BYNAME_DECL (XYPARAMETERENTITY);
1592 #endif
1593 
1594 /*******************************************************************
1595  *     Functions created from macro to cast dwg object to object     *
1596  *                 Usage :- dwg_object_to_OBJECT(),                  *
1597  *            where OBJECT can be LAYER or BLOCK_HEADER              *
1598  ********************************************************************/
1599 /**
1600  * \fn Dwg_Object_OBJECT *dwg_object_to_OBJECT(Dwg_Object *obj)
1601  * cast a Dwg_Object to Object
1602  */
1603 CAST_DWG_OBJECT_TO_OBJECT_DECL (APPID);
1604 CAST_DWG_OBJECT_TO_OBJECT_DECL (APPID_CONTROL);
1605 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCK_CONTROL);
1606 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCK_HEADER);
1607 CAST_DWG_OBJECT_TO_OBJECT_DECL (DICTIONARY);
1608 CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMSTYLE);
1609 CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMSTYLE_CONTROL);
1610 CAST_DWG_OBJECT_TO_OBJECT_DECL (DUMMY);
1611 CAST_DWG_OBJECT_TO_OBJECT_DECL (LAYER);
1612 CAST_DWG_OBJECT_TO_OBJECT_DECL (LAYER_CONTROL);
1613 CAST_DWG_OBJECT_TO_OBJECT_DECL (LONG_TRANSACTION);
1614 CAST_DWG_OBJECT_TO_OBJECT_DECL (LTYPE);
1615 CAST_DWG_OBJECT_TO_OBJECT_DECL (LTYPE_CONTROL);
1616 CAST_DWG_OBJECT_TO_OBJECT_DECL (MLINESTYLE);
1617 CAST_DWG_OBJECT_TO_OBJECT_DECL (STYLE);
1618 CAST_DWG_OBJECT_TO_OBJECT_DECL (STYLE_CONTROL);
1619 CAST_DWG_OBJECT_TO_OBJECT_DECL (UCS);
1620 CAST_DWG_OBJECT_TO_OBJECT_DECL (UCS_CONTROL);
1621 CAST_DWG_OBJECT_TO_OBJECT_DECL (UNKNOWN_OBJ);
1622 CAST_DWG_OBJECT_TO_OBJECT_DECL (VIEW);
1623 CAST_DWG_OBJECT_TO_OBJECT_DECL (VIEW_CONTROL);
1624 CAST_DWG_OBJECT_TO_OBJECT_DECL (VPORT);
1625 CAST_DWG_OBJECT_TO_OBJECT_DECL (VPORT_CONTROL);
1626 CAST_DWG_OBJECT_TO_OBJECT_DECL (VX_CONTROL);
1627 CAST_DWG_OBJECT_TO_OBJECT_DECL (VX_TABLE_RECORD);
1628 /* untyped > 500 */
1629 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_BOOLEAN_CLASS);
1630 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_BOX_CLASS);
1631 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_CONE_CLASS);
1632 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_CYLINDER_CLASS);
1633 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_FILLET_CLASS);
1634 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_HISTORY_CLASS);
1635 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_SPHERE_CLASS);
1636 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_TORUS_CLASS);
1637 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_WEDGE_CLASS);
1638 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKALIGNMENTGRIP);
1639 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKALIGNMENTPARAMETER);
1640 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKBASEPOINTPARAMETER);
1641 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKFLIPACTION);
1642 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKFLIPGRIP);
1643 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKFLIPPARAMETER);
1644 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKGRIPLOCATIONCOMPONENT);
1645 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKLINEARGRIP);
1646 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKLOOKUPGRIP);
1647 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKMOVEACTION);
1648 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKROTATEACTION);
1649 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKROTATIONGRIP);
1650 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKSCALEACTION);
1651 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKVISIBILITYGRIP);
1652 CAST_DWG_OBJECT_TO_OBJECT_DECL (CELLSTYLEMAP);
1653 CAST_DWG_OBJECT_TO_OBJECT_DECL (DETAILVIEWSTYLE);
1654 CAST_DWG_OBJECT_TO_OBJECT_DECL (DICTIONARYVAR);
1655 CAST_DWG_OBJECT_TO_OBJECT_DECL (DICTIONARYWDFLT);
1656 CAST_DWG_OBJECT_TO_OBJECT_DECL (DYNAMICBLOCKPURGEPREVENTER);
1657 CAST_DWG_OBJECT_TO_OBJECT_DECL (FIELD);
1658 CAST_DWG_OBJECT_TO_OBJECT_DECL (FIELDLIST);
1659 CAST_DWG_OBJECT_TO_OBJECT_DECL (GEODATA);
1660 CAST_DWG_OBJECT_TO_OBJECT_DECL (GROUP);
1661 CAST_DWG_OBJECT_TO_OBJECT_DECL (IDBUFFER);
1662 CAST_DWG_OBJECT_TO_OBJECT_DECL (IMAGEDEF);
1663 CAST_DWG_OBJECT_TO_OBJECT_DECL (IMAGEDEF_REACTOR);
1664 CAST_DWG_OBJECT_TO_OBJECT_DECL (INDEX);
1665 CAST_DWG_OBJECT_TO_OBJECT_DECL (LAYERFILTER);
1666 CAST_DWG_OBJECT_TO_OBJECT_DECL (LAYER_INDEX);
1667 CAST_DWG_OBJECT_TO_OBJECT_DECL (LAYOUT);
1668 CAST_DWG_OBJECT_TO_OBJECT_DECL (MLEADERSTYLE);
1669 CAST_DWG_OBJECT_TO_OBJECT_DECL (PLACEHOLDER);
1670 CAST_DWG_OBJECT_TO_OBJECT_DECL (PLOTSETTINGS);
1671 CAST_DWG_OBJECT_TO_OBJECT_DECL (RASTERVARIABLES);
1672 CAST_DWG_OBJECT_TO_OBJECT_DECL (SCALE);
1673 CAST_DWG_OBJECT_TO_OBJECT_DECL (SECTIONVIEWSTYLE);
1674 CAST_DWG_OBJECT_TO_OBJECT_DECL (SECTION_MANAGER);
1675 CAST_DWG_OBJECT_TO_OBJECT_DECL (SORTENTSTABLE);
1676 CAST_DWG_OBJECT_TO_OBJECT_DECL (SPATIAL_FILTER);
1677 CAST_DWG_OBJECT_TO_OBJECT_DECL (TABLEGEOMETRY);
1678 CAST_DWG_OBJECT_TO_OBJECT_DECL (VBA_PROJECT);
1679 CAST_DWG_OBJECT_TO_OBJECT_DECL (VISUALSTYLE);
1680 CAST_DWG_OBJECT_TO_OBJECT_DECL (WIPEOUTVARIABLES);
1681 CAST_DWG_OBJECT_TO_OBJECT_DECL (XRECORD);
1682 CAST_DWG_OBJECT_TO_OBJECT_DECL (PDFDEFINITION);
1683 CAST_DWG_OBJECT_TO_OBJECT_DECL (DGNDEFINITION);
1684 CAST_DWG_OBJECT_TO_OBJECT_DECL (DWFDEFINITION);
1685 /* unstable */
1686 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_BREP_CLASS);
1687 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_CHAMFER_CLASS);
1688 CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_PYRAMID_CLASS);
1689 CAST_DWG_OBJECT_TO_OBJECT_DECL (ALDIMOBJECTCONTEXTDATA);
1690 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOC2DCONSTRAINTGROUP);
1691 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCACTION);
1692 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCACTIONPARAM);
1693 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCARRAYACTIONBODY);
1694 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCASMBODYACTIONPARAM);
1695 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCBLENDSURFACEACTIONBODY);
1696 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCCOMPOUNDACTIONPARAM);
1697 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCDEPENDENCY);
1698 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCDIMDEPENDENCYBODY);
1699 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCEXTENDSURFACEACTIONBODY);
1700 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCEXTRUDEDSURFACEACTIONBODY);
1701 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCFACEACTIONPARAM);
1702 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCFILLETSURFACEACTIONBODY);
1703 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCGEOMDEPENDENCY);
1704 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCLOFTEDSURFACEACTIONBODY);
1705 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCNETWORK);
1706 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCNETWORKSURFACEACTIONBODY);
1707 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCOBJECTACTIONPARAM);
1708 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCOFFSETSURFACEACTIONBODY);
1709 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCOSNAPPOINTREFACTIONPARAM);
1710 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCPATCHSURFACEACTIONBODY);
1711 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCPATHACTIONPARAM);
1712 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCPLANESURFACEACTIONBODY);
1713 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCPOINTREFACTIONPARAM);
1714 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCREVOLVEDSURFACEACTIONBODY);
1715 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCTRIMSURFACEACTIONBODY);
1716 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCVALUEDEPENDENCY);
1717 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCVARIABLE);
1718 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCVERTEXACTIONPARAM);
1719 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLKREFOBJECTCONTEXTDATA);
1720 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKALIGNEDCONSTRAINTPARAMETER);
1721 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKANGULARCONSTRAINTPARAMETER);
1722 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKARRAYACTION);
1723 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKDIAMETRICCONSTRAINTPARAMETER);
1724 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKHORIZONTALCONSTRAINTPARAMETER);
1725 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKLINEARCONSTRAINTPARAMETER);
1726 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKLINEARPARAMETER);
1727 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKLOOKUPACTION);
1728 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKLOOKUPPARAMETER);
1729 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPARAMDEPENDENCYBODY);
1730 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPOINTPARAMETER);
1731 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPOLARGRIP);
1732 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPOLARPARAMETER);
1733 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPOLARSTRETCHACTION);
1734 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKRADIALCONSTRAINTPARAMETER);
1735 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKREPRESENTATION);
1736 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKROTATIONPARAMETER);
1737 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKSTRETCHACTION);
1738 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKUSERPARAMETER);
1739 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKVERTICALCONSTRAINTPARAMETER);
1740 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKVISIBILITYPARAMETER);
1741 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKXYGRIP);
1742 CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKXYPARAMETER);
1743 CAST_DWG_OBJECT_TO_OBJECT_DECL (DATALINK);
1744 CAST_DWG_OBJECT_TO_OBJECT_DECL (DBCOLOR);
1745 CAST_DWG_OBJECT_TO_OBJECT_DECL (EVALUATION_GRAPH);
1746 CAST_DWG_OBJECT_TO_OBJECT_DECL (FCFOBJECTCONTEXTDATA);
1747 CAST_DWG_OBJECT_TO_OBJECT_DECL (GRADIENT_BACKGROUND);
1748 CAST_DWG_OBJECT_TO_OBJECT_DECL (GROUND_PLANE_BACKGROUND);
1749 CAST_DWG_OBJECT_TO_OBJECT_DECL (IBL_BACKGROUND);
1750 CAST_DWG_OBJECT_TO_OBJECT_DECL (IMAGE_BACKGROUND);
1751 CAST_DWG_OBJECT_TO_OBJECT_DECL (LEADEROBJECTCONTEXTDATA);
1752 CAST_DWG_OBJECT_TO_OBJECT_DECL (LIGHTLIST);
1753 CAST_DWG_OBJECT_TO_OBJECT_DECL (MATERIAL);
1754 CAST_DWG_OBJECT_TO_OBJECT_DECL (MENTALRAYRENDERSETTINGS);
1755 CAST_DWG_OBJECT_TO_OBJECT_DECL (MTEXTOBJECTCONTEXTDATA);
1756 CAST_DWG_OBJECT_TO_OBJECT_DECL (OBJECT_PTR);
1757 CAST_DWG_OBJECT_TO_OBJECT_DECL (PARTIAL_VIEWING_INDEX);
1758 CAST_DWG_OBJECT_TO_OBJECT_DECL (POINTCLOUDCOLORMAP);
1759 CAST_DWG_OBJECT_TO_OBJECT_DECL (POINTCLOUDDEF);
1760 CAST_DWG_OBJECT_TO_OBJECT_DECL (POINTCLOUDDEFEX);
1761 CAST_DWG_OBJECT_TO_OBJECT_DECL (POINTCLOUDDEF_REACTOR);
1762 CAST_DWG_OBJECT_TO_OBJECT_DECL (POINTCLOUDDEF_REACTOR_EX);
1763 CAST_DWG_OBJECT_TO_OBJECT_DECL (PROXY_OBJECT);
1764 CAST_DWG_OBJECT_TO_OBJECT_DECL (RAPIDRTRENDERSETTINGS);
1765 CAST_DWG_OBJECT_TO_OBJECT_DECL (RENDERENTRY);
1766 CAST_DWG_OBJECT_TO_OBJECT_DECL (RENDERENVIRONMENT);
1767 CAST_DWG_OBJECT_TO_OBJECT_DECL (RENDERGLOBAL);
1768 CAST_DWG_OBJECT_TO_OBJECT_DECL (RENDERSETTINGS);
1769 CAST_DWG_OBJECT_TO_OBJECT_DECL (SECTION_SETTINGS);
1770 CAST_DWG_OBJECT_TO_OBJECT_DECL (SKYLIGHT_BACKGROUND);
1771 CAST_DWG_OBJECT_TO_OBJECT_DECL (SOLID_BACKGROUND);
1772 CAST_DWG_OBJECT_TO_OBJECT_DECL (SPATIAL_INDEX);
1773 CAST_DWG_OBJECT_TO_OBJECT_DECL (SUN);
1774 CAST_DWG_OBJECT_TO_OBJECT_DECL (TABLESTYLE);
1775 CAST_DWG_OBJECT_TO_OBJECT_DECL (TEXTOBJECTCONTEXTDATA);
1776 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCARRAYMODIFYPARAMETERS);
1777 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCARRAYPATHPARAMETERS);
1778 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCARRAYPOLARPARAMETERS);
1779 CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCARRAYRECTANGULARPARAMETERS);
1780 #ifdef DEBUG_CLASSES
1781   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACMECOMMANDHISTORY);
1782   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACMESCOPE);
1783   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACMESTATEMGR);
1784   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_EXTRUSION_CLASS);
1785   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_LOFT_CLASS);
1786   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_REVOLVE_CLASS);
1787   CAST_DWG_OBJECT_TO_OBJECT_DECL (ACSH_SWEEP_CLASS);
1788   CAST_DWG_OBJECT_TO_OBJECT_DECL (ANGDIMOBJECTCONTEXTDATA);
1789   CAST_DWG_OBJECT_TO_OBJECT_DECL (ANNOTSCALEOBJECTCONTEXTDATA);
1790   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOC3POINTANGULARDIMACTIONBODY);
1791   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCALIGNEDDIMACTIONBODY);
1792   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCARRAYMODIFYACTIONBODY);
1793   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCEDGEACTIONPARAM);
1794   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCEDGECHAMFERACTIONBODY);
1795   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCEDGEFILLETACTIONBODY);
1796   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCMLEADERACTIONBODY);
1797   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCORDINATEDIMACTIONBODY);
1798   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCPERSSUBENTMANAGER);
1799   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCRESTOREENTITYSTATEACTIONBODY);
1800   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCROTATEDDIMACTIONBODY);
1801   CAST_DWG_OBJECT_TO_OBJECT_DECL (ASSOCSWEPTSURFACEACTIONBODY);
1802   CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPROPERTIESTABLE);
1803   CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKPROPERTIESTABLEGRIP);
1804   CAST_DWG_OBJECT_TO_OBJECT_DECL (CONTEXTDATAMANAGER);
1805   CAST_DWG_OBJECT_TO_OBJECT_DECL (CSACDOCUMENTOPTIONS);
1806   CAST_DWG_OBJECT_TO_OBJECT_DECL (CURVEPATH);
1807   CAST_DWG_OBJECT_TO_OBJECT_DECL (DATATABLE);
1808   CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMASSOC);
1809   CAST_DWG_OBJECT_TO_OBJECT_DECL (DMDIMOBJECTCONTEXTDATA);
1810   CAST_DWG_OBJECT_TO_OBJECT_DECL (DYNAMICBLOCKPROXYNODE);
1811   CAST_DWG_OBJECT_TO_OBJECT_DECL (GEOMAPIMAGE);
1812   CAST_DWG_OBJECT_TO_OBJECT_DECL (LAYOUTPRINTCONFIG);
1813   CAST_DWG_OBJECT_TO_OBJECT_DECL (MLEADEROBJECTCONTEXTDATA);
1814   CAST_DWG_OBJECT_TO_OBJECT_DECL (MOTIONPATH);
1815   CAST_DWG_OBJECT_TO_OBJECT_DECL (MTEXTATTRIBUTEOBJECTCONTEXTDATA);
1816   CAST_DWG_OBJECT_TO_OBJECT_DECL (NAVISWORKSMODELDEF);
1817   CAST_DWG_OBJECT_TO_OBJECT_DECL (ORDDIMOBJECTCONTEXTDATA);
1818   CAST_DWG_OBJECT_TO_OBJECT_DECL (PERSUBENTMGR);
1819   CAST_DWG_OBJECT_TO_OBJECT_DECL (POINTPATH);
1820   CAST_DWG_OBJECT_TO_OBJECT_DECL (RADIMLGOBJECTCONTEXTDATA);
1821   CAST_DWG_OBJECT_TO_OBJECT_DECL (RADIMOBJECTCONTEXTDATA);
1822   CAST_DWG_OBJECT_TO_OBJECT_DECL (SUNSTUDY);
1823   CAST_DWG_OBJECT_TO_OBJECT_DECL (TABLECONTENT);
1824   CAST_DWG_OBJECT_TO_OBJECT_DECL (TVDEVICEPROPERTIES);
1825   //CAST_DWG_OBJECT_TO_OBJECT_DECL (ACDSRECORD);
1826   //CAST_DWG_OBJECT_TO_OBJECT_DECL (ACDSSCHEMA);
1827   //CAST_DWG_OBJECT_TO_OBJECT_DECL (NPOCOLLECTION);
1828   //CAST_DWG_OBJECT_TO_OBJECT_DECL (RAPIDRTRENDERENVIRONMENT);
1829   //CAST_DWG_OBJECT_TO_OBJECT_DECL (XREFPANELOBJECT);
1830 #endif
1831 /* End auto-generated content */
1832 
1833 EXPORT dwg_ent_dim * dwg_object_to_DIMENSION (dwg_object *obj);
1834 
1835 /********************************************************************/
1836 
1837 /// initialize the DWG version, needed for r2007+ unicode strings
1838 /// and pre-R13 field variants. unneeded for r13-r2004
1839 EXPORT void dwg_api_init_version (Dwg_Data *dwg);
1840 
1841 #define _deprecated_dynapi_getter \
1842   __attribute_deprecated_msg__("use ‘dwg_dynapi_entity_value‘ instead")
1843 #define _deprecated_dynapi_setter \
1844   __attribute_deprecated_msg__("use ‘dwg_dynapi_entity_set_value‘ instead")
1845 #define _deprecated_dynapi_common_getter \
1846   __attribute_deprecated_msg__("use ‘dwg_dynapi_common_value‘ instead")
1847 #define _deprecated_dynapi_common_setter \
1848   __attribute_deprecated_msg__("use ‘dwg_dynapi_common_set_value‘ instead")
1849 
1850 /********************************************************************
1851 *                FUNCTIONS START HERE ENTITY SPECIFIC               *
1852 *********************************************************************/
1853 
1854 EXPORT bool dwg_get_HEADER (const Dwg_Data *restrict dwg,
1855                             const char *restrict fieldname, void *restrict out)
1856     __nonnull ((1, 2, 3));
1857 EXPORT bool dwg_get_HEADER_utf8text (const Dwg_Data *restrict dwg,
1858                                      const char *restrict fieldname,
1859                                      char **restrict textp, int *isnewp)
1860     __nonnull ((1, 2, 3));
1861 EXPORT bool dwg_set_HEADER (Dwg_Data *restrict dwg,
1862                             const char *restrict fieldname,
1863                             const void *restrict value) __nonnull ((1, 2, 3));
1864 EXPORT bool dwg_set_HEADER_utf8text (Dwg_Data *restrict dwg,
1865                                      const char *restrict fieldname,
1866                                      const char *restrict utf8)
1867     __nonnull ((1, 2, 3));
1868 EXPORT bool dwg_get_ENTITY_common (Dwg_Object_Entity *restrict obj,
1869                                    const char *restrict fieldname,
1870                                    void *restrict value) __nonnull ((1, 2, 3));
1871 EXPORT bool dwg_get_ENTITY_common_utf8text (Dwg_Object_Entity *restrict obj,
1872                                      const char *restrict fieldname,
1873                                      char **restrict textp, int *isnewp)
1874     __nonnull ((1, 2, 3));
1875 EXPORT bool dwg_get_OBJECT_common (Dwg_Object_Object *restrict obj,
1876                                    const char *restrict fieldname,
1877                                    void *restrict value)
1878     __nonnull ((1, 2, 3));
1879 EXPORT bool dwg_get_OBJECT_common_utf8text (Dwg_Object_Object *restrict obj,
1880                                             const char *restrict fieldname,
1881                                             char **restrict textp, int *isnewp)
1882     __nonnull ((1, 2, 3));
1883 EXPORT bool dwg_set_ENTITY_common (Dwg_Object_Entity *restrict obj,
1884                             const char *restrict fieldname,
1885                             const void *restrict value) __nonnull ((1, 2, 3));
1886 EXPORT bool dwg_set_ENTITY_common_utf8text (Dwg_Object_Entity *restrict obj,
1887                                      const char *restrict fieldname,
1888                                      const char *restrict utf8)
1889     __nonnull ((1, 2, 3));
1890 EXPORT bool dwg_set_OBJECT_common (Dwg_Object_Object *restrict obj,
1891                                    const char *restrict fieldname,
1892                                    const void *restrict value)
1893     __nonnull ((1, 2, 3));
1894 EXPORT bool dwg_set_OBJECT_common_utf8text (Dwg_Object_Object *restrict obj,
1895                                             const char *restrict fieldname,
1896                                             const char *restrict utf8)
1897     __nonnull ((1, 2, 3));
1898 
1899 /********************************************************************
1900  *                FUNCTIONS TYPE SPECIFIC                            *
1901  *********************************************************************/
1902 
1903 /* Should we accept dwg and entities? or add dwg_header_get_TYPE */
1904 EXPORT dwg_point_2d *dwg_ent_get_POINT2D (const void *restrict _obj,
1905                                           const char *restrict fieldname)
1906     __nonnull ((1, 2));
1907 EXPORT bool dwg_ent_set_POINT2D (void *restrict _obj,
1908                                  const char *restrict fieldname,
1909                                  const dwg_point_2d *point)
1910     __nonnull ((1, 2, 3));
1911 
1912 EXPORT dwg_point_3d *dwg_ent_get_POINT3D (const void *restrict _obj,
1913                                           const char *restrict fieldname)
1914     __nonnull ((1, 2));
1915 EXPORT bool dwg_ent_set_POINT3D (void *restrict _obj,
1916                                  const char *restrict fieldname,
1917                                  const dwg_point_3d *point)
1918     __nonnull ((1, 2, 3));
1919 
1920 EXPORT char *dwg_ent_get_STRING (const void *restrict _obj,
1921                                  const char *restrict fieldname)
1922     __nonnull ((1, 2));
1923 EXPORT bool dwg_ent_set_STRING (void *restrict _obj,
1924                                 const char *restrict fieldname,
1925                                 const char *restrict string)
1926     __nonnull ((1, 2, 3));
1927 
1928 EXPORT char *dwg_ent_get_UTF8 (const void *restrict _obj,
1929                                const char *restrict fieldname, int *isnewp)
1930     __nonnull ((1, 2));
1931 EXPORT bool dwg_ent_set_UTF8 (void *restrict _obj,
1932                               const char *restrict fieldname,
1933                               const char *restrict string)
1934     __nonnull ((1, 2, 3));
1935 
1936 EXPORT BITCODE_BD dwg_ent_get_REAL (const void *restrict _obj,
1937                                     const char *restrict fieldname)
1938     __nonnull ((1, 2));
1939 EXPORT bool dwg_ent_set_REAL (void *restrict _obj,
1940                               const char *restrict fieldname,
1941                               const BITCODE_BD num) __nonnull ((1, 2));
1942 
1943 EXPORT BITCODE_BS dwg_ent_get_INT16 (const void *restrict _obj,
1944                                      const char *restrict fieldname)
1945     __nonnull ((1, 2));
1946 EXPORT bool dwg_ent_set_INT16 (void *restrict _obj,
1947                                const char *restrict fieldname,
1948                                const BITCODE_BS num) __nonnull ((1, 2));
1949 
1950 EXPORT BITCODE_BL dwg_ent_get_INT32 (const void *restrict _obj,
1951                                      const char *restrict fieldname)
1952     __nonnull ((1, 2));
1953 EXPORT bool dwg_ent_set_INT32 (void *restrict _obj,
1954                                const char *restrict fieldname,
1955                                const BITCODE_BL num) __nonnull ((1, 2));
1956 
1957 EXPORT char *dwg_ent_get_BINARY (const void *restrict _obj,
1958                                  const char *restrict fieldname)
1959     __nonnull ((1, 2));
1960 EXPORT bool dwg_ent_set_BINARY (void *restrict _obj,
1961                                 const char *restrict fieldname,
1962                                 const char *string) __nonnull ((1, 2, 3));
1963 
1964 EXPORT BITCODE_H dwg_ent_get_HANDLE (const void *restrict _obj,
1965                                      const char *restrict fieldname)
1966     __nonnull ((1, 2));
1967 EXPORT bool dwg_ent_set_HANDLE (void *restrict _obj,
1968                                 const char *restrict fieldname,
1969                                 const BITCODE_H handle) __nonnull ((1, 2, 3));
1970 
1971 EXPORT BITCODE_B dwg_ent_get_BOOL (const void *restrict _obj,
1972                                    const char *restrict fieldname)
1973     __nonnull ((1, 2));
1974 EXPORT bool dwg_ent_set_BOOL (void *restrict _obj,
1975                               const char *restrict fieldname,
1976                               const BITCODE_B num) __nonnull ((1, 2));
1977 
1978 #ifndef SWIGIMPORTED
1979 
1980 #ifdef USE_DEPRECATED_API
1981 
1982 /********************************************************************
1983 *                    FUNCTIONS FOR CIRCLE ENTITY                    *
1984 *********************************************************************/
1985 
1986 // Get/Set the center point of a _dwg_entity_CIRCLE::
1987 EXPORT void dwg_ent_circle_get_center (const dwg_ent_circle *restrict circle,
1988                                        dwg_point_3d *restrict point,
1989                                        int *restrict error)
1990     __nonnull ((2, 3)) _deprecated_dynapi_getter;
1991 
1992 void dwg_ent_circle_set_center (dwg_ent_circle *restrict circle,
1993                                 const dwg_point_3d *restrict point,
1994                                 int *restrict error)
1995     __nonnull ((2, 3)) _deprecated_dynapi_setter;
1996 
1997 // Get/Set the radius of a circle
1998 EXPORT double dwg_ent_circle_get_radius (const dwg_ent_circle *restrict circle,
1999                                          int *restrict error)
2000     __nonnull ((2)) _deprecated_dynapi_getter;
2001 
2002 EXPORT void dwg_ent_circle_set_radius (dwg_ent_circle *restrict circle,
2003                                        const BITCODE_BD radius,
2004                                        int *restrict error)
2005     __nonnull ((3)) _deprecated_dynapi_setter;
2006 
2007 // Get/Set the thickness of a circle
2008 EXPORT double
2009 dwg_ent_circle_get_thickness (const dwg_ent_circle *restrict circle,
2010                               int *restrict error)
2011     __nonnull ((2)) _deprecated_dynapi_getter;
2012 
2013 EXPORT void dwg_ent_circle_set_thickness (dwg_ent_circle *restrict circle,
2014                                           const double thickness,
2015                                           int *restrict error)
2016     __nonnull ((3)) _deprecated_dynapi_setter;
2017 
2018 // Get/Set the extrusion of a circle
2019 EXPORT void dwg_ent_circle_get_extrusion (
2020     const dwg_ent_circle *restrict circle, dwg_point_3d *restrict vector,
2021     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2022 
2023 EXPORT void dwg_ent_circle_set_extrusion (dwg_ent_circle *restrict circle,
2024                                           const dwg_point_3d *restrict vector,
2025                                           int *restrict error)
2026     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2027 
2028 /********************************************************************
2029 *                    FUNCTIONS FOR LINE ENTITY                      *
2030 ********************************************************************/
2031 
2032 // Get/Set the start point of a line
2033 EXPORT void dwg_ent_line_get_start_point (const dwg_ent_line *restrict line,
2034                                           dwg_point_3d *restrict point,
2035                                           int *restrict error)
2036     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2037 
2038 EXPORT void dwg_ent_line_set_start_point (dwg_ent_line *restrict line,
2039                                           const dwg_point_3d *restrict point,
2040                                           int *restrict error)
2041     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2042 
2043 // Get/Set the end point of a line
2044 EXPORT void dwg_ent_line_get_end_point (const dwg_ent_line *restrict line,
2045                                         dwg_point_3d *restrict point,
2046                                         int *restrict error)
2047     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2048 
2049 EXPORT void dwg_ent_line_set_end_point (dwg_ent_line *restrict line,
2050                                         const dwg_point_3d *restrict point,
2051                                         int *restrict error)
2052     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2053 
2054 // Get/Set the thickness of a line
2055 EXPORT double dwg_ent_line_get_thickness (const dwg_ent_line *restrict line,
2056                                           int *restrict error)
2057     __nonnull ((2)) _deprecated_dynapi_getter;
2058 
2059 EXPORT void dwg_ent_line_set_thickness (dwg_ent_line *restrict line,
2060                                         const BITCODE_BD thickness,
2061                                         int *restrict error)
2062     __nonnull ((3)) _deprecated_dynapi_setter;
2063 
2064 // Get/Set the extrusion of a line
2065 EXPORT void dwg_ent_line_set_extrusion (dwg_ent_line *restrict line,
2066                                         const dwg_point_3d *restrict vector,
2067                                         int *restrict error)
2068     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2069 
2070 EXPORT void dwg_ent_line_get_extrusion (const dwg_ent_line *restrict line,
2071                                         dwg_point_3d *restrict vector,
2072                                         int *restrict error)
2073     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2074 
2075 /********************************************************************
2076 *                    FUNCTIONS FOR ARC ENTITY                       *
2077 ********************************************************************/
2078 
2079 // Get/Set the center point of a arc
2080 EXPORT void dwg_ent_arc_get_center (const dwg_ent_arc *restrict arc,
2081                                     dwg_point_3d *restrict point,
2082                                     int *restrict error)
2083     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2084 
2085 EXPORT void dwg_ent_arc_set_center (dwg_ent_arc *restrict arc,
2086                                     const dwg_point_3d *restrict point,
2087                                     int *restrict error)
2088     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2089 
2090 // Get/Set the radius of a arc
2091 EXPORT double dwg_ent_arc_get_radius (const dwg_ent_arc *restrict arc,
2092                                       int *restrict error)
2093     __nonnull ((2)) _deprecated_dynapi_getter;
2094 
2095 EXPORT void dwg_ent_arc_set_radius (dwg_ent_arc *restrict arc,
2096                                     const BITCODE_BD radius,
2097                                     int *restrict error)
2098     __nonnull ((3)) _deprecated_dynapi_setter;
2099 
2100 // Get/Set the thickness of arc
2101 EXPORT double dwg_ent_arc_get_thickness (const dwg_ent_arc *restrict arc,
2102                                          int *restrict error)
2103     __nonnull ((2)) _deprecated_dynapi_getter;
2104 
2105 EXPORT void dwg_ent_arc_set_thickness (dwg_ent_arc *restrict arc,
2106                                        const BITCODE_BD thickness,
2107                                        int *restrict error)
2108     __nonnull ((3)) _deprecated_dynapi_setter;
2109 
2110 // Get/Set the extrusion of arc
2111 EXPORT void dwg_ent_arc_get_extrusion (const dwg_ent_arc *restrict arc,
2112                                        dwg_point_3d *restrict vector,
2113                                        int *restrict error)
2114     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2115 
2116 EXPORT void dwg_ent_arc_set_extrusion (dwg_ent_arc *restrict arc,
2117                                        const dwg_point_3d *restrict vector,
2118                                        int *restrict error)
2119     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2120 
2121 // Get/set start angle arc
2122 EXPORT double dwg_ent_arc_get_start_angle (const dwg_ent_arc *restrict arc,
2123                                            int *restrict error)
2124     __nonnull ((2)) _deprecated_dynapi_getter;
2125 
2126 EXPORT void dwg_ent_arc_set_start_angle (dwg_ent_arc *restrict arc,
2127                                          const BITCODE_BD start_angle,
2128                                          int *restrict error)
2129     __nonnull ((3)) _deprecated_dynapi_setter;
2130 
2131 // Get/set end angle of arc
2132 EXPORT double dwg_ent_arc_get_end_angle (const dwg_ent_arc *restrict arc,
2133                                          int *restrict error)
2134     __nonnull ((2)) _deprecated_dynapi_getter;
2135 
2136 EXPORT void dwg_ent_arc_set_end_angle (dwg_ent_arc *restrict arc,
2137                                        const BITCODE_BD end_angle,
2138                                        int *restrict error)
2139     __nonnull ((3)) _deprecated_dynapi_setter;
2140 
2141 /********************************************************************
2142 *                   FUNCTIONS FOR ELLIPSE ENTITY                    *
2143 ********************************************************************/
2144 
2145 // Get/Set center of ellipse
2146 EXPORT void
2147 dwg_ent_ellipse_get_center (const dwg_ent_ellipse *restrict ellipse,
2148                             dwg_point_3d *restrict point, int *restrict error)
2149     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2150 
2151 EXPORT void dwg_ent_ellipse_set_center (dwg_ent_ellipse *restrict ellipse,
2152                                         const dwg_point_3d *restrict point,
2153                                         int *restrict error)
2154     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2155 
2156 // Get/Set sm axis of ellipse
2157 EXPORT void
2158 dwg_ent_ellipse_get_sm_axis (const dwg_ent_ellipse *restrict ellipse,
2159                              dwg_point_3d *restrict point, int *restrict error)
2160     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2161 
2162 EXPORT void dwg_ent_ellipse_set_sm_axis (dwg_ent_ellipse *restrict ellipse,
2163                                          const dwg_point_3d *restrict point,
2164                                          int *restrict error)
2165     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2166 
2167 // Get/Set extrusion of ellipse
2168 EXPORT void dwg_ent_ellipse_get_extrusion (
2169     const dwg_ent_ellipse *restrict ellipse, dwg_point_3d *restrict vector,
2170     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2171 
2172 EXPORT void dwg_ent_ellipse_set_extrusion (dwg_ent_ellipse *restrict ellipse,
2173                                            const dwg_point_3d *restrict vector,
2174                                            int *restrict error)
2175     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2176 
2177 // Get/Set axis ratio of ellipse
2178 EXPORT double
2179 dwg_ent_ellipse_get_axis_ratio (const dwg_ent_ellipse *restrict ellipse,
2180                                 int *restrict error)
2181     __nonnull ((2)) _deprecated_dynapi_getter;
2182 
2183 EXPORT void dwg_ent_ellipse_set_axis_ratio (dwg_ent_ellipse *restrict ellipse,
2184                                             const double ratio,
2185                                             int *restrict error)
2186     __nonnull ((3)) _deprecated_dynapi_setter;
2187 
2188 // Get/Set start angle of ellipse
2189 EXPORT double
2190 dwg_ent_ellipse_get_start_angle (const dwg_ent_ellipse *restrict ellipse,
2191                                  int *restrict error)
2192     __nonnull ((2)) _deprecated_dynapi_getter;
2193 
2194 EXPORT void dwg_ent_ellipse_set_start_angle (dwg_ent_ellipse *restrict ellipse,
2195                                              const double start_angle,
2196                                              int *restrict error)
2197     __nonnull ((3)) _deprecated_dynapi_setter;
2198 
2199 // Get/Set end angle of ellipse
2200 EXPORT double
2201 dwg_ent_ellipse_get_end_angle (const dwg_ent_ellipse *restrict ellipse,
2202                                int *restrict error)
2203     __nonnull ((2)) _deprecated_dynapi_getter;
2204 
2205 EXPORT void dwg_ent_ellipse_set_end_angle (dwg_ent_ellipse *restrict ellipse,
2206                                            const double end_angle,
2207                                            int *restrict error)
2208     __nonnull ((3)) _deprecated_dynapi_setter;
2209 
2210 /********************************************************************
2211 *                    FUNCTIONS FOR TEXT ENTITY                      *
2212 ********************************************************************/
2213 
2214 // Get/Set text of text (utf-8 encoded)
2215 EXPORT void dwg_ent_text_set_text (dwg_ent_text *restrict text,
2216                                    const char *restrict text_value,
2217                                    int *restrict error)
2218     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2219 
2220 EXPORT char *dwg_ent_text_get_text (const dwg_ent_text *restrict text,
2221                                     int *restrict error)
2222     __nonnull ((2)) _deprecated_dynapi_getter;
2223 
2224 // Get/Set insertion points of text
2225 EXPORT void dwg_ent_text_get_insertion_pt (
2226     const dwg_ent_text *restrict text, dwg_point_2d *restrict point,
2227     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2228 
2229 EXPORT void dwg_ent_text_set_insertion_pt (
2230     dwg_ent_text *restrict text, const dwg_point_2d *restrict point,
2231     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
2232 
2233 // Get/Set height of text
2234 EXPORT double dwg_ent_text_get_height (const dwg_ent_text *restrict text,
2235                                        int *restrict error)
2236     __nonnull ((2)) _deprecated_dynapi_getter;
2237 
2238 EXPORT void dwg_ent_text_set_height (dwg_ent_text *restrict text,
2239                                      const double height, int *restrict error)
2240     __nonnull ((3)) _deprecated_dynapi_setter;
2241 
2242 // Get/Set extrusion of text
2243 EXPORT void dwg_ent_text_get_extrusion (const dwg_ent_text *restrict text,
2244                                         dwg_point_3d *restrict vector,
2245                                         int *restrict error)
2246     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2247 
2248 EXPORT void dwg_ent_text_set_extrusion (dwg_ent_text *restrict text,
2249                                         const dwg_point_3d *restrict vector,
2250                                         int *restrict error)
2251     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2252 
2253 // Get/Set thickness of text
2254 EXPORT double dwg_ent_text_get_thickness (const dwg_ent_text *restrict text,
2255                                           int *restrict error)
2256     __nonnull ((2)) _deprecated_dynapi_getter;
2257 
2258 EXPORT void dwg_ent_text_set_thickness (dwg_ent_text *restrict text,
2259                                         const double thickness,
2260                                         int *restrict error)
2261     __nonnull ((3)) _deprecated_dynapi_setter;
2262 
2263 // Get/Set rotation angle of text
2264 EXPORT double dwg_ent_text_get_rotation (const dwg_ent_text *restrict text,
2265                                          int *restrict error)
2266     __nonnull ((2)) _deprecated_dynapi_getter;
2267 
2268 EXPORT void dwg_ent_text_set_rotation (dwg_ent_text *restrict text,
2269                                        const double angle, int *restrict error)
2270     __nonnull ((3)) _deprecated_dynapi_setter;
2271 
2272 // Get/Set horizontal alignment angle of text
2273 EXPORT BITCODE_BS dwg_ent_text_get_vert_alignment (
2274     const dwg_ent_text *restrict text, int *restrict error)
2275     __nonnull ((2)) _deprecated_dynapi_getter;
2276 
2277 EXPORT void dwg_ent_text_set_vert_alignment (dwg_ent_text *restrict text,
2278                                              const BITCODE_BS alignment,
2279                                              int *restrict error)
2280     __nonnull ((3)) _deprecated_dynapi_setter;
2281 
2282 // Get/Set vertical alignment of text
2283 EXPORT BITCODE_BS dwg_ent_text_get_horiz_alignment (
2284     const dwg_ent_text *restrict text, int *restrict error)
2285     __nonnull ((2)) _deprecated_dynapi_getter;
2286 
2287 EXPORT void dwg_ent_text_set_horiz_alignment (dwg_ent_text *restrict text,
2288                                               const BITCODE_BS alignment,
2289                                               int *restrict error)
2290     __nonnull ((3)) _deprecated_dynapi_setter;
2291 
2292 /********************************************************************
2293 *                   FUNCTIONS FOR ATTRIB ENTITY                     *
2294 ********************************************************************/
2295 
2296 // Get/Set text of attrib (utf-8 encoded)
2297 EXPORT void dwg_ent_attrib_set_text (dwg_ent_attrib *restrict attrib,
2298                                      const char *restrict text_value,
2299                                      int *restrict error)
2300     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2301 
2302 EXPORT char *dwg_ent_attrib_get_text (const dwg_ent_attrib *restrict attrib,
2303                                       int *restrict error)
2304     __nonnull ((2)) _deprecated_dynapi_getter;
2305 
2306 // Get/Set insertion points of attrib
2307 EXPORT void dwg_ent_attrib_get_insertion_pt (
2308     const dwg_ent_attrib *restrict attrib, dwg_point_2d *restrict point,
2309     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2310 
2311 EXPORT void dwg_ent_attrib_set_insertion_pt (
2312     dwg_ent_attrib *restrict attrib, const dwg_point_2d *restrict point,
2313     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
2314 
2315 // Get/Set height of attrib
2316 EXPORT double dwg_ent_attrib_get_height (const dwg_ent_attrib *restrict attrib,
2317                                          int *restrict error)
2318     __nonnull ((2)) _deprecated_dynapi_getter;
2319 
2320 EXPORT void dwg_ent_attrib_set_height (dwg_ent_attrib *restrict attrib,
2321                                        const double height,
2322                                        int *restrict error)
2323     __nonnull ((3)) _deprecated_dynapi_setter;
2324 
2325 // Get/Set extrusion of attrib
2326 EXPORT void dwg_ent_attrib_get_extrusion (
2327     const dwg_ent_attrib *restrict attrib, dwg_point_3d *restrict vector,
2328     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2329 
2330 EXPORT void dwg_ent_attrib_set_extrusion (dwg_ent_attrib *restrict attrib,
2331                                           const dwg_point_3d *restrict vector,
2332                                           int *restrict error)
2333     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2334 
2335 // Get/Set thickness of attrib
2336 EXPORT double
2337 dwg_ent_attrib_get_thickness (const dwg_ent_attrib *restrict attrib,
2338                               int *restrict error)
2339     __nonnull ((2)) _deprecated_dynapi_getter;
2340 
2341 EXPORT void dwg_ent_attrib_set_thickness (dwg_ent_attrib *restrict attrib,
2342                                           const double thickness,
2343                                           int *restrict error)
2344     __nonnull ((3)) _deprecated_dynapi_setter;
2345 
2346 // Get/Set rotation angle of attrib
2347 EXPORT double
2348 dwg_ent_attrib_get_rotation (const dwg_ent_attrib *restrict attrib,
2349                              int *restrict error)
2350     __nonnull ((2)) _deprecated_dynapi_getter;
2351 
2352 EXPORT void dwg_ent_attrib_set_rotation (dwg_ent_attrib *restrict attrib,
2353                                          const double angle,
2354                                          int *restrict error)
2355     __nonnull ((3)) _deprecated_dynapi_setter;
2356 
2357 // Get/Set horizontal alignment angle of attrib
2358 EXPORT BITCODE_BS dwg_ent_attrib_get_vert_alignment (
2359     const dwg_ent_attrib *restrict attrib, int *restrict error)
2360     __nonnull ((2)) _deprecated_dynapi_getter;
2361 
2362 EXPORT void dwg_ent_attrib_set_vert_alignment (dwg_ent_attrib *restrict attrib,
2363                                                const BITCODE_BS alignment,
2364                                                int *restrict error)
2365     __nonnull ((3)) _deprecated_dynapi_setter;
2366 
2367 // Get/Set vertical alignment of attrib
2368 EXPORT BITCODE_BS dwg_ent_attrib_get_horiz_alignment (
2369     const dwg_ent_attrib *restrict attrib, int *restrict error)
2370     __nonnull ((2)) _deprecated_dynapi_getter;
2371 
2372 EXPORT void dwg_ent_attrib_set_horiz_alignment (
2373     dwg_ent_attrib *restrict attrib, const BITCODE_BS alignment,
2374     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
2375 
2376 /********************************************************************
2377 *                   FUNCTIONS FOR ATTDEF ENTITY                     *
2378 ********************************************************************/
2379 
2380 // Get/Set default text of attdef (utf-8 encoded)
2381 EXPORT void dwg_ent_attdef_set_default_value (
2382     dwg_ent_attdef *restrict attdef, const char *restrict default_value,
2383     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
2384 
2385 EXPORT char *
2386 dwg_ent_attdef_get_default_value (const dwg_ent_attdef *restrict attdef,
2387                                   int *restrict error)
2388     __nonnull ((2)) _deprecated_dynapi_getter;
2389 
2390 // Get/Set insertion points of attdef
2391 EXPORT void dwg_ent_attdef_get_insertion_pt (
2392     const dwg_ent_attdef *restrict attdef, dwg_point_2d *restrict point,
2393     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2394 
2395 EXPORT void dwg_ent_attdef_set_insertion_pt (
2396     dwg_ent_attdef *restrict attdef, const dwg_point_2d *restrict point,
2397     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
2398 
2399 // Get/Set height of attdef
2400 EXPORT double dwg_ent_attdef_get_height (const dwg_ent_attdef *restrict attdef,
2401                                          int *restrict error)
2402     __nonnull ((2)) _deprecated_dynapi_getter;
2403 
2404 EXPORT void dwg_ent_attdef_set_height (dwg_ent_attdef *restrict attdef,
2405                                        const double height,
2406                                        int *restrict error)
2407     __nonnull ((3)) _deprecated_dynapi_setter;
2408 
2409 // Get/Set extrusion of attdef
2410 EXPORT void dwg_ent_attdef_get_extrusion (
2411     const dwg_ent_attdef *restrict attdef, dwg_point_3d *restrict vector,
2412     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2413 
2414 EXPORT void dwg_ent_attdef_set_extrusion (dwg_ent_attdef *restrict attdef,
2415                                           const dwg_point_3d *restrict vector,
2416                                           int *restrict error)
2417     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2418 
2419 // Get/Set thickness of attdef
2420 EXPORT double
2421 dwg_ent_attdef_get_thickness (const dwg_ent_attdef *restrict attdef,
2422                               int *restrict error)
2423     __nonnull ((2)) _deprecated_dynapi_getter;
2424 
2425 EXPORT void dwg_ent_attdef_set_thickness (dwg_ent_attdef *restrict attdef,
2426                                           const double thickness,
2427                                           int *restrict error)
2428     __nonnull ((3)) _deprecated_dynapi_setter;
2429 
2430 // Get/Set rotation angle of attdef
2431 EXPORT double
2432 dwg_ent_attdef_get_rotation (const dwg_ent_attdef *restrict attdef,
2433                              int *restrict error)
2434     __nonnull ((2)) _deprecated_dynapi_getter;
2435 
2436 EXPORT void dwg_ent_attdef_set_rotation (dwg_ent_attdef *restrict attdef,
2437                                          const double angle,
2438                                          int *restrict error)
2439     __nonnull ((3)) _deprecated_dynapi_setter;
2440 
2441 // Get/Set horizontal alignment angle of attdef
2442 EXPORT BITCODE_BS dwg_ent_attdef_get_vert_alignment (
2443     const dwg_ent_attdef *restrict attdef, int *restrict error)
2444     __nonnull ((2)) _deprecated_dynapi_getter;
2445 
2446 EXPORT void dwg_ent_attdef_set_vert_alignment (dwg_ent_attdef *restrict attdef,
2447                                                const BITCODE_BS alignment,
2448                                                int *restrict error)
2449     __nonnull ((3)) _deprecated_dynapi_setter;
2450 
2451 // Get/Set vertical alignment of attdef
2452 EXPORT BITCODE_BS dwg_ent_attdef_get_horiz_alignment (
2453     const dwg_ent_attdef *restrict attdef, int *restrict error)
2454     __nonnull ((2)) _deprecated_dynapi_getter;
2455 
2456 EXPORT void dwg_ent_attdef_set_horiz_alignment (
2457     dwg_ent_attdef *restrict attdef, const BITCODE_BS alignment,
2458     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
2459 
2460 /********************************************************************
2461  *                   FUNCTIONS FOR POINT ENTITY                      *
2462  ********************************************************************/
2463 
2464 // Get/Set point of point entity
2465 EXPORT void dwg_ent_point_set_point (dwg_ent_point *restrict point,
2466                                      const dwg_point_3d *restrict retpoint,
2467                                      int *restrict error)
2468     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2469 
2470 EXPORT void dwg_ent_point_get_point (const dwg_ent_point *restrict point,
2471                                      dwg_point_3d *restrict retpoint,
2472                                      int *restrict error)
2473     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2474 
2475 // Get/Set thickness of point entity
2476 EXPORT double dwg_ent_point_get_thickness (const dwg_ent_point *restrict point,
2477                                            int *restrict error)
2478     __nonnull ((2)) _deprecated_dynapi_getter;
2479 
2480 EXPORT void dwg_ent_point_set_thickness (dwg_ent_point *restrict point,
2481                                          const double thickness,
2482                                          int *restrict error)
2483     __nonnull ((3)) _deprecated_dynapi_setter;
2484 
2485 // Get/Set extrusion of point entity
2486 EXPORT void dwg_ent_point_set_extrusion (dwg_ent_point *restrict point,
2487                                          const dwg_point_3d *restrict vector,
2488                                          int *restrict error)
2489     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2490 
2491 EXPORT void dwg_ent_point_get_extrusion (const dwg_ent_point *restrict point,
2492                                          dwg_point_3d *restrict vector,
2493                                          int *restrict error)
2494     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2495 
2496 /********************************************************************
2497  *                   FUNCTIONS FOR SOLID ENTITY                      *
2498  ********************************************************************/
2499 
2500 // Get/Set thickness of solid entity
2501 EXPORT double dwg_ent_solid_get_thickness (const dwg_ent_solid *restrict solid,
2502                                            int *restrict error)
2503     __nonnull ((2)) _deprecated_dynapi_getter;
2504 
2505 EXPORT void dwg_ent_solid_set_thickness (dwg_ent_solid *restrict solid,
2506                                          const double thickness,
2507                                          int *restrict error)
2508     __nonnull ((3)) _deprecated_dynapi_setter;
2509 
2510 // Get/Set elevation of solid entity
2511 EXPORT double dwg_ent_solid_get_elevation (const dwg_ent_solid *restrict solid,
2512                                            int *restrict error)
2513     __nonnull ((2)) _deprecated_dynapi_getter;
2514 
2515 EXPORT void dwg_ent_solid_set_elevation (dwg_ent_solid *restrict solid,
2516                                          const double elevation,
2517                                          int *restrict error)
2518     __nonnull ((3)) _deprecated_dynapi_setter;
2519 
2520 // Get/Set corner1 of solid entity
2521 EXPORT void dwg_ent_solid_get_corner1 (const dwg_ent_solid *restrict solid,
2522                                        dwg_point_2d *restrict point,
2523                                        int *restrict error)
2524     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2525 
2526 EXPORT void dwg_ent_solid_set_corner1 (dwg_ent_solid *restrict solid,
2527                                        const dwg_point_2d *restrict point,
2528                                        int *restrict error)
2529     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2530 
2531 // Get/Set corner2 of solid entity
2532 EXPORT void dwg_ent_solid_get_corner2 (const dwg_ent_solid *restrict solid,
2533                                        dwg_point_2d *restrict point,
2534                                        int *restrict error)
2535     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2536 
2537 EXPORT void dwg_ent_solid_set_corner2 (dwg_ent_solid *restrict solid,
2538                                        const dwg_point_2d *restrict point,
2539                                        int *restrict error)
2540     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2541 
2542 // Get/Set corner3 of solid entity
2543 EXPORT void dwg_ent_solid_get_corner3 (const dwg_ent_solid *restrict solid,
2544                                        dwg_point_2d *restrict point,
2545                                        int *restrict error)
2546     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2547 
2548 EXPORT void dwg_ent_solid_set_corner3 (dwg_ent_solid *restrict solid,
2549                                        const dwg_point_2d *restrict point,
2550                                        int *restrict error)
2551     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2552 
2553 // Get/Set corner4 of solid entity
2554 EXPORT void dwg_ent_solid_get_corner4 (const dwg_ent_solid *restrict solid,
2555                                        dwg_point_2d *restrict point,
2556                                        int *restrict error)
2557     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2558 
2559 EXPORT void dwg_ent_solid_set_corner4 (dwg_ent_solid *restrict solid,
2560                                        const dwg_point_2d *restrict point,
2561                                        int *restrict error)
2562     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2563 
2564 // Get/Set extrusion of solid entity
2565 EXPORT void dwg_ent_solid_get_extrusion (const dwg_ent_solid *restrict solid,
2566                                          dwg_point_3d *restrict vector,
2567                                          int *restrict error)
2568     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2569 
2570 EXPORT void dwg_ent_solid_set_extrusion (dwg_ent_solid *restrict solid,
2571                                          const dwg_point_3d *restrict vector,
2572                                          int *restrict error)
2573     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2574 
2575 /********************************************************************
2576  *                   FUNCTIONS FOR BLOCk ENTITY                      *
2577  ********************************************************************/
2578 
2579 // Get/Set text of block entity
2580 EXPORT void dwg_ent_block_set_name (dwg_ent_block *restrict block,
2581                                     const char *restrict name,
2582                                     int *restrict error)
2583     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2584 
2585 EXPORT char *dwg_ent_block_get_name (const dwg_ent_block *restrict block,
2586                                      int *restrict error)
2587     __nonnull ((2)) _deprecated_dynapi_getter;
2588 
2589 /********************************************************************
2590  *                    FUNCTIONS FOR RAY ENTITY                       *
2591  ********************************************************************/
2592 
2593 // Get/Set point of ray entity
2594 EXPORT void dwg_ent_ray_get_point (const dwg_ent_ray *restrict ray,
2595                                    dwg_point_3d *restrict point,
2596                                    int *restrict error)
2597     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2598 
2599 EXPORT void dwg_ent_ray_set_point (dwg_ent_ray *restrict ray,
2600                                    const dwg_point_3d *restrict point,
2601                                    int *restrict error)
2602     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2603 
2604 // Get/Set vector of ray entity
2605 EXPORT void dwg_ent_ray_get_vector (const dwg_ent_ray *restrict ray,
2606                                     dwg_point_3d *restrict vector,
2607                                     int *restrict error)
2608     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2609 
2610 EXPORT void dwg_ent_ray_set_vector (dwg_ent_ray *restrict ray,
2611                                     const dwg_point_3d *restrict vector,
2612                                     int *restrict error)
2613     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2614 
2615 /********************************************************************
2616  *                   FUNCTIONS FOR XLINE ENTITY                      *
2617  ********************************************************************/
2618 
2619 // Get/Set point of xline entity
2620 EXPORT void dwg_ent_xline_get_point (const dwg_ent_xline *restrict xline,
2621                                      dwg_point_3d *restrict point,
2622                                      int *restrict error)
2623     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2624 
2625 EXPORT void dwg_ent_xline_set_point (dwg_ent_xline *restrict xline,
2626                                      const dwg_point_3d *restrict point,
2627                                      int *restrict error)
2628     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2629 
2630 // Get/Set vector of xline entity
2631 EXPORT void dwg_ent_xline_get_vector (const dwg_ent_xline *restrict xline,
2632                                       dwg_point_3d *restrict vector,
2633                                       int *restrict error)
2634     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2635 
2636 EXPORT void dwg_ent_xline_set_vector (dwg_ent_xline *restrict xline,
2637                                       const dwg_point_3d *restrict vector,
2638                                       int *restrict error)
2639     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2640 
2641 /********************************************************************
2642  *                   FUNCTIONS FOR TRACE ENTITY                      *
2643  ********************************************************************/
2644 
2645 // Get/Set thickness of trace entity
2646 EXPORT double dwg_ent_trace_get_thickness (const dwg_ent_trace *restrict trace,
2647                                            int *restrict error)
2648     __nonnull ((2)) _deprecated_dynapi_getter;
2649 
2650 EXPORT void dwg_ent_trace_set_thickness (dwg_ent_trace *restrict trace,
2651                                          const double thickness,
2652                                          int *restrict error)
2653     __nonnull ((3)) _deprecated_dynapi_setter;
2654 
2655 // Get/Set elevation of trace entity
2656 EXPORT double dwg_ent_trace_get_elevation (const dwg_ent_trace *restrict trace,
2657                                            int *restrict error)
2658     __nonnull ((2)) _deprecated_dynapi_getter;
2659 
2660 EXPORT void dwg_ent_trace_set_elevation (dwg_ent_trace *restrict trace,
2661                                          const double elevation,
2662                                          int *restrict error)
2663     __nonnull ((3)) _deprecated_dynapi_setter;
2664 
2665 // Get/Set corner1 of trace entity
2666 EXPORT void dwg_ent_trace_get_corner1 (const dwg_ent_trace *restrict trace,
2667                                        dwg_point_2d *restrict point,
2668                                        int *restrict error)
2669     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2670 
2671 EXPORT void dwg_ent_trace_set_corner1 (dwg_ent_trace *restrict trace,
2672                                        const dwg_point_2d *restrict point,
2673                                        int *restrict error)
2674     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2675 
2676 // Get/Set corner2 of trace entity
2677 EXPORT void dwg_ent_trace_get_corner2 (const dwg_ent_trace *restrict trace,
2678                                        dwg_point_2d *restrict point,
2679                                        int *restrict error)
2680     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2681 
2682 EXPORT void dwg_ent_trace_set_corner2 (dwg_ent_trace *restrict trace,
2683                                        const dwg_point_2d *restrict point,
2684                                        int *restrict error)
2685     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2686 
2687 // Get/Set corner3 of trace entity
2688 EXPORT void dwg_ent_trace_get_corner3 (const dwg_ent_trace *restrict trace,
2689                                        dwg_point_2d *restrict point,
2690                                        int *restrict error)
2691     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2692 
2693 EXPORT void dwg_ent_trace_set_corner3 (dwg_ent_trace *restrict trace,
2694                                        const dwg_point_2d *restrict point,
2695                                        int *restrict error)
2696     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2697 
2698 // Get/Set corner4 of trace entity
2699 EXPORT void dwg_ent_trace_get_corner4 (const dwg_ent_trace *restrict trace,
2700                                        dwg_point_2d *restrict point,
2701                                        int *restrict error)
2702     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2703 
2704 EXPORT void dwg_ent_trace_set_corner4 (dwg_ent_trace *restrict trace,
2705                                        const dwg_point_2d *restrict point,
2706                                        int *restrict error)
2707     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2708 
2709 // Get/Set extrusion of trace entity
2710 EXPORT void dwg_ent_trace_get_extrusion (const dwg_ent_trace *restrict trace,
2711                                          dwg_point_3d *restrict vector,
2712                                          int *restrict error)
2713     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2714 
2715 EXPORT void dwg_ent_trace_set_extrusion (dwg_ent_trace *restrict trace,
2716                                          const dwg_point_3d *restrict vector,
2717                                          int *restrict error)
2718     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2719 
2720 /********************************************************************
2721  *                 FUNCTIONS FOR VERTEX_3D ENTITY                    *
2722  ********************************************************************/
2723 
2724 // Get/Set flags of vertex_3d entity
2725 EXPORT char dwg_ent_vertex_3d_get_flag (const dwg_ent_vertex_3d *restrict vert,
2726                                         int *restrict error)
2727     __nonnull ((2)) _deprecated_dynapi_getter;
2728 
2729 EXPORT void dwg_ent_vertex_3d_set_flag (dwg_ent_vertex_3d *restrict vert,
2730                                         const char flags, int *restrict error)
2731     __nonnull ((3)) _deprecated_dynapi_setter;
2732 
2733 // Get/Set point of vertex_3d entity
2734 EXPORT void
2735 dwg_ent_vertex_3d_get_point (const dwg_ent_vertex_3d *restrict vert,
2736                              dwg_point_3d *restrict point, int *restrict error)
2737     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2738 
2739 EXPORT void dwg_ent_vertex_3d_set_point (dwg_ent_vertex_3d *restrict vert,
2740                                          const dwg_point_3d *restrict point,
2741                                          int *restrict error)
2742     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2743 
2744 /********************************************************************
2745  *               FUNCTIONS FOR VERTEX_MESH ENTITY                    *
2746  ********************************************************************/
2747 
2748 // Get/Set flags of vertex_mesh entity
2749 EXPORT char
2750 dwg_ent_vertex_mesh_get_flag (const dwg_ent_vertex_mesh *restrict vert,
2751                               int *restrict error)
2752     __nonnull ((2)) _deprecated_dynapi_getter;
2753 
2754 EXPORT void dwg_ent_vertex_mesh_set_flag (dwg_ent_vertex_mesh *restrict vert,
2755                                           const char flags,
2756                                           int *restrict error)
2757     __nonnull ((3)) _deprecated_dynapi_setter;
2758 
2759 // Get/Set point of vertex_mesh entity
2760 EXPORT void dwg_ent_vertex_mesh_get_point (
2761     const dwg_ent_vertex_mesh *restrict vert, dwg_point_3d *restrict point,
2762     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2763 
2764 EXPORT void dwg_ent_vertex_mesh_set_point (dwg_ent_vertex_mesh *restrict vert,
2765                                            const dwg_point_3d *restrict point,
2766                                            int *restrict error)
2767     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2768 
2769 /********************************************************************
2770  *               FUNCTIONS FOR VERTEX_PFACE ENTITY                   *
2771  ********************************************************************/
2772 
2773 // Get/Set flags of vertex_pface entity
2774 EXPORT char
2775 dwg_ent_vertex_pface_get_flag (const dwg_ent_vertex_pface *restrict vert,
2776                                int *restrict error)
2777     __nonnull ((2)) _deprecated_dynapi_getter;
2778 
2779 EXPORT void dwg_ent_vertex_pface_set_flag (dwg_ent_vertex_pface *restrict vert,
2780                                            const char flags,
2781                                            int *restrict error)
2782     __nonnull ((3)) _deprecated_dynapi_setter;
2783 
2784 // Get/Set point of vertex_pface entity
2785 EXPORT void dwg_ent_vertex_pface_get_point (
2786     const dwg_ent_vertex_pface *restrict vert, dwg_point_3d *restrict point,
2787     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2788 
2789 EXPORT void dwg_ent_vertex_pface_set_point (
2790     dwg_ent_vertex_pface *restrict vert, const dwg_point_3d *restrict point,
2791     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
2792 
2793 /********************************************************************
2794  *                 FUNCTIONS FOR VERTEX_2D ENTITY                    *
2795  ********************************************************************/
2796 
2797 // Get/Set flags of vertex_2d entity
2798 EXPORT char dwg_ent_vertex_2d_get_flag (const dwg_ent_vertex_2d *restrict vert,
2799                                         int *restrict error)
2800     __nonnull ((2)) _deprecated_dynapi_getter;
2801 
2802 EXPORT void dwg_ent_vertex_2d_set_flag (dwg_ent_vertex_2d *restrict vert,
2803                                         const char flags, int *restrict error)
2804     __nonnull ((3)) _deprecated_dynapi_setter;
2805 
2806 // Get/Set point of vertex_2d entity
2807 EXPORT void
2808 dwg_ent_vertex_2d_get_point (const dwg_ent_vertex_2d *restrict vert,
2809                              dwg_point_3d *restrict point, int *restrict error)
2810     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2811 
2812 EXPORT void dwg_ent_vertex_2d_set_point (dwg_ent_vertex_2d *restrict vert,
2813                                          const dwg_point_3d *restrict point,
2814                                          int *restrict error)
2815     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2816 
2817 // Get/Set start_width of vertex_2d entity
2818 EXPORT double
2819 dwg_ent_vertex_2d_get_start_width (const dwg_ent_vertex_2d *restrict vert,
2820                                    int *restrict error)
2821     __nonnull ((2)) _deprecated_dynapi_getter;
2822 
2823 EXPORT void dwg_ent_vertex_2d_set_start_width (
2824     dwg_ent_vertex_2d *restrict vert, const double start_width,
2825     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
2826 
2827 // Get/Set end width of a vertex_2d entity
2828 EXPORT double
2829 dwg_ent_vertex_2d_get_end_width (const dwg_ent_vertex_2d *restrict vert,
2830                                  int *restrict error)
2831     __nonnull ((2)) _deprecated_dynapi_getter;
2832 
2833 EXPORT void dwg_ent_vertex_2d_set_end_width (dwg_ent_vertex_2d *restrict vert,
2834                                              const double end_width,
2835                                              int *restrict error)
2836     __nonnull ((3)) _deprecated_dynapi_setter;
2837 
2838 // Get/Set bulge of a vertex_2d entity
2839 EXPORT double
2840 dwg_ent_vertex_2d_get_bulge (const dwg_ent_vertex_2d *restrict vert,
2841                              int *restrict error)
2842     __nonnull ((2)) _deprecated_dynapi_getter;
2843 
2844 EXPORT void dwg_ent_vertex_2d_set_bulge (dwg_ent_vertex_2d *restrict vert,
2845                                          const double bulge,
2846                                          int *restrict error)
2847     __nonnull ((3)) _deprecated_dynapi_setter;
2848 
2849 // Get/Set tanget_direction of a vertex_2d entity
2850 EXPORT double
2851 dwg_ent_vertex_2d_get_tangent_dir (const dwg_ent_vertex_2d *restrict vert,
2852                                    int *restrict error)
2853     __nonnull ((2)) _deprecated_dynapi_getter;
2854 
2855 EXPORT void dwg_ent_vertex_2d_set_tangent_dir (
2856     dwg_ent_vertex_2d *restrict vert, const double tangent_dir,
2857     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
2858 
2859 /********************************************************************
2860  *                   FUNCTIONS FOR INSERT ENTITY                     *
2861  ********************************************************************/
2862 
2863 // Get/Set insertion point of insert entity
2864 EXPORT void dwg_ent_insert_get_ins_pt (const dwg_ent_insert *restrict insert,
2865                                        dwg_point_3d *restrict point,
2866                                        int *restrict error)
2867     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2868 
2869 EXPORT void dwg_ent_insert_set_ins_pt (dwg_ent_insert *restrict insert,
2870                                        const dwg_point_3d *restrict point,
2871                                        int *restrict error)
2872     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2873 
2874 EXPORT void dwg_ent_insert_get_scale (const dwg_ent_insert *restrict insert,
2875                                       dwg_point_3d *restrict point,
2876                                       int *restrict error)
2877     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2878 
2879 EXPORT void dwg_ent_insert_set_scale (dwg_ent_insert *restrict insert,
2880                                       const dwg_point_3d *restrict point,
2881                                       int *restrict error)
2882     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2883 
2884 EXPORT double
2885 dwg_ent_insert_get_rotation (const dwg_ent_insert *restrict insert,
2886                              int *restrict error)
2887     __nonnull ((2)) _deprecated_dynapi_getter;
2888 
2889 EXPORT void dwg_ent_insert_set_rotation (dwg_ent_insert *restrict insert,
2890                                          const double rot_ang,
2891                                          int *restrict error)
2892     __nonnull ((3)) _deprecated_dynapi_setter;
2893 
2894 EXPORT void dwg_ent_insert_get_extrusion (
2895     const dwg_ent_insert *restrict insert, dwg_point_3d *restrict vector,
2896     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2897 
2898 EXPORT void dwg_ent_insert_set_extrusion (dwg_ent_insert *restrict insert,
2899                                           const dwg_point_3d *restrict vector,
2900                                           int *restrict error)
2901     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2902 
2903 EXPORT char dwg_ent_insert_has_attribs (dwg_ent_insert *restrict insert,
2904                                         int *restrict error)
2905     __nonnull ((2)) _deprecated_dynapi_getter;
2906 
2907 EXPORT BITCODE_BL dwg_ent_insert_get_num_owned (
2908     const dwg_ent_insert *restrict insert, int *restrict error)
2909     __nonnull ((2)) _deprecated_dynapi_getter;
2910 
2911 // TODO dwg_ent_insert_add_owned, dwg_ent_insert_delete_owned
2912 
2913 EXPORT dwg_object *
2914 dwg_ent_insert_get_block_header (const dwg_ent_insert *restrict insert,
2915                                  int *restrict error)
2916     __nonnull ((2)) _deprecated_dynapi_getter;
2917 
2918 /********************************************************************
2919  *                  FUNCTIONS FOR MINSERT ENTITY                     *
2920  ********************************************************************/
2921 
2922 EXPORT void
2923 dwg_ent_minsert_get_ins_pt (const dwg_ent_minsert *restrict minsert,
2924                             dwg_point_3d *restrict point, int *restrict error)
2925     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2926 
2927 EXPORT void dwg_ent_minsert_set_ins_pt (dwg_ent_minsert *restrict minsert,
2928                                         const dwg_point_3d *restrict point,
2929                                         int *restrict error)
2930     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2931 
2932 EXPORT void dwg_ent_minsert_get_scale (const dwg_ent_minsert *restrict minsert,
2933                                        dwg_point_3d *restrict point,
2934                                        int *restrict error)
2935     __nonnull ((2, 3)) _deprecated_dynapi_getter;
2936 
2937 EXPORT void dwg_ent_minsert_set_scale (dwg_ent_minsert *restrict minsert,
2938                                        const dwg_point_3d *restrict point,
2939                                        int *restrict error)
2940     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2941 
2942 EXPORT double
2943 dwg_ent_minsert_get_rotation (const dwg_ent_minsert *restrict minsert,
2944                               int *restrict error)
2945     __nonnull ((2)) _deprecated_dynapi_getter;
2946 
2947 EXPORT void dwg_ent_minsert_set_rotation (dwg_ent_minsert *restrict minsert,
2948                                           const double rot_ang,
2949                                           int *restrict error)
2950     __nonnull ((3)) _deprecated_dynapi_setter;
2951 
2952 EXPORT void dwg_ent_minsert_get_extrusion (
2953     const dwg_ent_minsert *restrict minsert, dwg_point_3d *restrict vector,
2954     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
2955 
2956 EXPORT void dwg_ent_minsert_set_extrusion (dwg_ent_minsert *restrict minsert,
2957                                            const dwg_point_3d *restrict vector,
2958                                            int *restrict error)
2959     __nonnull ((2, 3)) _deprecated_dynapi_setter;
2960 
2961 EXPORT char dwg_ent_minsert_has_attribs (dwg_ent_minsert *restrict minsert,
2962                                          int *restrict error)
2963     __nonnull ((2)) _deprecated_dynapi_getter;
2964 
2965 EXPORT BITCODE_BL dwg_ent_minsert_get_num_owned (
2966     const dwg_ent_minsert *restrict minsert, int *restrict error)
2967     __nonnull ((2)) _deprecated_dynapi_getter;
2968 
2969 // TODO dwg_ent_minsert_add_owned, dwg_ent_insert_delete_owned
2970 
2971 EXPORT BITCODE_BL dwg_ent_minsert_get_num_cols (
2972     const dwg_ent_minsert *restrict minsert, int *restrict error)
2973     __nonnull ((2)) _deprecated_dynapi_getter;
2974 EXPORT void dwg_ent_minsert_set_num_cols (dwg_ent_minsert *restrict minsert,
2975                                           const BITCODE_BL num_cols,
2976                                           int *restrict error)
2977     __nonnull ((3)) _deprecated_dynapi_setter;
2978 EXPORT BITCODE_BL dwg_ent_minsert_get_num_rows (
2979     const dwg_ent_minsert *restrict minsert, int *restrict error)
2980     __nonnull ((2)) _deprecated_dynapi_getter;
2981 EXPORT void dwg_ent_minsert_set_num_rows (dwg_ent_minsert *restrict minsert,
2982                                           const BITCODE_BL num_rows,
2983                                           int *restrict error)
2984     __nonnull ((3)) _deprecated_dynapi_setter;
2985 
2986 EXPORT double
2987 dwg_ent_minsert_get_col_spacing (const dwg_ent_minsert *restrict minsert,
2988                                  int *restrict error)
2989     __nonnull ((2)) _deprecated_dynapi_getter;
2990 
2991 EXPORT void dwg_ent_minsert_set_col_spacing (dwg_ent_minsert *restrict minsert,
2992                                              const double spacing,
2993                                              int *restrict error)
2994     __nonnull ((3)) _deprecated_dynapi_setter;
2995 
2996 EXPORT double
2997 dwg_ent_minsert_get_row_spacing (const dwg_ent_minsert *restrict minsert,
2998                                  int *restrict error)
2999     __nonnull ((2)) _deprecated_dynapi_getter;
3000 
3001 EXPORT void dwg_ent_minsert_set_row_spacing (dwg_ent_minsert *restrict minsert,
3002                                              const double spacing,
3003                                              int *restrict error)
3004     __nonnull ((3)) _deprecated_dynapi_setter;
3005 
3006 EXPORT dwg_object *
3007 dwg_ent_minsert_get_block_header (const dwg_ent_minsert *restrict minsert,
3008                                   int *restrict error)
3009     __nonnull ((2)) _deprecated_dynapi_getter;
3010 
3011 /********************************************************************
3012  *                FUNCTIONS FOR MLINESTYLE OBJECT                    *
3013  ********************************************************************/
3014 
3015 EXPORT char *
3016 dwg_obj_mlinestyle_get_name (const dwg_obj_mlinestyle *restrict mlinestyle,
3017                              int *restrict error)
3018     __nonnull ((2)) _deprecated_dynapi_getter;
3019 
3020 EXPORT void
3021 dwg_obj_mlinestyle_set_name (dwg_obj_mlinestyle *restrict mlinestyle,
3022                              const char *restrict name, int *restrict error)
3023     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3024 
3025 EXPORT char *
3026 dwg_obj_mlinestyle_get_desc (const dwg_obj_mlinestyle *restrict mlinestyle,
3027                              int *restrict error)
3028     __nonnull ((2)) _deprecated_dynapi_getter;
3029 
3030 EXPORT void
3031 dwg_obj_mlinestyle_set_desc (dwg_obj_mlinestyle *restrict mlinestyle,
3032                              const char *restrict desc, int *restrict error)
3033     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3034 
3035 EXPORT int
3036 dwg_obj_mlinestyle_get_flag (const dwg_obj_mlinestyle *restrict mlinestyle,
3037                                  int *restrict error)
3038     __nonnull ((2)) _deprecated_dynapi_getter;
3039 
3040 EXPORT void
3041 dwg_obj_mlinestyle_set_flag (dwg_obj_mlinestyle *restrict mlinestyle,
3042                              const int flags, int *restrict error)
3043     __nonnull ((3)) _deprecated_dynapi_setter;
3044 
3045 EXPORT double dwg_obj_mlinestyle_get_start_angle (
3046     const dwg_obj_mlinestyle *restrict mlinestyle, int *restrict error)
3047     __nonnull ((2)) _deprecated_dynapi_getter;
3048 
3049 EXPORT void
3050 dwg_obj_mlinestyle_set_start_angle (dwg_obj_mlinestyle *restrict mlinestyle,
3051                                     const double startang, int *restrict error)
3052     __nonnull ((3)) _deprecated_dynapi_setter;
3053 
3054 EXPORT double dwg_obj_mlinestyle_get_end_angle (
3055     const dwg_obj_mlinestyle *restrict mlinestyle, int *restrict error)
3056     __nonnull ((2)) _deprecated_dynapi_getter;
3057 
3058 EXPORT void
3059 dwg_obj_mlinestyle_set_end_angle (dwg_obj_mlinestyle *restrict mlinestyle,
3060                                   const double endang, int *restrict error)
3061     __nonnull ((3)) _deprecated_dynapi_setter;
3062 
3063 EXPORT char dwg_obj_mlinestyle_get_num_lines (
3064     const dwg_obj_mlinestyle *restrict mlinestyle, int *restrict error)
3065     __nonnull ((2)) _deprecated_dynapi_getter;
3066 
3067 /********************************************************************
3068  *               FUNCTIONS FOR APPID_CONTROL OBJECT                  *
3069  *                       The APPID table                             *
3070  ********************************************************************/
3071 
3072 EXPORT BITCODE_BS dwg_obj_appid_control_get_num_entries (
3073     const dwg_obj_appid_control *restrict appid, int *restrict error)
3074     __nonnull ((2)) _deprecated_dynapi_getter;
3075 
3076 EXPORT dwg_object_ref *
3077 dwg_obj_appid_control_get_appid (const dwg_obj_appid_control *restrict appid,
3078                                  const BITCODE_BS index, int *restrict error)
3079     __nonnull ((3)) _deprecated_dynapi_setter;
3080 
3081 /********************************************************************
3082  *                    FUNCTIONS FOR APPID OBJECT                     *
3083  *                       An APPID table entry                        *
3084  ********************************************************************/
3085 
3086 EXPORT char *dwg_obj_appid_get_name (const dwg_obj_appid *restrict appid,
3087                                      int *restrict error)
3088     __nonnull ((2)) _deprecated_dynapi_getter;
3089 
3090 EXPORT BITCODE_RC dwg_obj_appid_get_flag (const dwg_obj_appid *restrict appid,
3091                                           int *restrict error)
3092     __nonnull ((2)) _deprecated_dynapi_getter;
3093 
3094 EXPORT void dwg_obj_appid_set_flag (dwg_obj_appid *restrict appid,
3095                                     const BITCODE_RC flag, int *restrict error)
3096     __nonnull ((3)) _deprecated_dynapi_setter;
3097 
3098 EXPORT dwg_obj_appid_control *
3099 dwg_obj_appid_get_appid_control (const dwg_obj_appid *restrict appid,
3100                                  int *restrict error)
3101     __nonnull ((2)) _deprecated_dynapi_getter;
3102 
3103 /*******************************************************************
3104  *            FUNCTIONS FOR ALL DIMENSION ENTITIES                  *
3105  ********************************************************************/
3106 
3107 EXPORT char *dwg_ent_dim_get_block_name (const dwg_ent_dim *restrict dim,
3108                                          int *restrict error)
3109     __nonnull ((2)) _deprecated_dynapi_getter;
3110 
3111 EXPORT BITCODE_BD dwg_ent_dim_get_elevation (const dwg_ent_dim *restrict dim,
3112                                              int *restrict error)
3113     __nonnull ((2)) _deprecated_dynapi_getter;
3114 EXPORT void dwg_ent_dim_set_elevation (dwg_ent_dim *restrict dim,
3115                                        const BITCODE_BD elevation,
3116                                        int *restrict error)
3117     __nonnull ((3)) _deprecated_dynapi_setter;
3118 EXPORT char dwg_ent_dim_get_flag1 (const dwg_ent_dim *restrict dim,
3119                                    int *restrict error)
3120     __nonnull ((2)) _deprecated_dynapi_getter;
3121 
3122 EXPORT void dwg_ent_dim_set_flag1 (dwg_ent_dim *restrict dim, char flag,
3123                                    int *restrict error)
3124     __nonnull ((3)) _deprecated_dynapi_setter;
3125 EXPORT BITCODE_BD dwg_ent_dim_get_act_measurement (
3126     const dwg_ent_dim *restrict dim, int *restrict error)
3127     __nonnull ((2)) _deprecated_dynapi_getter;
3128 EXPORT void dwg_ent_dim_set_act_measurement (dwg_ent_dim *restrict dim,
3129                                              const BITCODE_BD act_measurement,
3130                                              int *restrict error)
3131     __nonnull ((3)) _deprecated_dynapi_setter;
3132 EXPORT BITCODE_BD dwg_ent_dim_get_horiz_dir (const dwg_ent_dim *restrict dim,
3133                                              int *restrict error)
3134     __nonnull ((2)) _deprecated_dynapi_getter;
3135 
3136 EXPORT void dwg_ent_dim_set_horiz_dir (dwg_ent_dim *restrict dim,
3137                                        const BITCODE_BD horiz_dir,
3138                                        int *restrict error)
3139     __nonnull ((3)) _deprecated_dynapi_setter;
3140 EXPORT double dwg_ent_dim_get_lspace_factor (const dwg_ent_dim *restrict dim,
3141                                              int *restrict error)
3142     __nonnull ((2)) _deprecated_dynapi_getter;
3143 
3144 EXPORT void dwg_ent_dim_set_lspace_factor (dwg_ent_dim *restrict dim,
3145                                            const BITCODE_BD factor,
3146                                            int *restrict error)
3147     __nonnull ((3)) _deprecated_dynapi_setter;
3148 EXPORT BITCODE_BS dwg_ent_dim_get_lspace_style (
3149     const dwg_ent_dim *restrict dim, int *restrict error)
3150     __nonnull ((2)) _deprecated_dynapi_getter;
3151 
3152 EXPORT void dwg_ent_dim_set_lspace_style (dwg_ent_dim *restrict dim,
3153                                           const BITCODE_BS style,
3154                                           int *restrict error)
3155     __nonnull ((3)) _deprecated_dynapi_setter;
3156 EXPORT BITCODE_BS dwg_ent_dim_get_attachment (const dwg_ent_dim *restrict dim,
3157                                               int *restrict error)
3158     __nonnull ((2)) _deprecated_dynapi_getter;
3159 
3160 EXPORT void dwg_ent_dim_set_attachment (dwg_ent_dim *restrict dim,
3161                                         const BITCODE_BS attachment,
3162                                         int *restrict error)
3163     __nonnull ((3)) _deprecated_dynapi_setter;
3164 EXPORT void dwg_ent_dim_set_extrusion (dwg_ent_dim *restrict dim,
3165                                        const dwg_point_3d *restrict vector,
3166                                        int *restrict error)
3167     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3168 EXPORT void dwg_ent_dim_get_extrusion (const dwg_ent_dim *restrict dim,
3169                                        dwg_point_3d *restrict vector,
3170                                        int *restrict error)
3171     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3172 /* (utf-8 encoded) */
3173 EXPORT char *dwg_ent_dim_get_user_text (const dwg_ent_dim *restrict dim,
3174                                         int *restrict error)
3175     __nonnull ((2)) _deprecated_dynapi_getter;
3176 
3177 EXPORT void dwg_ent_dim_set_user_text (dwg_ent_dim *restrict dim,
3178                                        const char *text, int *restrict error)
3179     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3180 EXPORT double dwg_ent_dim_get_text_rotation (const dwg_ent_dim *restrict dim,
3181                                              int *restrict error)
3182     __nonnull ((2)) _deprecated_dynapi_getter;
3183 
3184 EXPORT void dwg_ent_dim_set_text_rotation (dwg_ent_dim *restrict dim,
3185                                            const double rot,
3186                                            int *restrict error)
3187     __nonnull ((3)) _deprecated_dynapi_setter;
3188 EXPORT double dwg_ent_dim_get_ins_rotation (const dwg_ent_dim *restrict dim,
3189                                             int *restrict error)
3190     __nonnull ((2)) _deprecated_dynapi_getter;
3191 
3192 EXPORT void dwg_ent_dim_set_ins_rotation (dwg_ent_dim *restrict dim,
3193                                           const double rot,
3194                                           int *restrict error)
3195     __nonnull ((3)) _deprecated_dynapi_setter;
3196 EXPORT char dwg_ent_dim_get_flip_arrow1 (const dwg_ent_dim *restrict dim,
3197                                          int *restrict error)
3198     __nonnull ((2)) _deprecated_dynapi_getter;
3199 
3200 EXPORT void dwg_ent_dim_set_flip_arrow1 (dwg_ent_dim *restrict dim,
3201                                          const char flip_arrow,
3202                                          int *restrict error)
3203     __nonnull ((3)) _deprecated_dynapi_setter;
3204 EXPORT char dwg_ent_dim_get_flip_arrow2 (const dwg_ent_dim *restrict dim,
3205                                          int *restrict error)
3206     __nonnull ((2)) _deprecated_dynapi_getter;
3207 
3208 EXPORT void dwg_ent_dim_set_flip_arrow2 (dwg_ent_dim *restrict dim,
3209                                          const char flip_arrow,
3210                                          int *restrict error)
3211     __nonnull ((3)) _deprecated_dynapi_setter;
3212 EXPORT void dwg_ent_dim_set_text_midpt (dwg_ent_dim *restrict dim,
3213                                         const dwg_point_2d *restrict point,
3214                                         int *restrict error)
3215     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3216 EXPORT void dwg_ent_dim_get_text_midpt (const dwg_ent_dim *restrict dim,
3217                                         dwg_point_2d *restrict point,
3218                                         int *restrict error)
3219     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3220 EXPORT void dwg_ent_dim_set_ins_scale (dwg_ent_dim *restrict dim,
3221                                        const dwg_point_3d *restrict point,
3222                                        int *restrict error)
3223     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3224 EXPORT void dwg_ent_dim_get_ins_scale (const dwg_ent_dim *restrict dim,
3225                                        dwg_point_3d *restrict point,
3226                                        int *restrict error)
3227     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3228 EXPORT void dwg_ent_dim_set_clone_ins_pt (dwg_ent_dim *restrict dim,
3229                                           const dwg_point_2d *restrict point,
3230                                           int *restrict error)
3231     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3232 EXPORT void dwg_ent_dim_get_clone_ins_pt (const dwg_ent_dim *restrict dim,
3233                                           dwg_point_2d *restrict point,
3234                                           int *restrict error)
3235     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3236 
3237 /********************************************************************
3238  *            FUNCTIONS FOR ORDINATE DIMENSION ENTITY                *
3239  ********************************************************************/
3240 
3241 EXPORT void dwg_ent_dim_ordinate_set_def_pt (
3242     dwg_ent_dim_ordinate *ord, const dwg_point_3d *restrict point,
3243     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3244 
3245 EXPORT void dwg_ent_dim_ordinate_get_def_pt (
3246     const dwg_ent_dim_ordinate *restrict ord, dwg_point_3d *restrict point,
3247     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3248 
3249 EXPORT void dwg_ent_dim_ordinate_set_feature_location_pt (
3250     dwg_ent_dim_ordinate *restrict ord, const dwg_point_3d *restrict point,
3251     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3252 
3253 EXPORT void dwg_ent_dim_ordinate_get_feature_location_pt (
3254     const dwg_ent_dim_ordinate *restrict ord, dwg_point_3d *restrict point,
3255     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3256 
3257 EXPORT void dwg_ent_dim_ordinate_set_leader_endpt (
3258     dwg_ent_dim_ordinate *restrict ord, const dwg_point_3d *restrict point,
3259     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3260 
3261 EXPORT void dwg_ent_dim_ordinate_get_leader_endpt (
3262     const dwg_ent_dim_ordinate *restrict ord, dwg_point_3d *restrict point,
3263     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3264 
3265 EXPORT void dwg_ent_dim_ordinate_set_flag2 (dwg_ent_dim_ordinate *restrict ord,
3266                                             const char flag,
3267                                             int *restrict error)
3268     __nonnull ((3)) _deprecated_dynapi_setter;
3269 
3270 EXPORT char
3271 dwg_ent_dim_ordinate_get_flag2 (const dwg_ent_dim_ordinate *restrict ord,
3272                                 int *restrict error)
3273     __nonnull ((2)) _deprecated_dynapi_getter;
3274 
3275 /********************************************************************
3276  *              FUNCTIONS FOR LINEAR DIMENSION ENTITY                *
3277  ********************************************************************/
3278 
3279 EXPORT void dwg_ent_dim_linear_set_def_pt (dwg_ent_dim_linear *restrict dim,
3280                                            const dwg_point_3d *restrict point,
3281                                            int *restrict error)
3282     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3283 
3284 EXPORT void dwg_ent_dim_linear_get_def_pt (
3285     const dwg_ent_dim_linear *restrict dim, dwg_point_3d *restrict point,
3286     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3287 
3288 EXPORT void dwg_ent_dim_linear_set_13_pt (dwg_ent_dim_linear *restrict dim,
3289                                           const dwg_point_3d *restrict point,
3290                                           int *restrict error)
3291     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3292 
3293 EXPORT void dwg_ent_dim_linear_get_13_pt (
3294     const dwg_ent_dim_linear *restrict dim, dwg_point_3d *restrict point,
3295     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3296 
3297 EXPORT void dwg_ent_dim_linear_set_14_pt (dwg_ent_dim_linear *restrict dim,
3298                                           const dwg_point_3d *restrict point,
3299                                           int *restrict error)
3300     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3301 
3302 EXPORT void dwg_ent_dim_linear_get_14_pt (
3303     const dwg_ent_dim_linear *restrict dim, dwg_point_3d *restrict point,
3304     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3305 
3306 EXPORT double
3307 dwg_ent_dim_linear_get_dim_rotation (const dwg_ent_dim_linear *restrict dim,
3308                                      int *restrict error)
3309     __nonnull ((2)) _deprecated_dynapi_getter;
3310 
3311 EXPORT void
3312 dwg_ent_dim_linear_set_dim_rotation (dwg_ent_dim_linear *restrict dim,
3313                                      const double rot, int *restrict error)
3314     __nonnull ((3)) _deprecated_dynapi_setter;
3315 
3316 EXPORT double dwg_ent_dim_linear_get_ext_line_rotation (
3317     const dwg_ent_dim_linear *restrict dim, int *restrict error)
3318     __nonnull ((2)) _deprecated_dynapi_getter;
3319 
3320 EXPORT void dwg_ent_dim_linear_set_ext_line_rotation (
3321     dwg_ent_dim_linear *restrict dim, const double rot, int *restrict error)
3322     __nonnull ((3)) _deprecated_dynapi_setter;
3323 
3324 /********************************************************************
3325  *             FUNCTIONS FOR ALIGNED DIMENSION ENTITY                *
3326  ********************************************************************/
3327 
3328 EXPORT void dwg_ent_dim_aligned_set_def_pt (dwg_ent_dim_aligned *restrict dim,
3329                                             const dwg_point_3d *restrict point,
3330                                             int *restrict error)
3331     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3332 
3333 EXPORT void dwg_ent_dim_aligned_get_def_pt (
3334     const dwg_ent_dim_aligned *restrict dim, dwg_point_3d *restrict point,
3335     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3336 
3337 EXPORT void dwg_ent_dim_aligned_set_13_pt (dwg_ent_dim_aligned *restrict dim,
3338                                            const dwg_point_3d *restrict point,
3339                                            int *restrict error)
3340     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3341 
3342 EXPORT void dwg_ent_dim_aligned_get_13_pt (
3343     const dwg_ent_dim_aligned *restrict dim, dwg_point_3d *restrict point,
3344     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3345 
3346 EXPORT void dwg_ent_dim_aligned_set_14_pt (dwg_ent_dim_aligned *restrict dim,
3347                                            const dwg_point_3d *restrict point,
3348                                            int *restrict error)
3349     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3350 
3351 EXPORT void dwg_ent_dim_aligned_get_14_pt (
3352     const dwg_ent_dim_aligned *restrict dim, dwg_point_3d *restrict point,
3353     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3354 
3355 EXPORT double dwg_ent_dim_aligned_get_ext_line_rotation (
3356     const dwg_ent_dim_aligned *restrict dim, int *restrict error)
3357     __nonnull ((2)) _deprecated_dynapi_getter;
3358 
3359 EXPORT void dwg_ent_dim_aligned_set_ext_line_rotation (
3360     dwg_ent_dim_aligned *restrict dim, const double rot, int *restrict error)
3361     __nonnull ((3)) _deprecated_dynapi_setter;
3362 
3363 /********************************************************************
3364  *              FUNCTIONS FOR ANG3PT DIMENSION ENTITY                *
3365  ********************************************************************/
3366 
3367 EXPORT void dwg_ent_dim_ang3pt_set_def_pt (dwg_ent_dim_ang3pt *restrict ang,
3368                                            const dwg_point_3d *restrict point,
3369                                            int *restrict error)
3370     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3371 
3372 EXPORT void dwg_ent_dim_ang3pt_get_def_pt (
3373     const dwg_ent_dim_ang3pt *restrict ang, dwg_point_3d *restrict point,
3374     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3375 
3376 EXPORT void dwg_ent_dim_ang3pt_set_13_pt (dwg_ent_dim_ang3pt *restrict ang,
3377                                           const dwg_point_3d *restrict point,
3378                                           int *restrict error)
3379     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3380 
3381 EXPORT void dwg_ent_dim_ang3pt_get_13_pt (
3382     const dwg_ent_dim_ang3pt *restrict ang, dwg_point_3d *restrict point,
3383     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3384 
3385 EXPORT void dwg_ent_dim_ang3pt_set_14_pt (dwg_ent_dim_ang3pt *restrict ang,
3386                                           const dwg_point_3d *restrict point,
3387                                           int *restrict error)
3388     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3389 
3390 EXPORT void dwg_ent_dim_ang3pt_get_14_pt (
3391     const dwg_ent_dim_ang3pt *restrict ang, dwg_point_3d *restrict point,
3392     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3393 
3394 EXPORT void dwg_ent_dim_ang3pt_set_first_arc_pt (
3395     dwg_ent_dim_ang3pt *restrict ang, const dwg_point_3d *restrict point,
3396     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3397 
3398 EXPORT void dwg_ent_dim_ang3pt_get_first_arc_pt (
3399     const dwg_ent_dim_ang3pt *restrict ang, dwg_point_3d *restrict point,
3400     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3401 
3402 /********************************************************************
3403  *              FUNCTIONS FOR ANG2LN DIMENSION ENTITY                *
3404  ********************************************************************/
3405 
3406 EXPORT void dwg_ent_dim_ang2ln_set_def_pt (dwg_ent_dim_ang2ln *restrict ang,
3407                                            const dwg_point_3d *restrict point,
3408                                            int *restrict error)
3409     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3410 
3411 EXPORT void dwg_ent_dim_ang2ln_get_def_pt (
3412     const dwg_ent_dim_ang2ln *restrict ang, dwg_point_3d *restrict point,
3413     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3414 
3415 EXPORT void dwg_ent_dim_ang2ln_set_13_pt (dwg_ent_dim_ang2ln *restrict ang,
3416                                           const dwg_point_3d *restrict point,
3417                                           int *restrict error)
3418     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3419 
3420 EXPORT void dwg_ent_dim_ang2ln_get_13_pt (
3421     const dwg_ent_dim_ang2ln *restrict ang, dwg_point_3d *restrict point,
3422     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3423 
3424 EXPORT void dwg_ent_dim_ang2ln_set_14_pt (dwg_ent_dim_ang2ln *restrict ang,
3425                                           const dwg_point_3d *restrict point,
3426                                           int *restrict error)
3427     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3428 
3429 EXPORT void dwg_ent_dim_ang2ln_get_14_pt (
3430     const dwg_ent_dim_ang2ln *restrict ang, dwg_point_3d *restrict point,
3431     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3432 
3433 EXPORT void dwg_ent_dim_ang2ln_set_first_arc_pt (
3434     dwg_ent_dim_ang2ln *restrict ang, const dwg_point_3d *restrict point,
3435     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3436 
3437 EXPORT void dwg_ent_dim_ang2ln_get_first_arc_pt (
3438     const dwg_ent_dim_ang2ln *restrict ang, dwg_point_3d *restrict point,
3439     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3440 
3441 EXPORT void dwg_ent_dim_ang2ln_set_16_pt (dwg_ent_dim_ang2ln *restrict ang,
3442                                           const dwg_point_3d *restrict point,
3443                                           int *restrict error)
3444     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3445 
3446 EXPORT void dwg_ent_dim_ang2ln_get_16_pt (
3447     const dwg_ent_dim_ang2ln *restrict ang, dwg_point_3d *restrict point,
3448     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3449 
3450 /********************************************************************
3451  *              FUNCTIONS FOR RADIUS DIMENSION ENTITY                *
3452  ********************************************************************/
3453 
3454 EXPORT void dwg_ent_dim_radius_set_def_pt (dwg_ent_dim_radius *restrict radius,
3455                                            const dwg_point_3d *restrict point,
3456                                            int *restrict error)
3457     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3458 
3459 EXPORT void dwg_ent_dim_radius_get_def_pt (
3460     const dwg_ent_dim_radius *restrict radius, dwg_point_3d *restrict point,
3461     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3462 
3463 EXPORT void dwg_ent_dim_radius_set_first_arc_pt (
3464     dwg_ent_dim_radius *restrict radius, const dwg_point_3d *restrict point,
3465     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3466 
3467 EXPORT void dwg_ent_dim_radius_get_first_arc_pt (
3468     const dwg_ent_dim_radius *restrict radius, dwg_point_3d *restrict point,
3469     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3470 
3471 EXPORT double dwg_ent_dim_radius_get_leader_length (
3472     const dwg_ent_dim_radius *restrict radius, int *restrict error)
3473     __nonnull ((2)) _deprecated_dynapi_getter;
3474 
3475 EXPORT void
3476 dwg_ent_dim_radius_set_leader_length (dwg_ent_dim_radius *restrict radius,
3477                                       const double length, int *restrict error)
3478     __nonnull ((3)) _deprecated_dynapi_setter;
3479 
3480 /********************************************************************
3481  *             FUNCTIONS FOR DIAMETER DIMENSION ENTITY               *
3482  ********************************************************************/
3483 
3484 EXPORT void dwg_ent_dim_diameter_set_def_pt (
3485     dwg_ent_dim_diameter *restrict dia, const dwg_point_3d *restrict point,
3486     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3487 
3488 EXPORT void dwg_ent_dim_diameter_get_def_pt (
3489     const dwg_ent_dim_diameter *restrict dia, dwg_point_3d *restrict point,
3490     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3491 
3492 EXPORT void dwg_ent_dim_diameter_set_first_arc_pt (
3493     dwg_ent_dim_diameter *restrict dia, const dwg_point_3d *restrict point,
3494     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3495 
3496 EXPORT void dwg_ent_dim_diameter_get_first_arc_pt (
3497     const dwg_ent_dim_diameter *restrict dia, dwg_point_3d *restrict point,
3498     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3499 
3500 EXPORT double dwg_ent_dim_diameter_get_leader_length (
3501     const dwg_ent_dim_diameter *restrict dia, int *restrict error)
3502     __nonnull ((2)) _deprecated_dynapi_getter;
3503 
3504 EXPORT void dwg_ent_dim_diameter_set_leader_length (
3505     dwg_ent_dim_diameter *restrict dia, const double leader_len,
3506     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
3507 
3508 /********************************************************************
3509  *                   FUNCTIONS FOR ENDBLK ENTITY                     *
3510  ********************************************************************/
3511 
3512 /********************************************************************
3513  *                   FUNCTIONS FOR SEQEND ENTITY                     *
3514  ********************************************************************/
3515 
3516 /********************************************************************
3517  *                    FUNCTIONS FOR SHAPE ENTITY                     *
3518  ********************************************************************/
3519 
3520 EXPORT void dwg_ent_shape_get_ins_pt (const dwg_ent_shape *restrict shape,
3521                                       dwg_point_3d *restrict point,
3522                                       int *restrict error)
3523     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3524 
3525 EXPORT void dwg_ent_shape_set_ins_pt (dwg_ent_shape *restrict shape,
3526                                       const dwg_point_3d *restrict point,
3527                                       int *restrict error)
3528     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3529 
3530 EXPORT double dwg_ent_shape_get_scale (const dwg_ent_shape *restrict shape,
3531                                        int *restrict error)
3532     __nonnull ((2)) _deprecated_dynapi_getter;
3533 
3534 EXPORT void dwg_ent_shape_set_scale (dwg_ent_shape *restrict shape,
3535                                      const double scale, int *restrict error)
3536     __nonnull ((3)) _deprecated_dynapi_setter;
3537 
3538 EXPORT double dwg_ent_shape_get_rotation (const dwg_ent_shape *restrict shape,
3539                                           int *restrict error)
3540     __nonnull ((2)) _deprecated_dynapi_getter;
3541 
3542 EXPORT void dwg_ent_shape_set_rotation (dwg_ent_shape *restrict shape,
3543                                         const double rotation,
3544                                         int *restrict error)
3545     __nonnull ((3)) _deprecated_dynapi_setter;
3546 
3547 EXPORT double
3548 dwg_ent_shape_get_width_factor (const dwg_ent_shape *restrict shape,
3549                                 int *restrict error)
3550     __nonnull ((2)) _deprecated_dynapi_getter;
3551 
3552 EXPORT void dwg_ent_shape_set_width_factor (dwg_ent_shape *restrict shape,
3553                                             const double width_factor,
3554                                             int *restrict error)
3555     __nonnull ((3)) _deprecated_dynapi_setter;
3556 
3557 EXPORT double dwg_ent_shape_get_oblique (const dwg_ent_shape *restrict shape,
3558                                          int *restrict error)
3559     __nonnull ((2)) _deprecated_dynapi_getter;
3560 
3561 EXPORT void dwg_ent_shape_set_oblique (dwg_ent_shape *restrict shape,
3562                                        const double oblique,
3563                                        int *restrict error)
3564     __nonnull ((3)) _deprecated_dynapi_setter;
3565 
3566 EXPORT double dwg_ent_shape_get_thickness (const dwg_ent_shape *restrict shape,
3567                                            int *restrict error)
3568     __nonnull ((2)) _deprecated_dynapi_getter;
3569 
3570 EXPORT void dwg_ent_shape_set_thickness (dwg_ent_shape *restrict shape,
3571                                          const double thickness,
3572                                          int *restrict error)
3573     __nonnull ((3)) _deprecated_dynapi_setter;
3574 
3575 EXPORT BITCODE_BS dwg_ent_shape_get_shape_no (const dwg_ent_shape *restrict shape,
3576                                               int *restrict error)
3577     __nonnull ((2)) _deprecated_dynapi_getter;
3578 
3579 EXPORT void dwg_ent_shape_set_shape_no (dwg_ent_shape *restrict shape,
3580                                         const BITCODE_BS id, int *restrict error)
3581     __nonnull ((3)) _deprecated_dynapi_setter;
3582 
3583 EXPORT BITCODE_BS dwg_ent_shape_get_style_id (const dwg_ent_shape *restrict shape,
3584                                               int *restrict error)
3585     __nonnull ((2)) _deprecated_dynapi_getter;
3586 
3587 EXPORT void dwg_ent_shape_set_style_id (dwg_ent_shape *restrict shape,
3588                                         const BITCODE_BS id, int *restrict error)
3589     __nonnull ((3)) _deprecated_dynapi_setter;
3590 
3591 EXPORT void dwg_ent_shape_get_extrusion (const dwg_ent_shape *restrict shape,
3592                                          dwg_point_3d *restrict vector,
3593                                          int *restrict error)
3594     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3595 
3596 EXPORT void dwg_ent_shape_set_extrusion (dwg_ent_shape *restrict shape,
3597                                          const dwg_point_3d *restrict vector,
3598                                          int *restrict error)
3599     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3600 
3601 /********************************************************************
3602  *                    FUNCTIONS FOR MTEXT ENTITY                     *
3603  ********************************************************************/
3604 
3605 EXPORT void dwg_ent_mtext_set_insertion_pt (dwg_ent_mtext *restrict mtext,
3606                                             const dwg_point_3d *restrict point,
3607                                             int *restrict error)
3608     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3609 
3610 EXPORT void dwg_ent_mtext_get_insertion_pt (
3611     const dwg_ent_mtext *restrict mtext, dwg_point_3d *restrict point,
3612     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3613 
3614 EXPORT void dwg_ent_mtext_set_extrusion (dwg_ent_mtext *restrict mtext,
3615                                          const dwg_point_3d *restrict vector,
3616                                          int *restrict error)
3617     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3618 
3619 EXPORT void dwg_ent_mtext_get_extrusion (const dwg_ent_mtext *restrict mtext,
3620                                          dwg_point_3d *restrict vector,
3621                                          int *restrict error)
3622     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3623 
3624 EXPORT void dwg_ent_mtext_set_x_axis_dir (dwg_ent_mtext *restrict mtext,
3625                                           const dwg_point_3d *restrict point,
3626                                           int *restrict error)
3627     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3628 
3629 EXPORT void dwg_ent_mtext_get_x_axis_dir (const dwg_ent_mtext *restrict mtext,
3630                                           dwg_point_3d *restrict point,
3631                                           int *restrict error)
3632     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3633 
3634 EXPORT void dwg_ent_mtext_set_rect_height (dwg_ent_mtext *restrict mtext,
3635                                            const double rect_height,
3636                                            int *restrict error)
3637     __nonnull ((3)) _deprecated_dynapi_setter;
3638 
3639 EXPORT double
3640 dwg_ent_mtext_get_rect_height (const dwg_ent_mtext *restrict mtext,
3641                                int *restrict error)
3642     __nonnull ((2)) _deprecated_dynapi_getter;
3643 
3644 EXPORT void dwg_ent_mtext_set_rect_width (dwg_ent_mtext *restrict mtext,
3645                                           const double rect_width,
3646                                           int *restrict error)
3647     __nonnull ((3)) _deprecated_dynapi_setter;
3648 
3649 EXPORT double
3650 dwg_ent_mtext_get_rect_width (const dwg_ent_mtext *restrict mtext,
3651                               int *restrict error)
3652     __nonnull ((2)) _deprecated_dynapi_getter;
3653 
3654 EXPORT void dwg_ent_mtext_set_text_height (dwg_ent_mtext *restrict mtext,
3655                                            const double text_height,
3656                                            int *restrict error)
3657     __nonnull ((3)) _deprecated_dynapi_setter;
3658 
3659 EXPORT double
3660 dwg_ent_mtext_get_text_height (const dwg_ent_mtext *restrict mtext,
3661                                int *restrict error)
3662     __nonnull ((2)) _deprecated_dynapi_getter;
3663 
3664 EXPORT BITCODE_BS dwg_ent_mtext_get_attachment (
3665     const dwg_ent_mtext *restrict mtext, int *restrict error)
3666     __nonnull ((2)) _deprecated_dynapi_getter;
3667 
3668 EXPORT void dwg_ent_mtext_set_attachment (dwg_ent_mtext *restrict mtext,
3669                                           const BITCODE_BS attachment,
3670                                           int *restrict error)
3671     __nonnull ((3)) _deprecated_dynapi_setter;
3672 
3673 EXPORT BITCODE_BS dwg_ent_mtext_get_drawing_dir (
3674     const dwg_ent_mtext *restrict mtext, int *restrict error)
3675     __nonnull ((2)) _deprecated_dynapi_getter;
3676 
3677 EXPORT void dwg_ent_mtext_set_drawing_dir (dwg_ent_mtext *restrict mtext,
3678                                            const BITCODE_BS dir,
3679                                            int *restrict error)
3680     __nonnull ((3)) _deprecated_dynapi_setter;
3681 
3682 EXPORT double
3683 dwg_ent_mtext_get_extents_height (const dwg_ent_mtext *restrict mtext,
3684                                   int *restrict error)
3685     __nonnull ((2)) _deprecated_dynapi_getter;
3686 
3687 EXPORT void dwg_ent_mtext_set_extents_height (dwg_ent_mtext *restrict mtext,
3688                                               const double ht,
3689                                               int *restrict error)
3690     __nonnull ((3)) _deprecated_dynapi_setter;
3691 
3692 EXPORT double
3693 dwg_ent_mtext_get_extents_width (const dwg_ent_mtext *restrict mtext,
3694                                  int *restrict error)
3695     __nonnull ((2)) _deprecated_dynapi_getter;
3696 EXPORT void dwg_ent_mtext_set_extents_width (dwg_ent_mtext *restrict mtext,
3697                                              const double wid,
3698                                              int *restrict error)
3699     __nonnull ((3)) _deprecated_dynapi_setter;
3700 
3701 /* (utf-8 encoded) */
3702 EXPORT char *dwg_ent_mtext_get_text (const dwg_ent_mtext *restrict mtext,
3703                                      int *restrict error)
3704     __nonnull ((2)) _deprecated_dynapi_getter;
3705 
3706 EXPORT void dwg_ent_mtext_set_text (dwg_ent_mtext *restrict mtext, char *text,
3707                                     int *restrict error)
3708     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3709 
3710 EXPORT BITCODE_BS dwg_ent_mtext_get_linespace_style (
3711     const dwg_ent_mtext *restrict mtext, int *restrict error)
3712     __nonnull ((2)) _deprecated_dynapi_getter;
3713 
3714 EXPORT void dwg_ent_mtext_set_linespace_style (dwg_ent_mtext *restrict mtext,
3715                                                const BITCODE_BS style,
3716                                                int *restrict error)
3717     __nonnull ((3)) _deprecated_dynapi_setter;
3718 
3719 EXPORT double
3720 dwg_ent_mtext_get_linespace_factor (const dwg_ent_mtext *restrict mtext,
3721                                     int *restrict error)
3722     __nonnull ((2)) _deprecated_dynapi_getter;
3723 
3724 EXPORT void dwg_ent_mtext_set_linespace_factor (dwg_ent_mtext *restrict mtext,
3725                                                 const double factor,
3726                                                 int *restrict error)
3727     __nonnull ((3)) _deprecated_dynapi_setter;
3728 
3729 /********************************************************************
3730  *                   FUNCTIONS FOR LEADER ENTITY                     *
3731  ********************************************************************/
3732 
3733 EXPORT void dwg_ent_leader_set_annot_type (dwg_ent_leader *restrict leader,
3734                                            const BITCODE_BS type,
3735                                            int *restrict error)
3736     __nonnull ((3)) _deprecated_dynapi_setter;
3737 
3738 EXPORT BITCODE_BS dwg_ent_leader_get_annot_type (
3739     const dwg_ent_leader *restrict leader, int *restrict error)
3740     __nonnull ((2)) _deprecated_dynapi_getter;
3741 
3742 EXPORT void dwg_ent_leader_set_path_type (dwg_ent_leader *restrict leader,
3743                                           const BITCODE_BS type,
3744                                           int *restrict error)
3745     __nonnull ((3)) _deprecated_dynapi_setter;
3746 
3747 EXPORT BITCODE_BS dwg_ent_leader_get_path_type (
3748     const dwg_ent_leader *restrict leader, int *restrict error)
3749     __nonnull ((2)) _deprecated_dynapi_getter;
3750 
3751 EXPORT BITCODE_BL dwg_ent_leader_get_num_points (
3752     const dwg_ent_leader *restrict leader, int *restrict error)
3753     __nonnull ((2)) _deprecated_dynapi_getter;
3754 
3755 EXPORT void dwg_ent_leader_set_origin (dwg_ent_leader *restrict leader,
3756                                        const dwg_point_3d *restrict point,
3757                                        int *restrict error)
3758     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3759 
3760 EXPORT void dwg_ent_leader_get_origin (const dwg_ent_leader *restrict leader,
3761                                        dwg_point_3d *restrict point,
3762                                        int *restrict error)
3763     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3764 
3765 EXPORT void dwg_ent_leader_set_extrusion (dwg_ent_leader *restrict leader,
3766                                           const dwg_point_3d *restrict vector,
3767                                           int *restrict error)
3768     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3769 
3770 EXPORT void dwg_ent_leader_get_extrusion (
3771     const dwg_ent_leader *restrict leader, dwg_point_3d *restrict vector,
3772     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3773 
3774 EXPORT void dwg_ent_leader_set_x_direction (
3775     dwg_ent_leader *restrict leader, const dwg_point_3d *restrict vector,
3776     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3777 
3778 EXPORT void dwg_ent_leader_get_x_direction (
3779     const dwg_ent_leader *restrict leader, dwg_point_3d *restrict vector,
3780     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3781 
3782 EXPORT void dwg_ent_leader_set_inspt_offset (
3783     dwg_ent_leader *restrict leader, const dwg_point_3d *restrict point,
3784     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3785 
3786 EXPORT void dwg_ent_leader_get_inspt_offset (
3787     const dwg_ent_leader *restrict leader, dwg_point_3d *restrict point,
3788     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3789 
3790 EXPORT void dwg_ent_leader_set_dimgap (dwg_ent_leader *restrict leader,
3791                                        const double dimgap,
3792                                        int *restrict error)
3793     __nonnull ((3)) _deprecated_dynapi_setter;
3794 
3795 EXPORT double dwg_ent_leader_get_dimgap (const dwg_ent_leader *restrict leader,
3796                                          int *restrict error)
3797     __nonnull ((2)) _deprecated_dynapi_getter;
3798 
3799 EXPORT void dwg_ent_leader_set_box_height (dwg_ent_leader *restrict leader,
3800                                            const double height,
3801                                            int *restrict error)
3802     __nonnull ((3)) _deprecated_dynapi_setter;
3803 
3804 EXPORT double
3805 dwg_ent_leader_get_box_height (const dwg_ent_leader *restrict leader,
3806                                int *restrict error)
3807     __nonnull ((2)) _deprecated_dynapi_getter;
3808 
3809 EXPORT void dwg_ent_leader_set_box_width (dwg_ent_leader *restrict leader,
3810                                           const double width,
3811                                           int *restrict error)
3812     __nonnull ((3)) _deprecated_dynapi_setter;
3813 
3814 EXPORT double
3815 dwg_ent_leader_get_box_width (const dwg_ent_leader *restrict leader,
3816                               int *restrict error)
3817     __nonnull ((2)) _deprecated_dynapi_getter;
3818 
3819 EXPORT void dwg_ent_leader_set_hookline_dir (dwg_ent_leader *restrict leader,
3820                                              const char dir,
3821                                              int *restrict error)
3822     __nonnull ((3)) _deprecated_dynapi_setter;
3823 
3824 EXPORT char
3825 dwg_ent_leader_get_hookline_dir (const dwg_ent_leader *restrict leader,
3826                                  int *restrict error)
3827     __nonnull ((2)) _deprecated_dynapi_getter;
3828 
3829 EXPORT void dwg_ent_leader_set_arrowhead_on (dwg_ent_leader *restrict leader,
3830                                              const char arrow,
3831                                              int *restrict error)
3832     __nonnull ((3)) _deprecated_dynapi_setter;
3833 
3834 EXPORT char
3835 dwg_ent_leader_get_arrowhead_on (const dwg_ent_leader *restrict leader,
3836                                  int *restrict error)
3837     __nonnull ((2)) _deprecated_dynapi_getter;
3838 
3839 EXPORT void dwg_ent_leader_set_arrowhead_type (dwg_ent_leader *restrict leader,
3840                                                const BITCODE_BS type,
3841                                                int *restrict error)
3842     __nonnull ((3)) _deprecated_dynapi_setter;
3843 
3844 EXPORT BITCODE_BS dwg_ent_leader_get_arrowhead_type (
3845     const dwg_ent_leader *restrict leader, int *restrict error)
3846     __nonnull ((2)) _deprecated_dynapi_getter;
3847 
3848 EXPORT void dwg_ent_leader_set_dimasz (dwg_ent_leader *restrict leader,
3849                                        const double dimasz,
3850                                        int *restrict error)
3851     __nonnull ((3)) _deprecated_dynapi_setter;
3852 
3853 EXPORT double dwg_ent_leader_get_dimasz (const dwg_ent_leader *restrict leader,
3854                                          int *restrict error)
3855     __nonnull ((2)) _deprecated_dynapi_getter;
3856 
3857 EXPORT void dwg_ent_leader_set_byblock_color (dwg_ent_leader *restrict leader,
3858                                               const BITCODE_BS color,
3859                                               int *restrict error)
3860     __nonnull ((3)) _deprecated_dynapi_setter;
3861 
3862 EXPORT BITCODE_BS dwg_ent_leader_get_byblock_color (
3863     const dwg_ent_leader *restrict leader, int *restrict error)
3864     __nonnull ((2)) _deprecated_dynapi_getter;
3865 
3866 /********************************************************************
3867  *                  FUNCTIONS FOR TOLERANCE ENTITY                   *
3868  ********************************************************************/
3869 
3870 EXPORT void dwg_ent_tolerance_set_height (dwg_ent_tolerance *restrict tol,
3871                                           const double height,
3872                                           int *restrict error)
3873     __nonnull ((3)) _deprecated_dynapi_setter;
3874 
3875 EXPORT double
3876 dwg_ent_tolerance_get_height (const dwg_ent_tolerance *restrict tol,
3877                               int *restrict error)
3878     __nonnull ((2)) _deprecated_dynapi_getter;
3879 
3880 EXPORT void dwg_ent_tolerance_set_dimgap (dwg_ent_tolerance *restrict tol,
3881                                           const double dimgap,
3882                                           int *restrict error)
3883     __nonnull ((3)) _deprecated_dynapi_setter;
3884 
3885 EXPORT double
3886 dwg_ent_tolerance_get_dimgap (const dwg_ent_tolerance *restrict tol,
3887                               int *restrict error)
3888     __nonnull ((2)) _deprecated_dynapi_getter;
3889 
3890 EXPORT void dwg_ent_tolerance_set_ins_pt (dwg_ent_tolerance *restrict tol,
3891                                           const dwg_point_3d *restrict point,
3892                                           int *restrict error)
3893     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3894 
3895 EXPORT void dwg_ent_tolerance_get_ins_pt (
3896     const dwg_ent_tolerance *restrict tol, dwg_point_3d *restrict point,
3897     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3898 
3899 EXPORT void dwg_ent_tolerance_set_x_direction (
3900     dwg_ent_tolerance *restrict tol, const dwg_point_3d *restrict point,
3901     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3902 
3903 EXPORT void dwg_ent_tolerance_get_x_direction (
3904     const dwg_ent_tolerance *restrict tol, dwg_point_3d *restrict point,
3905     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3906 
3907 EXPORT void dwg_ent_tolerance_set_extrusion (
3908     dwg_ent_tolerance *restrict tol, const dwg_point_3d *restrict vector,
3909     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
3910 
3911 EXPORT void dwg_ent_tolerance_get_extrusion (
3912     const dwg_ent_tolerance *restrict tol, dwg_point_3d *restrict vector,
3913     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
3914 
3915 /* (utf-8 encoded) */
3916 EXPORT void dwg_ent_tolerance_set_text_string (dwg_ent_tolerance *restrict tol,
3917                                                const char *string,
3918                                                int *restrict error)
3919     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3920 
3921 EXPORT char *
3922 dwg_ent_tolerance_get_text_string (const dwg_ent_tolerance *restrict tol,
3923                                    int *restrict error)
3924     __nonnull ((2)) _deprecated_dynapi_getter;
3925 
3926 /********************************************************************
3927  *                   FUNCTIONS FOR LWPOLYLINE ENTITY                    *
3928  ********************************************************************/
3929 
3930 EXPORT BITCODE_BS dwg_ent_lwpline_get_flag (
3931     const dwg_ent_lwpline *restrict lwpline, int *restrict error)
3932     __nonnull ((2)) _deprecated_dynapi_getter;
3933 
3934 EXPORT void dwg_ent_lwpline_set_flag (dwg_ent_lwpline *restrict lwpline,
3935                                       const char flags, int *restrict error)
3936     __nonnull ((3)) _deprecated_dynapi_setter;
3937 
3938 EXPORT double
3939 dwg_ent_lwpline_get_const_width (const dwg_ent_lwpline *restrict lwpline,
3940                                  int *restrict error)
3941     __nonnull ((2)) _deprecated_dynapi_getter;
3942 
3943 EXPORT void dwg_ent_lwpline_set_const_width (dwg_ent_lwpline *restrict lwpline,
3944                                              const double const_width,
3945                                              int *restrict error)
3946     __nonnull ((3)) _deprecated_dynapi_setter;
3947 
3948 EXPORT double
3949 dwg_ent_lwpline_get_elevation (const dwg_ent_lwpline *restrict lwpline,
3950                                int *restrict error)
3951     __nonnull ((2)) _deprecated_dynapi_getter;
3952 
3953 EXPORT void dwg_ent_lwpline_set_elevation (dwg_ent_lwpline *restrict lwpline,
3954                                            const double elevation,
3955                                            int *restrict error)
3956     __nonnull ((3)) _deprecated_dynapi_setter;
3957 
3958 EXPORT double
3959 dwg_ent_lwpline_get_thickness (const dwg_ent_lwpline *restrict lwpline,
3960                                int *restrict error)
3961     __nonnull ((2)) _deprecated_dynapi_getter;
3962 
3963 EXPORT void dwg_ent_lwpline_set_thickness (dwg_ent_lwpline *restrict lwpline,
3964                                            const double thickness,
3965                                            int *restrict error)
3966     __nonnull ((3)) _deprecated_dynapi_setter;
3967 
3968 EXPORT void
3969 dwg_ent_lwpline_get_extrusion (const dwg_ent_lwpline *restrict lwpline,
3970                                dwg_point_3d *points, int *restrict error)
3971     __nonnull ((2, 3)) _deprecated_dynapi_getter;
3972 EXPORT void dwg_ent_lwpline_set_extrusion (dwg_ent_lwpline *restrict lwpline,
3973                                            const dwg_point_3d *points,
3974                                            int *restrict error)
3975     __nonnull ((2, 3)) _deprecated_dynapi_setter;
3976 
3977 EXPORT BITCODE_BL dwg_ent_lwpline_get_numbulges (
3978     const dwg_ent_lwpline *restrict lwpline, int *restrict error)
3979     __nonnull ((2)) _deprecated_dynapi_getter;
3980 
3981 EXPORT BITCODE_BL dwg_ent_lwpline_get_numwidths (
3982     const dwg_ent_lwpline *restrict lwpline, int *restrict error)
3983     __nonnull ((2)) _deprecated_dynapi_getter;
3984 
3985 /********************************************************************
3986  *                  FUNCTIONS FOR OLE2FRAME ENTITY                   *
3987  ********************************************************************/
3988 
3989 EXPORT BITCODE_BS dwg_ent_ole2frame_get_type (
3990     const dwg_ent_ole2frame *restrict frame, int *restrict error)
3991     __nonnull ((2)) _deprecated_dynapi_getter;
3992 
3993 EXPORT void
3994 dwg_ent_ole2frame_set_type (dwg_ent_ole2frame *restrict frame,
3995                             const BITCODE_BS type, int *restrict error)
3996     __nonnull ((3)) _deprecated_dynapi_setter;
3997 
3998 EXPORT BITCODE_BS dwg_ent_ole2frame_get_mode (
3999     const dwg_ent_ole2frame *restrict frame, int *restrict error)
4000     __nonnull ((2)) _deprecated_dynapi_getter;
4001 
4002 EXPORT void dwg_ent_ole2frame_set_mode (dwg_ent_ole2frame *restrict frame,
4003                                         const BITCODE_BS mode,
4004                                         int *restrict error)
4005     __nonnull ((3)) _deprecated_dynapi_setter;
4006 
4007 EXPORT BITCODE_BL dwg_ent_ole2frame_get_data_size (
4008     const dwg_ent_ole2frame *restrict frame, int *restrict error)
4009     __nonnull ((2)) _deprecated_dynapi_getter;
4010 
4011 // backcompat API
4012 #define dwg_ent_ole2frame_get_data_length(a, b) dwg_ent_ole2frame_get_data_size (a, b)
4013 
4014 EXPORT BITCODE_TF
4015 dwg_ent_ole2frame_get_data (const dwg_ent_ole2frame *restrict frame,
4016                             int *restrict error)
4017     __nonnull ((2)) _deprecated_dynapi_getter;
4018 
4019 EXPORT void dwg_ent_ole2frame_set_data (dwg_ent_ole2frame *restrict frame,
4020                                         const BITCODE_TF restrict data,
4021                                         const BITCODE_BL data_length,
4022                                         int *restrict error)
4023     __nonnull ((4)) _deprecated_dynapi_setter;
4024 
4025 /********************************************************************
4026  *                  FUNCTIONS FOR PROXY OBJECT                       *
4027  ********************************************************************/
4028 
4029 EXPORT BITCODE_BL dwg_obj_proxy_get_class_id (
4030     const dwg_obj_proxy *restrict proxy, int *restrict error)
4031     __nonnull ((2)) _deprecated_dynapi_getter;
4032 
4033 EXPORT void dwg_obj_proxy_set_class_id (dwg_obj_proxy *restrict proxy,
4034                                         const BITCODE_BL class_id,
4035                                         int *restrict error)
4036     __nonnull ((3)) _deprecated_dynapi_setter;
4037 
4038 EXPORT BITCODE_BL dwg_obj_proxy_get_version (
4039     const dwg_obj_proxy *restrict proxy, int *restrict error)
4040     __nonnull ((2)) _deprecated_dynapi_getter;
4041 
4042 EXPORT void dwg_obj_proxy_set_version (dwg_obj_proxy *restrict proxy,
4043                                        const BITCODE_BL version,
4044                                        int *restrict error)
4045     __nonnull ((3)) _deprecated_dynapi_setter;
4046 
4047 EXPORT BITCODE_B dwg_obj_proxy_get_from_dxf (
4048     const dwg_obj_proxy *restrict proxy, int *restrict error)
4049     __nonnull ((2)) _deprecated_dynapi_getter;
4050 
4051 EXPORT void dwg_obj_proxy_set_from_dxf (dwg_obj_proxy *restrict proxy,
4052                                         const BITCODE_B from_dxf,
4053                                         int *restrict error)
4054     __nonnull ((3)) _deprecated_dynapi_setter;
4055 
4056 EXPORT BITCODE_RC* dwg_obj_proxy_get_data (const dwg_obj_proxy *restrict proxy,
4057                                      int *restrict error)
4058     __nonnull ((2)) _deprecated_dynapi_getter;
4059 
4060 EXPORT void dwg_obj_proxy_set_data (dwg_obj_proxy *restrict proxy,
4061                                     const BITCODE_RC* data, int *restrict error)
4062     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4063 
4064 EXPORT dwg_object_ref **
4065 dwg_obj_proxy_get_objids (const dwg_obj_proxy *restrict proxy,
4066                           int *restrict error)
4067     __nonnull ((2)) _deprecated_dynapi_getter;
4068 
4069 /********************************************************************
4070  *                   FUNCTIONS FOR SPLINE ENTITY                     *
4071  ********************************************************************/
4072 
4073 EXPORT BITCODE_BS dwg_ent_spline_get_scenario (
4074     const dwg_ent_spline *restrict spline, int *restrict error)
4075     __nonnull ((2)) _deprecated_dynapi_getter;
4076 
4077 EXPORT void dwg_ent_spline_set_scenario (dwg_ent_spline *restrict spline,
4078                                          const BITCODE_BS scenario,
4079                                          int *restrict error)
4080     __nonnull ((3)) _deprecated_dynapi_setter;
4081 
4082 EXPORT BITCODE_BS dwg_ent_spline_get_degree (
4083     const dwg_ent_spline *restrict spline, int *restrict error)
4084     __nonnull ((2)) _deprecated_dynapi_getter;
4085 
4086 EXPORT void dwg_ent_spline_set_degree (dwg_ent_spline *restrict spline,
4087                                        const BITCODE_BS degree,
4088                                        int *restrict error)
4089     __nonnull ((3)) _deprecated_dynapi_setter;
4090 
4091 EXPORT double
4092 dwg_ent_spline_get_fit_tol (const dwg_ent_spline *restrict spline,
4093                             int *restrict error)
4094     __nonnull ((2)) _deprecated_dynapi_getter;
4095 
4096 EXPORT void dwg_ent_spline_set_fit_tol (dwg_ent_spline *restrict spline,
4097                                         const int fit_tol, int *restrict error)
4098     __nonnull ((3)) _deprecated_dynapi_setter;
4099 
4100 EXPORT void dwg_ent_spline_get_begin_tan_vector (
4101     const dwg_ent_spline *restrict spline, dwg_point_3d *restrict point,
4102     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4103 
4104 EXPORT void dwg_ent_spline_set_begin_tan_vector (
4105     dwg_ent_spline *restrict spline, const dwg_point_3d *restrict point,
4106     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4107 
4108 EXPORT void dwg_ent_spline_get_end_tan_vector (
4109     const dwg_ent_spline *restrict spline, dwg_point_3d *restrict point,
4110     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4111 
4112 EXPORT void dwg_ent_spline_set_end_tan_vector (
4113     dwg_ent_spline *restrict spline, const dwg_point_3d *restrict point,
4114     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4115 
4116 EXPORT double
4117 dwg_ent_spline_get_knot_tol (const dwg_ent_spline *restrict spline,
4118                              int *restrict error)
4119     __nonnull ((2)) _deprecated_dynapi_getter;
4120 
4121 EXPORT void dwg_ent_spline_set_knot_tol (dwg_ent_spline *restrict spline,
4122                                          const double knot_tol,
4123                                          int *restrict error)
4124     __nonnull ((3)) _deprecated_dynapi_setter;
4125 
4126 EXPORT double
4127 dwg_ent_spline_get_ctrl_tol (const dwg_ent_spline *restrict spline,
4128                              int *restrict error)
4129     __nonnull ((2)) _deprecated_dynapi_getter;
4130 
4131 EXPORT void dwg_ent_spline_set_ctrl_tol (dwg_ent_spline *restrict spline,
4132                                          const double ctrl_tol,
4133                                          int *restrict error)
4134     __nonnull ((3)) _deprecated_dynapi_setter;
4135 
4136 EXPORT BITCODE_BS dwg_ent_spline_get_num_fit_pts (
4137     const dwg_ent_spline *restrict spline, int *restrict error)
4138     __nonnull ((2)) _deprecated_dynapi_getter;
4139 
4140 // TODO: dwg_ent_spline_add_fit_pts, dwg_ent_spline_delete_fit_pts
4141 
4142 EXPORT char dwg_ent_spline_get_rational (const dwg_ent_spline *restrict spline,
4143                                          int *restrict error)
4144     __nonnull ((2)) _deprecated_dynapi_getter;
4145 
4146 EXPORT void dwg_ent_spline_set_rational (dwg_ent_spline *restrict spline,
4147                                          const char rational,
4148                                          int *restrict error)
4149     __nonnull ((3)) _deprecated_dynapi_setter;
4150 
4151 EXPORT char dwg_ent_spline_get_closed_b (const dwg_ent_spline *restrict spline,
4152                                          int *restrict error)
4153     __nonnull ((2)) _deprecated_dynapi_getter;
4154 
4155 EXPORT void dwg_ent_spline_set_closed_b (dwg_ent_spline *restrict spline,
4156                                          const char closed_b,
4157                                          int *restrict error)
4158     __nonnull ((3)) _deprecated_dynapi_setter;
4159 
4160 EXPORT char dwg_ent_spline_get_weighted (const dwg_ent_spline *restrict spline,
4161                                          int *restrict error)
4162     __nonnull ((2)) _deprecated_dynapi_getter;
4163 
4164 EXPORT void dwg_ent_spline_set_weighted (dwg_ent_spline *restrict spline,
4165                                          char weighted, int *restrict error)
4166     __nonnull ((3)) _deprecated_dynapi_setter;
4167 
4168 EXPORT char dwg_ent_spline_get_periodic (const dwg_ent_spline *restrict spline,
4169                                          int *restrict error)
4170     __nonnull ((2)) _deprecated_dynapi_getter;
4171 
4172 EXPORT void dwg_ent_spline_set_periodic (dwg_ent_spline *restrict spline,
4173                                          char periodic, int *restrict error)
4174     __nonnull ((3)) _deprecated_dynapi_setter;
4175 
4176 EXPORT BITCODE_BL dwg_ent_spline_get_num_knots (
4177     const dwg_ent_spline *restrict spline, int *restrict error)
4178     __nonnull ((2)) _deprecated_dynapi_getter;
4179 
4180 // TODO: dwg_ent_spline_add_knots, dwg_ent_spline_delete_knots
4181 
4182 EXPORT BITCODE_BL dwg_ent_spline_get_num_ctrl_pts (
4183     const dwg_ent_spline *restrict spline, int *restrict error)
4184     __nonnull ((2)) _deprecated_dynapi_getter;
4185 
4186 // TODO: dwg_ent_spline_add_ctrl_pts, dwg_ent_spline_delete_ctrl_pts
4187 
4188 EXPORT dwg_point_3d *
4189 dwg_ent_spline_get_fit_pts (const dwg_ent_spline *restrict spline,
4190                             int *restrict error)
4191     __nonnull ((2)) _deprecated_dynapi_getter;
4192 
4193 EXPORT dwg_spline_control_point *
4194 dwg_ent_spline_get_ctrl_pts (const dwg_ent_spline *restrict spline,
4195                              int *restrict error)
4196     __nonnull ((2)) _deprecated_dynapi_getter;
4197 
4198 EXPORT double *dwg_ent_spline_get_knots (const dwg_ent_spline *restrict spline,
4199                                          int *restrict error)
4200     __nonnull ((2)) _deprecated_dynapi_getter;
4201 
4202 /********************************************************************
4203  *                   FUNCTIONS FOR VIEWPORT ENTITY                   *
4204  ********************************************************************/
4205 
4206 EXPORT void dwg_ent_viewport_get_center (const dwg_ent_viewport *restrict vp,
4207                                          dwg_point_3d *restrict point,
4208                                          int *restrict error)
4209     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4210 
4211 EXPORT void dwg_ent_viewport_set_center (dwg_ent_viewport *restrict vp,
4212                                          const dwg_point_3d *restrict point,
4213                                          int *restrict error)
4214     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4215 
4216 EXPORT double dwg_ent_viewport_get_width (const dwg_ent_viewport *restrict vp,
4217                                           int *restrict error)
4218     __nonnull ((2)) _deprecated_dynapi_getter;
4219 
4220 EXPORT void dwg_ent_viewport_set_width (dwg_ent_viewport *restrict vp,
4221                                         const double width,
4222                                         int *restrict error)
4223     __nonnull ((3)) _deprecated_dynapi_setter;
4224 
4225 EXPORT double dwg_ent_viewport_get_height (const dwg_ent_viewport *restrict vp,
4226                                            int *restrict error)
4227     __nonnull ((2)) _deprecated_dynapi_getter;
4228 
4229 EXPORT void dwg_ent_viewport_set_height (dwg_ent_viewport *restrict vp,
4230                                          const double height,
4231                                          int *restrict error)
4232     __nonnull ((3)) _deprecated_dynapi_setter;
4233 
4234 EXPORT BITCODE_BS dwg_ent_viewport_get_grid_major (
4235     const dwg_ent_viewport *restrict vp, int *restrict error)
4236     __nonnull ((2)) _deprecated_dynapi_getter;
4237 
4238 EXPORT void dwg_ent_viewport_set_grid_major (dwg_ent_viewport *restrict vp,
4239                                              const BITCODE_BS major,
4240                                              int *restrict error)
4241     __nonnull ((3)) _deprecated_dynapi_setter;
4242 
4243 EXPORT BITCODE_BL dwg_ent_viewport_get_num_frozen_layers (
4244     const dwg_ent_viewport *restrict vp, int *restrict error)
4245     __nonnull ((2)) _deprecated_dynapi_getter;
4246 
4247 EXPORT void dwg_ent_viewport_set_num_frozen_layers (
4248     dwg_ent_viewport *restrict vp, const BITCODE_BL count, int *restrict error)
4249     __nonnull ((3)) _deprecated_dynapi_setter;
4250 
4251 EXPORT char *
4252 dwg_ent_viewport_get_style_sheet (const dwg_ent_viewport *restrict vp,
4253                                   int *restrict error)
4254     __nonnull ((2)) _deprecated_dynapi_getter;
4255 
4256 EXPORT void dwg_ent_viewport_set_style_sheet (dwg_ent_viewport *restrict vp,
4257                                               char *sheet, int *restrict error)
4258     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4259 
4260 EXPORT void dwg_ent_viewport_set_circle_zoom (dwg_ent_viewport *restrict vp,
4261                                               const BITCODE_BS zoom,
4262                                               int *restrict error)
4263     __nonnull ((3)) _deprecated_dynapi_setter;
4264 
4265 EXPORT BITCODE_BS dwg_ent_viewport_get_circle_zoom (
4266     const dwg_ent_viewport *restrict vp, int *restrict error)
4267     __nonnull ((2)) _deprecated_dynapi_getter;
4268 
4269 EXPORT void dwg_ent_viewport_set_status_flag (dwg_ent_viewport *restrict vp,
4270                                               const BITCODE_BL flags,
4271                                               int *restrict error)
4272     __nonnull ((3)) _deprecated_dynapi_setter;
4273 
4274 EXPORT BITCODE_BL dwg_ent_viewport_get_status_flag (
4275     const dwg_ent_viewport *restrict vp, int *restrict error)
4276     __nonnull ((2)) _deprecated_dynapi_getter;
4277 
4278 EXPORT char
4279 dwg_ent_viewport_get_render_mode (const dwg_ent_viewport *restrict vp,
4280                                   int *restrict error)
4281     __nonnull ((2)) _deprecated_dynapi_getter;
4282 
4283 EXPORT void dwg_ent_viewport_set_render_mode (dwg_ent_viewport *restrict vp,
4284                                               char mode, int *restrict error)
4285     __nonnull ((3)) _deprecated_dynapi_setter;
4286 
4287 EXPORT void dwg_ent_viewport_set_ucs_at_origin (dwg_ent_viewport *restrict vp,
4288                                                 unsigned char origin,
4289                                                 int *restrict error)
4290     __nonnull ((3)) _deprecated_dynapi_setter;
4291 
4292 EXPORT unsigned char
4293 dwg_ent_viewport_get_ucs_at_origin (const dwg_ent_viewport *restrict vp,
4294                                     int *restrict error)
4295     __nonnull ((2)) _deprecated_dynapi_getter;
4296 
4297 EXPORT void dwg_ent_viewport_set_UCSVP (
4298     dwg_ent_viewport *restrict vp, unsigned char viewport, int *restrict error)
4299     __nonnull ((3)) _deprecated_dynapi_setter;
4300 EXPORT unsigned char
4301 dwg_ent_viewport_get_UCSVP (const dwg_ent_viewport *restrict vp,
4302                                        int *restrict error)
4303     __nonnull ((2)) _deprecated_dynapi_getter;
4304 
4305 EXPORT void dwg_ent_viewport_set_view_target (
4306     dwg_ent_viewport *restrict vp, const dwg_point_3d *restrict point,
4307     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4308 EXPORT void dwg_ent_viewport_get_view_target (
4309     const dwg_ent_viewport *restrict vp, dwg_point_3d *restrict point,
4310     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4311 
4312 EXPORT void dwg_ent_viewport_set_VIEWDIR (
4313     dwg_ent_viewport *restrict vp, const dwg_point_3d *restrict point,
4314     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4315 EXPORT void dwg_ent_viewport_get_VIEWDIR (
4316     const dwg_ent_viewport *restrict vp, dwg_point_3d *restrict point,
4317     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4318 
4319 EXPORT void dwg_ent_viewport_set_twist_angle (dwg_ent_viewport *restrict vp,
4320                                              const double angle,
4321                                              int *restrict error)
4322     __nonnull ((3)) _deprecated_dynapi_setter;
4323 EXPORT double
4324 dwg_ent_viewport_get_twist_angle (const dwg_ent_viewport *restrict vp,
4325                                  int *restrict error)
4326     __nonnull ((2)) _deprecated_dynapi_getter;
4327 
4328 EXPORT void dwg_ent_viewport_set_VIEWSIZE (dwg_ent_viewport *restrict vp,
4329                                               const double height,
4330                                               int *restrict error)
4331     __nonnull ((3)) _deprecated_dynapi_setter;
4332 EXPORT double
4333 dwg_ent_viewport_get_VIEWSIZE (const dwg_ent_viewport *restrict vp,
4334                                   int *restrict error)
4335     __nonnull ((2)) _deprecated_dynapi_getter;
4336 
4337 EXPORT void dwg_ent_viewport_set_lens_length (dwg_ent_viewport *restrict vp,
4338                                               const double length,
4339                                               int *restrict error)
4340     __nonnull ((3)) _deprecated_dynapi_setter;
4341 
4342 EXPORT double
4343 dwg_ent_viewport_get_lens_length (const dwg_ent_viewport *restrict vp,
4344                                   int *restrict error)
4345     __nonnull ((2)) _deprecated_dynapi_getter;
4346 
4347 EXPORT void dwg_ent_viewport_set_front_clip_z (dwg_ent_viewport *restrict vp,
4348                                                const double front_z,
4349                                                int *restrict error)
4350     __nonnull ((3)) _deprecated_dynapi_setter;
4351 EXPORT double
4352 dwg_ent_viewport_get_front_clip_z (const dwg_ent_viewport *restrict vp,
4353                                    int *restrict error)
4354     __nonnull ((2)) _deprecated_dynapi_getter;
4355 
4356 EXPORT void dwg_ent_viewport_set_back_clip_z (dwg_ent_viewport *restrict vp,
4357                                               const double back_z,
4358                                               int *restrict error)
4359     __nonnull ((3)) _deprecated_dynapi_setter;
4360 EXPORT double
4361 dwg_ent_viewport_get_back_clip_z (const dwg_ent_viewport *restrict vp,
4362                                   int *restrict error)
4363     __nonnull ((2)) _deprecated_dynapi_getter;
4364 
4365 EXPORT void dwg_ent_viewport_set_SNAPANG (dwg_ent_viewport *restrict vp,
4366                                           const double angle,
4367                                           int *restrict error)
4368     __nonnull ((3)) _deprecated_dynapi_setter;
4369 EXPORT double
4370 dwg_ent_viewport_get_SNAPANG (const dwg_ent_viewport *restrict vp,
4371                               int *restrict error)
4372     __nonnull ((2)) _deprecated_dynapi_getter;
4373 
4374 EXPORT void dwg_ent_viewport_get_VIEWCTR (
4375     const dwg_ent_viewport *restrict vp, dwg_point_2d *restrict point,
4376     int *restrict error) __nonnull ((2)) _deprecated_dynapi_getter;
4377 
4378 EXPORT void dwg_ent_viewport_set_VIEWCTR (
4379     dwg_ent_viewport *restrict vp, const dwg_point_2d *restrict point,
4380     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4381 
4382 EXPORT void dwg_ent_viewport_get_GRIDUNIT (
4383     const dwg_ent_viewport *restrict vp, dwg_point_2d *restrict point,
4384     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4385 
4386 EXPORT void dwg_ent_viewport_set_GRIDUNIT (
4387     dwg_ent_viewport *restrict vp, const dwg_point_2d *restrict point,
4388     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4389 
4390 EXPORT void dwg_ent_viewport_get_SNAPBASE (
4391     const dwg_ent_viewport *restrict vp, dwg_point_2d *restrict point,
4392     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4393 
4394 EXPORT void dwg_ent_viewport_set_SNAPBASE (dwg_ent_viewport *restrict vp,
4395                                             const dwg_point_2d *restrict point,
4396                                             int *restrict error)
4397     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4398 
4399 EXPORT void dwg_ent_viewport_get_SNAPUNIT (
4400     const dwg_ent_viewport *restrict vp, dwg_point_2d *restrict point,
4401     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4402 EXPORT void dwg_ent_viewport_set_SNAPUNIT (
4403     dwg_ent_viewport *restrict vp, const dwg_point_2d *restrict point,
4404     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4405 
4406 EXPORT void dwg_ent_viewport_set_ucsorg (
4407     dwg_ent_viewport *restrict vp, const dwg_point_3d *restrict point,
4408     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4409 
4410 EXPORT void dwg_ent_viewport_get_ucsorg (
4411     const dwg_ent_viewport *restrict vp, dwg_point_3d *restrict point,
4412     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4413 
4414 EXPORT void dwg_ent_viewport_set_ucsxdir (
4415     dwg_ent_viewport *restrict vp, const dwg_point_3d *restrict point,
4416     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4417 
4418 EXPORT void dwg_ent_viewport_get_ucsxdir (
4419     const dwg_ent_viewport *restrict vp, dwg_point_3d *restrict point,
4420     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4421 
4422 EXPORT void dwg_ent_viewport_set_ucsydir (
4423     dwg_ent_viewport *restrict vp, const dwg_point_3d *restrict point,
4424     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4425 EXPORT void dwg_ent_viewport_get_ucsydir (
4426     const dwg_ent_viewport *restrict vp, dwg_point_3d *restrict point,
4427     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4428 
4429 EXPORT void dwg_ent_viewport_set_ucs_elevation (dwg_ent_viewport *restrict vp,
4430                                                 const double elevation,
4431                                                 int *restrict error)
4432     __nonnull ((3)) _deprecated_dynapi_setter;
4433 EXPORT double
4434 dwg_ent_viewport_get_ucs_elevation (const dwg_ent_viewport *restrict vp,
4435                                     int *restrict error)
4436     __nonnull ((2)) _deprecated_dynapi_getter;
4437 
4438 EXPORT void dwg_ent_viewport_set_UCSORTHOVIEW (
4439     dwg_ent_viewport *restrict vp, const BITCODE_BS type, int *restrict error)
4440     __nonnull ((3)) _deprecated_dynapi_setter;
4441 
4442 EXPORT BITCODE_BS dwg_ent_viewport_get_UCSORTHOVIEW (
4443     const dwg_ent_viewport *restrict vp, int *restrict error)
4444     __nonnull ((2)) _deprecated_dynapi_getter;
4445 
4446 EXPORT void dwg_ent_viewport_set_shadeplot_mode (dwg_ent_viewport *restrict vp,
4447                                                  const BITCODE_BS shadeplot,
4448                                                  int *restrict error)
4449     __nonnull ((3)) _deprecated_dynapi_setter;
4450 
4451 EXPORT BITCODE_BS dwg_ent_viewport_get_shadeplot_mode (
4452     const dwg_ent_viewport *restrict vp, int *restrict error)
4453     __nonnull ((2)) _deprecated_dynapi_getter;
4454 
4455 EXPORT void dwg_ent_viewport_set_use_default_lights (
4456     dwg_ent_viewport *restrict vp, const unsigned char lights,
4457     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4458 
4459 EXPORT unsigned char
4460 dwg_ent_viewport_get_use_default_lights (const dwg_ent_viewport *restrict vp,
4461                                          int *restrict error)
4462     __nonnull ((2)) _deprecated_dynapi_getter;
4463 
4464 EXPORT void dwg_ent_viewport_set_default_lighting_type (
4465     dwg_ent_viewport *restrict vp, const char type, int *restrict error)
4466     __nonnull ((3)) _deprecated_dynapi_setter;
4467 
4468 EXPORT char dwg_ent_viewport_get_default_lighting_type (
4469     const dwg_ent_viewport *restrict vp, int *restrict error)
4470     __nonnull ((2)) _deprecated_dynapi_getter;
4471 
4472 EXPORT void dwg_ent_viewport_set_brightness (dwg_ent_viewport *restrict vp,
4473                                              const double brightness,
4474                                              int *restrict error)
4475     __nonnull ((3)) _deprecated_dynapi_setter;
4476 
4477 EXPORT double
4478 dwg_ent_viewport_get_brightness (const dwg_ent_viewport *restrict vp,
4479                                  int *restrict error)
4480     __nonnull ((2)) _deprecated_dynapi_getter;
4481 
4482 EXPORT void dwg_ent_viewport_set_contrast (dwg_ent_viewport *restrict vp,
4483                                            const double contrast,
4484                                            int *restrict error)
4485     __nonnull ((3)) _deprecated_dynapi_setter;
4486 
4487 EXPORT double
4488 dwg_ent_viewport_get_contrast (const dwg_ent_viewport *restrict vp,
4489                                int *restrict error)
4490     __nonnull ((2)) _deprecated_dynapi_getter;
4491 
4492 /********************************************************************
4493  *                FUNCTIONS FOR POLYLINE PFACE ENTITY                *
4494  ********************************************************************/
4495 
4496 EXPORT BITCODE_BS dwg_ent_polyline_pface_get_numpoints (
4497     const dwg_ent_polyline_pface *restrict pface, int *restrict error)
4498     __nonnull ((2)) _deprecated_dynapi_getter;
4499 
4500 EXPORT BITCODE_BS dwg_ent_polyline_pface_get_numfaces (
4501     const dwg_ent_polyline_pface *restrict pface, int *restrict error)
4502     __nonnull ((2)) _deprecated_dynapi_getter;
4503 
4504 /* not implemented. use the dynapi instead */
4505 EXPORT dwg_point_3d *
4506 dwg_ent_polyline_pface_get_points (const dwg_object *restrict obj,
4507                                    int *restrict error)
4508     __nonnull ((2)) _deprecated_dynapi_getter;
4509 
4510 /********************************************************************
4511  *                FUNCTIONS FOR POLYLINE_MESH ENTITY                 *
4512  ********************************************************************/
4513 
4514 EXPORT BITCODE_BS dwg_ent_polyline_mesh_get_flag (
4515     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4516     __nonnull ((2)) _deprecated_dynapi_getter;
4517 
4518 EXPORT void
4519 dwg_ent_polyline_mesh_set_flag (dwg_ent_polyline_mesh *restrict mesh,
4520                                 const BITCODE_BS flags, int *restrict error)
4521     __nonnull ((3)) _deprecated_dynapi_setter;
4522 
4523 EXPORT BITCODE_BS dwg_ent_polyline_mesh_get_curve_type (
4524     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4525     __nonnull ((2)) _deprecated_dynapi_getter;
4526 
4527 EXPORT void dwg_ent_polyline_mesh_set_curve_type (
4528     dwg_ent_polyline_mesh *restrict mesh, const BITCODE_BS curve_type,
4529     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4530 
4531 EXPORT BITCODE_BS dwg_ent_polyline_mesh_get_num_m_verts (
4532     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4533     __nonnull ((2)) _deprecated_dynapi_getter;
4534 
4535 EXPORT BITCODE_BS dwg_ent_polyline_mesh_get_num_n_verts (
4536     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4537     __nonnull ((2)) _deprecated_dynapi_getter;
4538 
4539 EXPORT BITCODE_BS dwg_ent_polyline_mesh_get_m_density (
4540     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4541     __nonnull ((2)) _deprecated_dynapi_getter;
4542 
4543 EXPORT void dwg_ent_polyline_mesh_set_m_density (
4544     dwg_ent_polyline_mesh *restrict mesh, const BITCODE_BS m_density,
4545     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4546 
4547 EXPORT BITCODE_BS dwg_ent_polyline_mesh_get_n_density (
4548     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4549     __nonnull ((2)) _deprecated_dynapi_getter;
4550 
4551 EXPORT void dwg_ent_polyline_mesh_set_n_density (
4552     dwg_ent_polyline_mesh *restrict mesh, const BITCODE_BS n_density,
4553     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4554 
4555 EXPORT BITCODE_BL dwg_ent_polyline_mesh_get_num_owned (
4556     const dwg_ent_polyline_mesh *restrict mesh, int *restrict error)
4557     __nonnull ((2)) _deprecated_dynapi_getter;
4558 
4559 // TODO dwg_ent_*_add_owned, dwg_ent_insert_delete_owned
4560 
4561 /********************************************************************
4562  *                 FUNCTIONS FOR POLYLINE_2D ENTITY                  *
4563  ********************************************************************/
4564 
4565 EXPORT void dwg_ent_polyline_2d_get_extrusion (
4566     const dwg_ent_polyline_2d *restrict pline2d, dwg_point_3d *restrict vector,
4567     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4568 
4569 EXPORT void dwg_ent_polyline_2d_set_extrusion (
4570     dwg_ent_polyline_2d *restrict pline2d, const dwg_point_3d *restrict vector,
4571     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
4572 
4573 EXPORT double dwg_ent_polyline_2d_get_start_width (
4574     const dwg_ent_polyline_2d *restrict pline2d, int *restrict error)
4575     __nonnull ((2)) _deprecated_dynapi_getter;
4576 EXPORT void dwg_ent_polyline_2d_set_start_width (
4577     dwg_ent_polyline_2d *restrict pline2d, const double start_width,
4578     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4579 
4580 EXPORT double
4581 dwg_ent_polyline_2d_get_end_width (const dwg_ent_polyline_2d *restrict pline2d,
4582                                    int *restrict error)
4583     __nonnull ((2)) _deprecated_dynapi_getter;
4584 
4585 EXPORT void
4586 dwg_ent_polyline_2d_set_end_width (dwg_ent_polyline_2d *restrict pline2d,
4587                                    const double end_width, int *restrict error)
4588     __nonnull ((3)) _deprecated_dynapi_setter;
4589 
4590 EXPORT double
4591 dwg_ent_polyline_2d_get_thickness (const dwg_ent_polyline_2d *restrict pline2d,
4592                                    int *restrict error)
4593     __nonnull ((2)) _deprecated_dynapi_getter;
4594 
4595 EXPORT void
4596 dwg_ent_polyline_2d_set_thickness (dwg_ent_polyline_2d *restrict pline2d,
4597                                    const double thickness, int *restrict error)
4598     __nonnull ((3)) _deprecated_dynapi_setter;
4599 
4600 EXPORT double
4601 dwg_ent_polyline_2d_get_elevation (const dwg_ent_polyline_2d *restrict pline2d,
4602                                    int *restrict error)
4603     __nonnull ((2)) _deprecated_dynapi_getter;
4604 
4605 EXPORT void
4606 dwg_ent_polyline_2d_set_elevation (dwg_ent_polyline_2d *restrict pline2d,
4607                                    const double elevation, int *restrict error)
4608     __nonnull ((3)) _deprecated_dynapi_setter;
4609 
4610 EXPORT BITCODE_BS dwg_ent_polyline_2d_get_flag (
4611     const dwg_ent_polyline_2d *restrict pline2d, int *restrict error)
4612     __nonnull ((2)) _deprecated_dynapi_getter;
4613 
4614 EXPORT void
4615 dwg_ent_polyline_2d_set_flag (dwg_ent_polyline_2d *restrict pline2d,
4616                               const BITCODE_BS flags, int *restrict error)
4617     __nonnull ((3)) _deprecated_dynapi_setter;
4618 
4619 EXPORT BITCODE_BS dwg_ent_polyline_2d_get_curve_type (
4620     const dwg_ent_polyline_2d *restrict pline2d, int *restrict error)
4621     __nonnull ((2)) _deprecated_dynapi_getter;
4622 
4623 EXPORT void dwg_ent_polyline_2d_set_curve_type (
4624     dwg_ent_polyline_2d *restrict pline2d, const BITCODE_BS curve_type,
4625     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4626 
4627 /********************************************************************
4628  *                 FUNCTIONS FOR POLYLINE_3D ENTITY                  *
4629  ********************************************************************/
4630 
4631 EXPORT BITCODE_RC dwg_ent_polyline_3d_get_flag (
4632     const dwg_ent_polyline_3d *restrict pline3d, int *restrict error)
4633     __nonnull ((2)) _deprecated_dynapi_getter;
4634 
4635 EXPORT void
4636 dwg_ent_polyline_3d_set_flag (dwg_ent_polyline_3d *restrict pline3d,
4637                               const BITCODE_RC flag, int *restrict error)
4638     __nonnull ((3)) _deprecated_dynapi_setter;
4639 
4640 EXPORT BITCODE_RC dwg_ent_polyline_3d_get_curve_type (
4641     const dwg_ent_polyline_3d *restrict pline3d, int *restrict error)
4642     __nonnull ((2)) _deprecated_dynapi_getter;
4643 
4644 EXPORT void dwg_ent_polyline_3d_set_curve_type (
4645     dwg_ent_polyline_3d *restrict pline3d, const BITCODE_RC curve_type,
4646     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
4647 
4648 /********************************************************************
4649  *                   FUNCTIONS FOR 3DFACE ENTITY                     *
4650  ********************************************************************/
4651 
4652 EXPORT BITCODE_BS dwg_ent_3dface_get_invis_flags (
4653     const dwg_ent_3dface *restrict _3dface, int *restrict error)
4654     __nonnull ((2)) _deprecated_dynapi_getter;
4655 
4656 EXPORT void dwg_ent_3dface_set_invis_flags (dwg_ent_3dface *restrict _3dface,
4657                                             const BITCODE_BS invis_flags,
4658                                             int *restrict error)
4659     __nonnull ((3)) _deprecated_dynapi_setter;
4660 
4661 EXPORT void dwg_ent_3dface_get_corner1 (const dwg_ent_3dface *restrict _3dface,
4662                                         dwg_point_3d *restrict point,
4663                                         int *restrict error)
4664     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4665 
4666 EXPORT void dwg_ent_3dface_set_corner1 (dwg_ent_3dface *restrict _3dface,
4667                                         const dwg_point_3d *restrict point,
4668                                         int *restrict error)
4669     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4670 
4671 EXPORT void dwg_ent_3dface_get_corner2 (const dwg_ent_3dface *restrict _3dface,
4672                                         dwg_point_3d *restrict point,
4673                                         int *restrict error)
4674     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4675 
4676 EXPORT void dwg_ent_3dface_set_corner2 (dwg_ent_3dface *restrict _3dface,
4677                                         const dwg_point_3d *restrict point,
4678                                         int *restrict error)
4679     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4680 
4681 EXPORT void dwg_ent_3dface_get_corner3 (const dwg_ent_3dface *restrict _3dface,
4682                                         dwg_point_3d *restrict point,
4683                                         int *restrict error)
4684     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4685 
4686 EXPORT void dwg_ent_3dface_set_corner3 (dwg_ent_3dface *restrict _3dface,
4687                                         const dwg_point_3d *restrict point,
4688                                         int *restrict error)
4689     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4690 
4691 EXPORT void dwg_ent_3dface_get_corner4 (const dwg_ent_3dface *restrict _3dface,
4692                                         dwg_point_3d *restrict point,
4693                                         int *restrict error)
4694     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4695 
4696 EXPORT void dwg_ent_3dface_set_corner4 (dwg_ent_3dface *restrict _3dface,
4697                                         const dwg_point_3d *restrict point,
4698                                         int *restrict error)
4699     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4700 
4701 /********************************************************************
4702  *                    FUNCTIONS FOR IMAGE ENTITY                     *
4703  ********************************************************************/
4704 
4705 EXPORT BITCODE_BL dwg_ent_image_get_class_version (
4706     const dwg_ent_image *restrict image, int *restrict error)
4707     __nonnull ((2)) _deprecated_dynapi_getter;
4708 
4709 EXPORT void dwg_ent_image_set_class_version (dwg_ent_image *restrict image,
4710                                              const BITCODE_BL class_version,
4711                                              int *restrict error)
4712     __nonnull ((3)) _deprecated_dynapi_setter;
4713 
4714 EXPORT void dwg_ent_image_get_pt0 (const dwg_ent_image *restrict image,
4715                                    dwg_point_3d *restrict point,
4716                                    int *restrict error)
4717     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4718 
4719 EXPORT void dwg_ent_image_set_pt0 (dwg_ent_image *restrict image,
4720                                    const dwg_point_3d *restrict point,
4721                                    int *restrict error)
4722     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4723 
4724 EXPORT void dwg_ent_image_get_u_vector (const dwg_ent_image *restrict image,
4725                                         dwg_point_3d *restrict point,
4726                                         int *restrict error)
4727     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4728 
4729 EXPORT void dwg_ent_image_set_u_vector (dwg_ent_image *restrict image,
4730                                         const dwg_point_3d *restrict point,
4731                                         int *restrict error)
4732     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4733 
4734 EXPORT void dwg_ent_image_get_v_vector (const dwg_ent_image *restrict image,
4735                                         dwg_point_3d *restrict point,
4736                                         int *restrict error)
4737     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4738 
4739 EXPORT void dwg_ent_image_set_v_vector (dwg_ent_image *restrict image,
4740                                         const dwg_point_3d *restrict point,
4741                                         int *restrict error)
4742     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4743 
4744 EXPORT double
4745 dwg_ent_image_get_size_height (const dwg_ent_image *restrict image,
4746                                int *restrict error)
4747     __nonnull ((2)) _deprecated_dynapi_getter;
4748 
4749 EXPORT void dwg_ent_image_set_size_height (dwg_ent_image *restrict image,
4750                                            const double size_height,
4751                                            int *restrict error)
4752     __nonnull ((3)) _deprecated_dynapi_setter;
4753 
4754 EXPORT double
4755 dwg_ent_image_get_size_width (const dwg_ent_image *restrict image,
4756                               int *restrict error)
4757     __nonnull ((2)) _deprecated_dynapi_getter;
4758 
4759 EXPORT void dwg_ent_image_set_size_width (dwg_ent_image *restrict image,
4760                                           const double size_width,
4761                                           int *restrict error)
4762     __nonnull ((3)) _deprecated_dynapi_setter;
4763 
4764 EXPORT BITCODE_BS dwg_ent_image_get_display_props (
4765     const dwg_ent_image *restrict image, int *restrict error)
4766     __nonnull ((2)) _deprecated_dynapi_getter;
4767 
4768 EXPORT void dwg_ent_image_set_display_props (dwg_ent_image *restrict image,
4769                                              const BITCODE_BS display_props,
4770                                              int *restrict error)
4771     __nonnull ((3)) _deprecated_dynapi_setter;
4772 
4773 EXPORT BITCODE_B dwg_ent_image_get_clipping (
4774     const dwg_ent_image *restrict image, int *restrict error)
4775     __nonnull ((2)) _deprecated_dynapi_getter;
4776 
4777 EXPORT void dwg_ent_image_set_clipping (dwg_ent_image *restrict image,
4778                                         const BITCODE_B clipping,
4779                                         int *restrict error)
4780     __nonnull ((3)) _deprecated_dynapi_setter;
4781 
4782 EXPORT char dwg_ent_image_get_brightness (const dwg_ent_image *restrict image,
4783                                           int *restrict error)
4784     __nonnull ((2)) _deprecated_dynapi_getter;
4785 
4786 EXPORT void dwg_ent_image_set_brightness (dwg_ent_image *restrict image,
4787                                           const char brightness,
4788                                           int *restrict error)
4789     __nonnull ((3)) _deprecated_dynapi_setter;
4790 
4791 EXPORT char dwg_ent_image_get_contrast (const dwg_ent_image *restrict image,
4792                                         int *restrict error)
4793     __nonnull ((2)) _deprecated_dynapi_getter;
4794 
4795 EXPORT void dwg_ent_image_set_contrast (dwg_ent_image *restrict image,
4796                                         const char contrast,
4797                                         int *restrict error)
4798     __nonnull ((3)) _deprecated_dynapi_setter;
4799 
4800 EXPORT char dwg_ent_image_get_fade (const dwg_ent_image *restrict image,
4801                                     int *restrict error)
4802     __nonnull ((2)) _deprecated_dynapi_getter;
4803 
4804 EXPORT void dwg_ent_image_set_fade (dwg_ent_image *restrict image,
4805                                     const char fade, int *restrict error)
4806     __nonnull ((3)) _deprecated_dynapi_setter;
4807 
4808 EXPORT BITCODE_BS dwg_ent_image_get_clip_boundary_type (
4809     const dwg_ent_image *restrict image, int *restrict error)
4810     __nonnull ((2)) _deprecated_dynapi_getter;
4811 
4812 EXPORT void dwg_ent_image_set_clip_boundary_type (
4813     dwg_ent_image *restrict image, const BITCODE_BS type, int *restrict error)
4814     __nonnull ((3)) _deprecated_dynapi_setter;
4815 
4816 EXPORT void dwg_ent_image_get_boundary_pt0 (
4817     const dwg_ent_image *restrict image, dwg_point_2d *restrict point,
4818     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4819 
4820 EXPORT void dwg_ent_image_set_boundary_pt0 (dwg_ent_image *restrict image,
4821                                             const dwg_point_2d *restrict point,
4822                                             int *restrict error)
4823     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4824 
4825 EXPORT void dwg_ent_image_get_boundary_pt1 (
4826     const dwg_ent_image *restrict image, dwg_point_2d *restrict point,
4827     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
4828 
4829 EXPORT void dwg_ent_image_set_boundary_pt1 (dwg_ent_image *restrict image,
4830                                             const dwg_point_2d *restrict point,
4831                                             int *restrict error)
4832     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4833 
4834 EXPORT double
4835 dwg_ent_image_get_num_clip_verts (const dwg_ent_image *restrict image,
4836                                   int *restrict error)
4837     __nonnull ((2)) _deprecated_dynapi_getter;
4838 
4839 EXPORT BITCODE_2RD *
4840 dwg_ent_image_get_clip_verts (const dwg_ent_image *restrict image,
4841                               int *restrict error)
4842     __nonnull ((2)) _deprecated_dynapi_getter;
4843 
4844 /********************************************************************
4845  *                    FUNCTIONS FOR MLINE ENTITY                     *
4846  ********************************************************************/
4847 
4848 EXPORT void dwg_ent_mline_set_scale (dwg_ent_mline *restrict mline,
4849                                      const double scale, int *restrict error)
4850     __nonnull ((3)) _deprecated_dynapi_setter;
4851 
4852 EXPORT double dwg_ent_mline_get_scale (const dwg_ent_mline *restrict mline,
4853                                        int *restrict error)
4854     __nonnull ((2)) _deprecated_dynapi_getter;
4855 
4856 EXPORT void dwg_ent_mline_set_justification (dwg_ent_mline *restrict mline,
4857                                              const BITCODE_RC just,
4858                                              int *restrict error)
4859     __nonnull ((3)) _deprecated_dynapi_setter;
4860 
4861 EXPORT BITCODE_RC dwg_ent_mline_get_justification (
4862     const dwg_ent_mline *restrict mline, int *restrict error)
4863     __nonnull ((2)) _deprecated_dynapi_getter;
4864 
4865 EXPORT void dwg_ent_mline_set_base_point (dwg_ent_mline *restrict mline,
4866                                           const dwg_point_3d *restrict point,
4867                                           int *restrict error)
4868     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4869 
4870 EXPORT void dwg_ent_mline_get_base_point (const dwg_ent_mline *restrict mline,
4871                                           dwg_point_3d *restrict point,
4872                                           int *restrict error)
4873     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4874 
4875 EXPORT void dwg_ent_mline_set_extrusion (dwg_ent_mline *restrict mline,
4876                                          const dwg_point_3d *restrict vector,
4877                                          int *restrict error)
4878     __nonnull ((2, 3)) _deprecated_dynapi_setter;
4879 
4880 EXPORT void dwg_ent_mline_get_extrusion (const dwg_ent_mline *restrict mline,
4881                                          dwg_point_3d *restrict vector,
4882                                          int *restrict error)
4883     __nonnull ((2, 3)) _deprecated_dynapi_getter;
4884 
4885 EXPORT void dwg_ent_mline_set_flags (dwg_ent_mline *restrict mline,
4886                                      const BITCODE_BS oc, int *restrict error)
4887     __nonnull ((3)) _deprecated_dynapi_setter;
4888 
4889 EXPORT BITCODE_BS dwg_ent_mline_get_flags (const dwg_ent_mline *restrict mline,
4890                                            int *restrict error)
4891     __nonnull ((2)) _deprecated_dynapi_getter;
4892 
4893 EXPORT BITCODE_RC dwg_ent_mline_get_num_lines (
4894     const dwg_ent_mline *restrict mline, int *restrict error)
4895     __nonnull ((2)) _deprecated_dynapi_getter;
4896 
4897 EXPORT dwg_mline_line *
4898 dwg_mline_vertex_get_lines (const dwg_mline_vertex *restrict vertex,
4899                             int *restrict error)
4900     __nonnull ((2)) _deprecated_dynapi_getter;
4901 
4902 EXPORT BITCODE_BS dwg_ent_mline_get_num_verts (
4903     const dwg_ent_mline *restrict mline, int *restrict error)
4904     __nonnull ((2)) _deprecated_dynapi_getter;
4905 
4906 EXPORT dwg_mline_vertex *
4907 dwg_ent_mline_get_verts (const dwg_ent_mline *restrict mline,
4908                          int *restrict error)
4909     __nonnull ((2)) _deprecated_dynapi_getter;
4910 
4911 /********************************************************************
4912  *                  FUNCTIONS FOR 3DSOLID ENTITY                     *
4913  ********************************************************************/
4914 
4915 EXPORT unsigned char
4916 dwg_ent_3dsolid_get_acis_empty (const dwg_ent_3dsolid *restrict _3dsolid,
4917                                 int *restrict error)
4918     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4919 
4920 EXPORT void dwg_ent_3dsolid_set_acis_empty (dwg_ent_3dsolid *restrict _3dsolid,
4921                                             const unsigned char acis,
4922                                             int *restrict error)
4923     __nonnull ((3)) /*_deprecated_dynapi_setter*/;
4924 
4925 EXPORT BITCODE_BS dwg_ent_3dsolid_get_version (
4926     const dwg_ent_3dsolid *restrict _3dsolid, int *restrict error)
4927     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4928 
4929 EXPORT unsigned char *
4930 dwg_ent_3dsolid_get_acis_data (const dwg_ent_3dsolid *restrict _3dsolid,
4931                                int *restrict error)
4932     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4933 
4934 EXPORT void dwg_ent_3dsolid_set_acis_data (
4935     dwg_ent_3dsolid *restrict _3dsolid, const unsigned char *restrict sat_data,
4936     int *restrict error) __nonnull ((2, 3)) /*_deprecated_dynapi_setter*/;
4937 
4938 EXPORT char dwg_ent_3dsolid_get_wireframe_data_present (
4939     const dwg_ent_3dsolid *restrict _3dsolid, int *restrict error)
4940     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4941 
4942 EXPORT void dwg_ent_3dsolid_set_wireframe_data_present (
4943     dwg_ent_3dsolid *restrict _3dsolid, const char present,
4944     int *restrict error) __nonnull ((3)) /*_deprecated_dynapi_setter*/;
4945 
4946 EXPORT char
4947 dwg_ent_3dsolid_get_point_present (const dwg_ent_3dsolid *restrict _3dsolid,
4948                                    int *restrict error)
4949     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4950 
4951 EXPORT void
4952 dwg_ent_3dsolid_set_point_present (dwg_ent_3dsolid *restrict _3dsolid,
4953                                    const char present, int *restrict error)
4954     __nonnull ((3)) /*_deprecated_dynapi_setter*/;
4955 
4956 EXPORT void
4957 dwg_ent_3dsolid_get_point (const dwg_ent_3dsolid *restrict _3dsolid,
4958                            dwg_point_3d *restrict point, int *restrict error)
4959     __nonnull ((2, 3)) /*_deprecated_dynapi_getter*/;
4960 
4961 EXPORT void dwg_ent_3dsolid_set_point (dwg_ent_3dsolid *restrict _3dsolid,
4962                                        const dwg_point_3d *restrict point,
4963                                        int *restrict error)
4964     __nonnull ((2, 3)) /*_deprecated_dynapi_setter*/;
4965 
4966 EXPORT BITCODE_BL dwg_ent_3dsolid_get_isolines (
4967     const dwg_ent_3dsolid *restrict _3dsolid, int *restrict error)
4968     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4969 
4970 EXPORT void
4971 dwg_ent_3dsolid_set_isolines (dwg_ent_3dsolid *restrict _3dsolid,
4972                               const BITCODE_BL num, int *restrict error)
4973     __nonnull ((3)) /*_deprecated_dynapi_setter*/;
4974 
4975 EXPORT char
4976 dwg_ent_3dsolid_get_isoline_present (const dwg_ent_3dsolid *restrict _3dsolid,
4977                                      int *restrict error)
4978     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4979 
4980 EXPORT void
4981 dwg_ent_3dsolid_set_isoline_present (dwg_ent_3dsolid *restrict _3dsolid,
4982                                      const char present, int *restrict error)
4983     __nonnull ((3)) /*_deprecated_dynapi_setter*/;
4984 
4985 EXPORT BITCODE_BL dwg_ent_3dsolid_get_num_wires (
4986     const dwg_ent_3dsolid *restrict _3dsolid, int *restrict error)
4987     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4988 
4989 EXPORT dwg_3dsolid_wire *
4990 dwg_ent_3dsolid_get_wires (const dwg_ent_3dsolid *restrict _3dsolid,
4991                            int *restrict error)
4992     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4993 
4994 EXPORT BITCODE_BL dwg_ent_3dsolid_get_num_silhouettes (
4995     const dwg_ent_3dsolid *restrict _3dsolid, int *restrict error)
4996     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
4997 
4998 EXPORT dwg_3dsolid_silhouette *
4999 dwg_ent_3dsolid_get_silhouettes (const dwg_ent_3dsolid *restrict _3dsolid,
5000                                  int *restrict error)
5001     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
5002 
5003 EXPORT unsigned char
5004 dwg_ent_3dsolid_get_acis_empty2 (const dwg_ent_3dsolid *restrict _3dsolid,
5005                                  int *restrict error)
5006     __nonnull ((2)) /*_deprecated_dynapi_getter*/;
5007 
5008 EXPORT void dwg_ent_3dsolid_set_acis_empty2 (
5009     dwg_ent_3dsolid *restrict _3dsolid, const unsigned char empty2,
5010     int *restrict error) __nonnull ((3)) /*_deprecated_dynapi_setter*/;
5011 
5012 /********************************************************************
5013  *                   FUNCTIONS FOR REGION ENTITY                     *
5014  ********************************************************************/
5015 
5016 EXPORT unsigned char
5017 dwg_ent_region_get_acis_empty (const dwg_ent_region *restrict region,
5018                                int *restrict error)
5019     __nonnull ((2)) _deprecated_dynapi_getter;
5020 
5021 EXPORT void dwg_ent_region_set_acis_empty (dwg_ent_region *restrict region,
5022                                            const unsigned char empty,
5023                                            int *restrict error)
5024     __nonnull ((3)) _deprecated_dynapi_setter;
5025 
5026 EXPORT BITCODE_BS dwg_ent_region_get_version (
5027     const dwg_ent_region *restrict region, int *restrict error)
5028     __nonnull ((2)) _deprecated_dynapi_getter;
5029 
5030 EXPORT unsigned char *
5031 dwg_ent_region_get_acis_data (const dwg_ent_region *restrict region,
5032                               int *restrict error)
5033     __nonnull ((2)) _deprecated_dynapi_getter;
5034 
5035 EXPORT void dwg_ent_region_set_acis_data (dwg_ent_region *restrict region,
5036                                           const unsigned char *restrict data,
5037                                           int *restrict error)
5038     __nonnull ((2, 3)) _deprecated_dynapi_setter;
5039 
5040 EXPORT char dwg_ent_region_get_wireframe_data_present (
5041     const dwg_ent_region *restrict region, int *restrict error)
5042     __nonnull ((2)) _deprecated_dynapi_getter;
5043 
5044 EXPORT void dwg_ent_region_set_wireframe_data_present (
5045     dwg_ent_region *restrict region, const char present, int *restrict error)
5046     __nonnull ((3)) _deprecated_dynapi_setter;
5047 
5048 EXPORT char
5049 dwg_ent_region_get_point_present (const dwg_ent_region *restrict region,
5050                                   int *restrict error)
5051     __nonnull ((2)) _deprecated_dynapi_getter;
5052 
5053 EXPORT void dwg_ent_region_set_point_present (dwg_ent_region *restrict region,
5054                                               const char present,
5055                                               int *restrict error)
5056     __nonnull ((3)) _deprecated_dynapi_setter;
5057 
5058 EXPORT void dwg_ent_region_get_point (const dwg_ent_region *restrict region,
5059                                       dwg_point_3d *restrict point,
5060                                       int *restrict error)
5061     __nonnull ((2, 3)) _deprecated_dynapi_getter;
5062 
5063 EXPORT void dwg_ent_region_set_point (dwg_ent_region *restrict region,
5064                                       const dwg_point_3d *restrict point,
5065                                       int *restrict error)
5066     __nonnull ((2, 3)) _deprecated_dynapi_setter;
5067 
5068 EXPORT BITCODE_BL dwg_ent_region_get_isolines (
5069     const dwg_ent_region *restrict region, int *restrict error)
5070     __nonnull ((2)) _deprecated_dynapi_getter;
5071 
5072 EXPORT void dwg_ent_region_set_isolines (dwg_ent_region *restrict region,
5073                                              const BITCODE_BL num,
5074                                              int *restrict error)
5075     __nonnull ((3)) _deprecated_dynapi_setter;
5076 
5077 EXPORT char
5078 dwg_ent_region_get_isoline_present (const dwg_ent_region *restrict region,
5079                                     int *restrict error)
5080     __nonnull ((2)) _deprecated_dynapi_getter;
5081 
5082 EXPORT void
5083 dwg_ent_region_set_isoline_present (dwg_ent_region *restrict region,
5084                                     const char present, int *restrict error)
5085     __nonnull ((3)) _deprecated_dynapi_setter;
5086 
5087 EXPORT BITCODE_BL dwg_ent_region_get_num_wires (
5088     const dwg_ent_region *restrict region, int *restrict error)
5089     __nonnull ((2)) _deprecated_dynapi_getter;
5090 
5091 EXPORT dwg_3dsolid_wire *
5092 dwg_ent_region_get_wires (const dwg_ent_region *restrict region,
5093                           int *restrict error)
5094     __nonnull ((2)) _deprecated_dynapi_getter;
5095 
5096 EXPORT BITCODE_BL dwg_ent_region_get_num_silhouettes (
5097     const dwg_ent_region *restrict region, int *restrict error)
5098     __nonnull ((2)) _deprecated_dynapi_getter;
5099 
5100 EXPORT dwg_3dsolid_silhouette *
5101 dwg_ent_region_get_silhouettes (const dwg_ent_region *restrict region,
5102                                 int *restrict error)
5103     __nonnull ((2)) _deprecated_dynapi_getter;
5104 
5105 EXPORT unsigned char
5106 dwg_ent_region_get_acis_empty2 (const dwg_ent_region *restrict region,
5107                                 int *restrict error)
5108     __nonnull ((2)) _deprecated_dynapi_getter;
5109 
5110 EXPORT void dwg_ent_region_set_acis_empty2 (dwg_ent_region *restrict region,
5111                                             const unsigned char empty2,
5112                                             int *restrict error)
5113     __nonnull ((3)) _deprecated_dynapi_setter;
5114 
5115 /********************************************************************
5116 *                    FUNCTIONS FOR BODY ENTITY                      *
5117 ********************************************************************/
5118 
5119 EXPORT unsigned char
5120 dwg_ent_body_get_acis_empty (const dwg_ent_body *restrict body,
5121                              int *restrict error)
5122     __nonnull ((2)) _deprecated_dynapi_getter;
5123 
5124 EXPORT void dwg_ent_body_set_acis_empty (dwg_ent_body *restrict body,
5125                                          const unsigned char empty,
5126                                          int *restrict error)
5127     __nonnull ((3)) _deprecated_dynapi_setter;
5128 
5129 EXPORT BITCODE_BS dwg_ent_body_get_version (const dwg_ent_body *restrict body,
5130                                             int *restrict error)
5131     __nonnull ((2)) _deprecated_dynapi_getter;
5132 
5133 EXPORT unsigned char *
5134 dwg_ent_body_get_acis_data (const dwg_ent_body *restrict body,
5135                             int *restrict error)
5136     __nonnull ((2)) _deprecated_dynapi_getter;
5137 
5138 EXPORT void dwg_ent_body_set_acis_data (dwg_ent_body *restrict body,
5139                                         const unsigned char *data,
5140                                         int *restrict error)
5141     __nonnull ((3)) _deprecated_dynapi_setter;
5142 
5143 EXPORT char
5144 dwg_ent_body_get_wireframe_data_present (const dwg_ent_body *restrict body,
5145                                          int *restrict error)
5146     __nonnull ((2)) _deprecated_dynapi_getter;
5147 
5148 EXPORT void dwg_ent_body_set_wireframe_data_present (
5149     dwg_ent_body *restrict body, const char present, int *restrict error)
5150     __nonnull ((3)) _deprecated_dynapi_setter;
5151 
5152 EXPORT char dwg_ent_body_get_point_present (const dwg_ent_body *restrict body,
5153                                             int *restrict error)
5154     __nonnull ((2)) _deprecated_dynapi_getter;
5155 
5156 EXPORT void dwg_ent_body_set_point_present (dwg_ent_body *restrict body,
5157                                             const char present,
5158                                             int *restrict error)
5159     __nonnull ((3)) _deprecated_dynapi_setter;
5160 
5161 EXPORT void dwg_ent_body_get_point (const dwg_ent_body *restrict body,
5162                                     dwg_point_3d *restrict point,
5163                                     int *restrict error)
5164     __nonnull ((2, 3)) _deprecated_dynapi_getter;
5165 
5166 EXPORT void dwg_ent_body_set_point (dwg_ent_body *restrict body,
5167                                     const dwg_point_3d *restrict point,
5168                                     int *restrict error)
5169     __nonnull ((2, 3)) _deprecated_dynapi_setter;
5170 
5171 EXPORT BITCODE_BL dwg_ent_body_get_isolines (
5172     const dwg_ent_body *restrict body, int *restrict error)
5173     __nonnull ((2)) _deprecated_dynapi_getter;
5174 
5175 EXPORT void dwg_ent_body_set_isolines (dwg_ent_body *restrict body,
5176                                        const BITCODE_BL num,
5177                                        int *restrict error)
5178     __nonnull ((3)) _deprecated_dynapi_setter;
5179 
5180 EXPORT char
5181 dwg_ent_body_get_isoline_present (const dwg_ent_body *restrict body,
5182                                   int *restrict error)
5183     __nonnull ((2)) _deprecated_dynapi_getter;
5184 
5185 EXPORT void dwg_ent_body_set_isoline_present (dwg_ent_body *restrict body,
5186                                               const char present,
5187                                               int *restrict error)
5188     __nonnull ((3)) _deprecated_dynapi_setter;
5189 
5190 EXPORT BITCODE_BL dwg_ent_body_get_num_wires (
5191     const dwg_ent_body *restrict body, int *restrict error)
5192     __nonnull ((2)) _deprecated_dynapi_getter;
5193 
5194 EXPORT dwg_3dsolid_wire *
5195 dwg_ent_body_get_wires (const dwg_ent_body *restrict body, int *restrict error)
5196     __nonnull ((2)) _deprecated_dynapi_getter;
5197 
5198 EXPORT BITCODE_BL dwg_ent_body_get_num_silhouettes (
5199     const dwg_ent_body *restrict body, int *restrict error)
5200     __nonnull ((2)) _deprecated_dynapi_getter;
5201 
5202 EXPORT dwg_3dsolid_silhouette *
5203 dwg_ent_body_get_silhouettes (const dwg_ent_body *restrict body,
5204                               int *restrict error)
5205     __nonnull ((2)) _deprecated_dynapi_getter;
5206 
5207 EXPORT unsigned char
5208 dwg_ent_body_get_acis_empty2 (const dwg_ent_body *restrict body,
5209                               int *restrict error)
5210     __nonnull ((2)) _deprecated_dynapi_getter;
5211 
5212 EXPORT void dwg_ent_body_set_acis_empty2 (dwg_ent_body *restrict body,
5213                                           unsigned char empty2,
5214                                           int *restrict error)
5215     __nonnull ((3)) _deprecated_dynapi_setter;
5216 
5217 /********************************************************************
5218 *                    FUNCTIONS FOR TABLE ENTITY                     *
5219 ********************************************************************/
5220 
5221 EXPORT void dwg_ent_table_set_insertion_pt (
5222     dwg_ent_table *restrict table, const dwg_point_3d *restrict point,
5223     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
5224 EXPORT void dwg_ent_table_get_insertion_pt (
5225     const dwg_ent_table *restrict table, dwg_point_3d *restrict point,
5226     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
5227 
5228 EXPORT void dwg_ent_table_set_scale (dwg_ent_table *restrict table,
5229                                      const dwg_point_3d *restrict point,
5230                                      int *restrict error)
5231     __nonnull ((2, 3)) _deprecated_dynapi_setter;
5232 EXPORT void dwg_ent_table_get_scale (const dwg_ent_table *restrict table,
5233                                      dwg_point_3d *restrict point,
5234                                      int *restrict error)
5235     __nonnull ((2, 3)) _deprecated_dynapi_getter;
5236 
5237 EXPORT void dwg_ent_table_set_rotation (dwg_ent_table *restrict table,
5238                                         const BITCODE_BD rotation,
5239                                         int *restrict error)
5240     __nonnull ((3)) _deprecated_dynapi_setter;
5241 EXPORT double dwg_ent_table_get_rotation (const dwg_ent_table *restrict table,
5242                                           int *restrict error)
5243     __nonnull ((2)) _deprecated_dynapi_getter;
5244 
5245 EXPORT void dwg_ent_table_set_extrusion (dwg_ent_table *restrict table,
5246                                          const dwg_point_3d *restrict vector,
5247                                          int *restrict error)
5248     __nonnull ((2, 3)) _deprecated_dynapi_setter;
5249 
5250 EXPORT void dwg_ent_table_get_extrusion (const dwg_ent_table *restrict table,
5251                                          dwg_point_3d *restrict vector,
5252                                          int *restrict error)
5253     __nonnull ((2, 3)) _deprecated_dynapi_getter;
5254 
5255 EXPORT unsigned char dwg_ent_table_has_attribs (dwg_ent_table *restrict table,
5256                                                 int *restrict error)
5257     __nonnull ((2)) _deprecated_dynapi_getter;
5258 
5259 EXPORT BITCODE_BL dwg_ent_table_get_num_owned (
5260     const dwg_ent_table *restrict table, int *restrict error)
5261     __nonnull ((2)) _deprecated_dynapi_getter;
5262 
5263 // TODO dwg_ent_*_add_owned, dwg_ent_insert_delete_owned
5264 
5265 EXPORT void dwg_ent_table_set_flag_for_table_value (
5266     dwg_ent_table *restrict table, const BITCODE_BS value, int *restrict error)
5267     __nonnull ((3)) _deprecated_dynapi_setter;
5268 
5269 EXPORT BITCODE_BS dwg_ent_table_get_flag_for_table_value (
5270     const dwg_ent_table *restrict table, int *restrict error)
5271     __nonnull ((2)) _deprecated_dynapi_getter;
5272 
5273 EXPORT void dwg_ent_table_set_horiz_direction (
5274     dwg_ent_table *restrict table, const dwg_point_3d *restrict point,
5275     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_setter;
5276 EXPORT void dwg_ent_table_get_horiz_direction (
5277     const dwg_ent_table *restrict table, dwg_point_3d *restrict point,
5278     int *restrict error) __nonnull ((2, 3)) _deprecated_dynapi_getter;
5279 
5280 EXPORT BITCODE_BL dwg_ent_table_get_num_cols (
5281     const dwg_ent_table *restrict table, int *restrict error)
5282     __nonnull ((2)) _deprecated_dynapi_getter;
5283 
5284 EXPORT BITCODE_BL dwg_ent_table_get_num_rows (
5285     const dwg_ent_table *restrict table, int *restrict error)
5286     __nonnull ((2)) _deprecated_dynapi_getter;
5287 
5288 EXPORT double *
5289 dwg_ent_table_get_col_widths (const dwg_ent_table *restrict table,
5290                               int *restrict error)
5291     __nonnull ((2)) _deprecated_dynapi_getter;
5292 
5293 EXPORT double *
5294 dwg_ent_table_get_row_heights (const dwg_ent_table *restrict table,
5295                                int *restrict error)
5296     __nonnull ((2)) _deprecated_dynapi_getter;
5297 
5298 EXPORT BITCODE_B dwg_ent_table_has_table_overrides (
5299     dwg_ent_table *restrict table, int *restrict error)
5300     __nonnull ((2)) _deprecated_dynapi_getter;
5301 
5302 EXPORT void dwg_ent_table_set_table_flag_override (
5303     dwg_ent_table *restrict table, const BITCODE_BL override,
5304     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5305 EXPORT BITCODE_BL dwg_ent_table_get_table_flag_override (
5306     const dwg_ent_table *restrict table, int *restrict error)
5307     __nonnull ((2)) _deprecated_dynapi_getter;
5308 
5309 EXPORT void dwg_ent_table_set_title_suppressed (dwg_ent_table *restrict table,
5310                                                 const unsigned char title,
5311                                                 int *restrict error)
5312     __nonnull ((3)) _deprecated_dynapi_setter;
5313 EXPORT unsigned char
5314 dwg_ent_table_get_title_suppressed (const dwg_ent_table *restrict table,
5315                                     int *restrict error)
5316     __nonnull ((2)) _deprecated_dynapi_getter;
5317 
5318 EXPORT void dwg_ent_table_set_header_suppressed (dwg_ent_table *restrict table,
5319                                                  const unsigned char header,
5320                                                  int *restrict error)
5321     __nonnull ((3)) _deprecated_dynapi_setter;
5322 EXPORT unsigned char
5323 dwg_ent_table_get_header_suppressed (const dwg_ent_table *restrict table,
5324                                      int *restrict error)
5325     __nonnull ((2)) _deprecated_dynapi_getter;
5326 
5327 EXPORT void dwg_ent_table_set_flow_direction (dwg_ent_table *restrict table,
5328                                               const BITCODE_BS dir,
5329                                               int *restrict error)
5330     __nonnull ((3)) _deprecated_dynapi_setter;
5331 EXPORT BITCODE_BS dwg_ent_table_get_flow_direction (
5332     const dwg_ent_table *restrict table, int *restrict error)
5333     __nonnull ((2)) _deprecated_dynapi_getter;
5334 
5335 EXPORT void dwg_ent_table_set_horiz_cell_margin (dwg_ent_table *restrict table,
5336                                                  const BITCODE_BD margin,
5337                                                  int *restrict error)
5338     __nonnull ((3)) _deprecated_dynapi_setter;
5339 EXPORT double
5340 dwg_ent_table_get_horiz_cell_margin (const dwg_ent_table *restrict table,
5341                                      int *restrict error)
5342     __nonnull ((2)) _deprecated_dynapi_getter;
5343 
5344 EXPORT void dwg_ent_table_set_vert_cell_margin (dwg_ent_table *restrict table,
5345                                                 const BITCODE_BD margin,
5346                                                 int *restrict error)
5347     __nonnull ((3)) _deprecated_dynapi_setter;
5348 EXPORT double
5349 dwg_ent_table_get_vert_cell_margin (const dwg_ent_table *restrict table,
5350                                     int *restrict error)
5351     __nonnull ((2)) _deprecated_dynapi_getter;
5352 
5353 EXPORT void dwg_ent_table_set_title_row_fill_none (
5354     dwg_ent_table *restrict table, const unsigned char fill,
5355     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5356 EXPORT unsigned char
5357 dwg_ent_table_get_title_row_fill_none (const dwg_ent_table *restrict table,
5358                                        int *restrict error)
5359     __nonnull ((2)) _deprecated_dynapi_getter;
5360 
5361 EXPORT void dwg_ent_table_set_header_row_fill_none (
5362     dwg_ent_table *restrict table, unsigned char fill, int *restrict error)
5363     __nonnull ((3)) _deprecated_dynapi_setter;
5364 EXPORT unsigned char
5365 dwg_ent_table_get_header_row_fill_none (const dwg_ent_table *restrict table,
5366                                         int *restrict error)
5367     __nonnull ((2)) _deprecated_dynapi_getter;
5368 
5369 EXPORT void dwg_ent_table_set_data_row_fill_none (
5370     dwg_ent_table *restrict table, const unsigned char fill,
5371     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5372 EXPORT unsigned char
5373 dwg_ent_table_get_data_row_fill_none (const dwg_ent_table *restrict table,
5374                                       int *restrict error)
5375     __nonnull ((2)) _deprecated_dynapi_getter;
5376 
5377 EXPORT void dwg_ent_table_set_title_row_alignment (
5378     dwg_ent_table *restrict table, const unsigned char fill,
5379     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5380 
5381 EXPORT BITCODE_BS dwg_ent_table_get_title_row_alignment (
5382     const dwg_ent_table *restrict table, int *restrict error)
5383     __nonnull ((2)) _deprecated_dynapi_getter;
5384 
5385 EXPORT void dwg_ent_table_set_header_row_alignment (
5386     dwg_ent_table *restrict table, const BITCODE_BS align, int *restrict error)
5387     __nonnull ((3)) _deprecated_dynapi_setter;
5388 EXPORT BITCODE_BS dwg_ent_table_get_header_row_alignment (
5389     const dwg_ent_table *restrict table, int *restrict error)
5390     __nonnull ((2)) _deprecated_dynapi_getter;
5391 
5392 EXPORT void dwg_ent_table_set_data_row_alignment (
5393     dwg_ent_table *restrict table, const BITCODE_BS align, int *restrict error)
5394     __nonnull ((3)) _deprecated_dynapi_setter;
5395 EXPORT BITCODE_BS dwg_ent_table_get_data_row_alignment (
5396     const dwg_ent_table *restrict table, int *restrict error)
5397     __nonnull ((2)) _deprecated_dynapi_getter;
5398 
5399 EXPORT void dwg_ent_table_set_title_row_height (dwg_ent_table *restrict table,
5400                                                 const BITCODE_BD height,
5401                                                 int *restrict error)
5402     __nonnull ((3)) _deprecated_dynapi_setter;
5403 EXPORT double
5404 dwg_ent_table_get_title_row_height (const dwg_ent_table *restrict table,
5405                                     int *restrict error)
5406     __nonnull ((2)) _deprecated_dynapi_getter;
5407 
5408 EXPORT void dwg_ent_table_set_header_row_height (dwg_ent_table *restrict table,
5409                                                  const BITCODE_BD height,
5410                                                  int *restrict error)
5411     __nonnull ((3)) _deprecated_dynapi_setter;
5412 EXPORT double
5413 dwg_ent_table_get_header_row_height (const dwg_ent_table *restrict table,
5414                                      int *restrict error)
5415     __nonnull ((2)) _deprecated_dynapi_getter;
5416 
5417 EXPORT void dwg_ent_table_set_data_row_height (dwg_ent_table *restrict table,
5418                                                const BITCODE_BD height,
5419                                                int *restrict error)
5420     __nonnull ((3)) _deprecated_dynapi_setter;
5421 EXPORT double
5422 dwg_ent_table_get_data_row_height (const dwg_ent_table *restrict table,
5423                                    int *restrict error)
5424     __nonnull ((2)) _deprecated_dynapi_getter;
5425 
5426 EXPORT unsigned char
5427 dwg_ent_table_has_border_color_overrides (dwg_ent_table *restrict table,
5428                                           int *restrict error)
5429     __nonnull ((2)) _deprecated_dynapi_getter;
5430 
5431 EXPORT void dwg_ent_table_set_border_color_overrides_flag (
5432     dwg_ent_table *restrict table, const BITCODE_BL overrides,
5433     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5434 EXPORT BITCODE_BL dwg_ent_table_get_border_color_overrides_flag (
5435     const dwg_ent_table *restrict table, int *restrict error)
5436     __nonnull ((2)) _deprecated_dynapi_getter;
5437 
5438 EXPORT unsigned char
5439 dwg_ent_table_has_border_lineweight_overrides (dwg_ent_table *restrict table,
5440                                                int *restrict error)
5441     __nonnull ((2)) _deprecated_dynapi_getter;
5442 
5443 EXPORT void dwg_ent_table_set_border_lineweight_overrides_flag (
5444     dwg_ent_table *restrict table, const BITCODE_BL overrides,
5445     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5446 EXPORT BITCODE_BL dwg_ent_table_get_border_lineweight_overrides_flag (
5447     const dwg_ent_table *restrict table, int *restrict error)
5448     __nonnull ((2)) _deprecated_dynapi_getter;
5449 
5450 EXPORT void dwg_ent_table_set_title_horiz_top_linewt (
5451     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5452     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5453 EXPORT BITCODE_BS dwg_ent_table_get_title_horiz_top_linewt (
5454     const dwg_ent_table *restrict table, int *restrict error)
5455     __nonnull ((2)) _deprecated_dynapi_getter;
5456 
5457 EXPORT void dwg_ent_table_set_title_horiz_ins_linewt (
5458     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5459     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5460 EXPORT BITCODE_BS dwg_ent_table_get_title_horiz_ins_linewt (
5461     const dwg_ent_table *restrict table, int *restrict error)
5462     __nonnull ((2)) _deprecated_dynapi_getter;
5463 
5464 EXPORT void dwg_ent_table_set_title_horiz_bottom_linewt (
5465     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5466     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5467 EXPORT BITCODE_BS dwg_ent_table_get_title_horiz_bottom_linewt (
5468     const dwg_ent_table *restrict table, int *restrict error)
5469     __nonnull ((2)) _deprecated_dynapi_getter;
5470 
5471 EXPORT void dwg_ent_table_set_title_vert_left_linewt (
5472     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5473     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5474 EXPORT BITCODE_BS dwg_ent_table_get_title_vert_left_linewt (
5475     const dwg_ent_table *restrict table, int *restrict error)
5476     __nonnull ((2)) _deprecated_dynapi_getter;
5477 
5478 EXPORT void dwg_ent_table_set_title_vert_ins_linewt (
5479     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5480     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5481 EXPORT BITCODE_BS dwg_ent_table_get_title_vert_ins_linewt (
5482     const dwg_ent_table *restrict table, int *restrict error)
5483     __nonnull ((2)) _deprecated_dynapi_getter;
5484 
5485 EXPORT void dwg_ent_table_set_title_vert_right_linewt (
5486     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5487     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5488 EXPORT BITCODE_BS dwg_ent_table_get_title_vert_right_linewt (
5489     const dwg_ent_table *restrict table, int *restrict error)
5490     __nonnull ((2)) _deprecated_dynapi_getter;
5491 
5492 EXPORT void dwg_ent_table_set_header_horiz_top_linewt (
5493     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5494     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5495 EXPORT BITCODE_BS dwg_ent_table_get_header_horiz_top_linewt (
5496     const dwg_ent_table *restrict table, int *restrict error)
5497     __nonnull ((2)) _deprecated_dynapi_getter;
5498 
5499 EXPORT void dwg_ent_table_set_header_horiz_ins_linewt (
5500     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5501     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5502 EXPORT BITCODE_BS dwg_ent_table_get_header_horiz_ins_linewt (
5503     const dwg_ent_table *restrict table, int *restrict error)
5504     __nonnull ((2)) _deprecated_dynapi_getter;
5505 
5506 EXPORT void dwg_ent_table_set_header_horiz_bottom_linewt (
5507     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5508     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5509 EXPORT BITCODE_BS dwg_ent_table_get_header_horiz_bottom_linewt (
5510     const dwg_ent_table *restrict table, int *restrict error)
5511     __nonnull ((2)) _deprecated_dynapi_getter;
5512 
5513 EXPORT void dwg_ent_table_set_header_vert_left_linewt (
5514     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5515     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5516 EXPORT BITCODE_BS dwg_ent_table_get_header_vert_left_linewt (
5517     const dwg_ent_table *restrict table, int *restrict error)
5518     __nonnull ((2)) _deprecated_dynapi_getter;
5519 
5520 EXPORT void dwg_ent_table_set_header_vert_ins_linewt (
5521     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5522     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5523 EXPORT BITCODE_BS dwg_ent_table_get_header_vert_ins_linewt (
5524     const dwg_ent_table *restrict table, int *restrict error)
5525     __nonnull ((2)) _deprecated_dynapi_getter;
5526 
5527 EXPORT void dwg_ent_table_set_header_vert_right_linewt (
5528     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5529     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5530 EXPORT BITCODE_BS dwg_ent_table_get_header_vert_right_linewt (
5531     const dwg_ent_table *restrict table, int *restrict error)
5532     __nonnull ((2)) _deprecated_dynapi_getter;
5533 
5534 EXPORT void dwg_ent_table_set_data_horiz_top_linewt (
5535     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5536     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5537 EXPORT BITCODE_BS dwg_ent_table_get_data_horiz_top_linewt (
5538     const dwg_ent_table *restrict table, int *restrict error)
5539     __nonnull ((2)) _deprecated_dynapi_getter;
5540 
5541 EXPORT void dwg_ent_table_set_data_horiz_ins_linewt (
5542     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5543     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5544 EXPORT BITCODE_BS dwg_ent_table_get_data_horiz_ins_linewt (
5545     const dwg_ent_table *restrict table, int *restrict error)
5546     __nonnull ((2)) _deprecated_dynapi_getter;
5547 
5548 EXPORT void dwg_ent_table_set_data_horiz_bottom_linewt (
5549     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5550     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5551 EXPORT BITCODE_BS dwg_ent_table_get_data_horiz_bottom_linewt (
5552     const dwg_ent_table *restrict table, int *restrict error)
5553     __nonnull ((2)) _deprecated_dynapi_getter;
5554 
5555 EXPORT void dwg_ent_table_set_data_vert_left_linewt (
5556     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5557     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5558 EXPORT BITCODE_BS dwg_ent_table_get_data_vert_left_linewt (
5559     const dwg_ent_table *restrict table, int *restrict error)
5560     __nonnull ((2)) _deprecated_dynapi_getter;
5561 
5562 EXPORT void dwg_ent_table_set_data_vert_ins_linewt (
5563     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5564     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5565 EXPORT BITCODE_BS dwg_ent_table_get_data_vert_ins_linewt (
5566     const dwg_ent_table *restrict table, int *restrict error)
5567     __nonnull ((2)) _deprecated_dynapi_getter;
5568 
5569 EXPORT void dwg_ent_table_set_data_vert_right_linewt (
5570     dwg_ent_table *restrict table, const BITCODE_BS linewt,
5571     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5572 EXPORT BITCODE_BS dwg_ent_table_get_data_vert_right_linewt (
5573     const dwg_ent_table *restrict table, int *restrict error)
5574     __nonnull ((2)) _deprecated_dynapi_getter;
5575 
5576 EXPORT unsigned char
5577 dwg_ent_table_has_border_visibility_overrides (dwg_ent_table *restrict table,
5578                                                int *restrict error)
5579     __nonnull ((2)) _deprecated_dynapi_getter;
5580 
5581 EXPORT void dwg_ent_table_set_border_visibility_overrides_flag (
5582     dwg_ent_table *restrict table, const BITCODE_BL overrides,
5583     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5584 
5585 EXPORT BITCODE_BL dwg_ent_table_get_border_visibility_overrides_flag (
5586     const dwg_ent_table *restrict table, int *restrict error)
5587     __nonnull ((2)) _deprecated_dynapi_getter;
5588 
5589 EXPORT void dwg_ent_table_set_title_horiz_top_visibility (
5590     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5591     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5592 
5593 EXPORT BITCODE_BS dwg_ent_table_get_title_horiz_top_visibility (
5594     const dwg_ent_table *restrict table, int *restrict error)
5595     __nonnull ((2)) _deprecated_dynapi_getter;
5596 
5597 EXPORT void dwg_ent_table_set_title_horiz_ins_visibility (
5598     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5599     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5600 
5601 EXPORT BITCODE_BS dwg_ent_table_get_title_horiz_ins_visibility (
5602     const dwg_ent_table *restrict table, int *restrict error)
5603     __nonnull ((2)) _deprecated_dynapi_getter;
5604 
5605 EXPORT void dwg_ent_table_set_title_horiz_bottom_visibility (
5606     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5607     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5608 
5609 EXPORT BITCODE_BS dwg_ent_table_get_title_horiz_bottom_visibility (
5610     const dwg_ent_table *restrict table, int *restrict error)
5611     __nonnull ((2)) _deprecated_dynapi_getter;
5612 
5613 EXPORT void dwg_ent_table_set_title_vert_left_visibility (
5614     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5615     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5616 
5617 EXPORT BITCODE_BS dwg_ent_table_get_title_vert_left_visibility (
5618     const dwg_ent_table *restrict table, int *restrict error)
5619     __nonnull ((2)) _deprecated_dynapi_getter;
5620 
5621 EXPORT void dwg_ent_table_set_title_vert_ins_visibility (
5622     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5623     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5624 
5625 EXPORT BITCODE_BS dwg_ent_table_get_title_vert_ins_visibility (
5626     const dwg_ent_table *restrict table, int *restrict error)
5627     __nonnull ((2)) _deprecated_dynapi_getter;
5628 
5629 EXPORT void dwg_ent_table_set_title_vert_right_visibility (
5630     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5631     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5632 
5633 EXPORT BITCODE_BS dwg_ent_table_get_title_vert_right_visibility (
5634     const dwg_ent_table *restrict table, int *restrict error)
5635     __nonnull ((2)) _deprecated_dynapi_getter;
5636 
5637 EXPORT void dwg_ent_table_set_header_horiz_top_visibility (
5638     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5639     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5640 
5641 EXPORT BITCODE_BS dwg_ent_table_get_header_horiz_top_visibility (
5642     const dwg_ent_table *restrict table, int *restrict error)
5643     __nonnull ((2)) _deprecated_dynapi_getter;
5644 
5645 EXPORT void dwg_ent_table_set_header_vert_left_visibility (
5646     dwg_ent_table *restrict table, BITCODE_BS visibility, int *restrict error)
5647     __nonnull ((3)) _deprecated_dynapi_setter;
5648 EXPORT BITCODE_BS dwg_ent_table_get_header_vert_left_visibility (
5649     const dwg_ent_table *restrict table, int *restrict error)
5650     __nonnull ((2)) _deprecated_dynapi_getter;
5651 EXPORT void dwg_ent_table_set_header_horiz_ins_visibility (
5652     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5653     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5654 
5655 EXPORT BITCODE_BS dwg_ent_table_get_header_horiz_ins_visibility (
5656     const dwg_ent_table *restrict table, int *restrict error)
5657     __nonnull ((2)) _deprecated_dynapi_getter;
5658 
5659 EXPORT void dwg_ent_table_set_header_horiz_bottom_visibility (
5660     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5661     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5662 
5663 EXPORT BITCODE_BS dwg_ent_table_get_header_horiz_bottom_visibility (
5664     const dwg_ent_table *restrict table, int *restrict error)
5665     __nonnull ((2)) _deprecated_dynapi_getter;
5666 
5667 EXPORT void dwg_ent_table_set_header_vert_ins_visibility (
5668     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5669     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5670 
5671 EXPORT BITCODE_BS dwg_ent_table_get_header_vert_ins_visibility (
5672     const dwg_ent_table *restrict table, int *restrict error)
5673     __nonnull ((2)) _deprecated_dynapi_getter;
5674 
5675 EXPORT void dwg_ent_table_set_header_vert_right_visibility (
5676     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5677     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5678 
5679 EXPORT BITCODE_BS dwg_ent_table_get_header_vert_right_visibility (
5680     const dwg_ent_table *restrict table, int *restrict error)
5681     __nonnull ((2)) _deprecated_dynapi_getter;
5682 
5683 EXPORT void dwg_ent_table_set_data_horiz_top_visibility (
5684     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5685     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5686 
5687 EXPORT BITCODE_BS dwg_ent_table_get_data_horiz_top_visibility (
5688     const dwg_ent_table *restrict table, int *restrict error)
5689     __nonnull ((2)) _deprecated_dynapi_getter;
5690 
5691 EXPORT void dwg_ent_table_set_data_horiz_ins_visibility (
5692     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5693     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5694 
5695 EXPORT BITCODE_BS dwg_ent_table_get_data_horiz_ins_visibility (
5696     const dwg_ent_table *restrict table, int *restrict error)
5697     __nonnull ((2)) _deprecated_dynapi_getter;
5698 
5699 EXPORT void dwg_ent_table_set_data_horiz_bottom_visibility (
5700     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5701     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5702 
5703 EXPORT BITCODE_BS dwg_ent_table_get_data_horiz_bottom_visibility (
5704     const dwg_ent_table *restrict table, int *restrict error)
5705     __nonnull ((2)) _deprecated_dynapi_getter;
5706 
5707 EXPORT void dwg_ent_table_set_data_vert_left_visibility (
5708     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5709     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5710 EXPORT BITCODE_BS dwg_ent_table_get_data_vert_left_visibility (
5711     const dwg_ent_table *restrict table, int *restrict error)
5712     __nonnull ((2)) _deprecated_dynapi_getter;
5713 
5714 EXPORT void dwg_ent_table_set_data_vert_ins_visibility (
5715     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5716     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5717 
5718 EXPORT BITCODE_BS dwg_ent_table_get_data_vert_ins_visibility (
5719     const dwg_ent_table *restrict table, int *restrict error)
5720     __nonnull ((2)) _deprecated_dynapi_getter;
5721 
5722 EXPORT void dwg_ent_table_set_data_vert_right_visibility (
5723     dwg_ent_table *restrict table, const BITCODE_BS visibility,
5724     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5725 
5726 EXPORT BITCODE_BS dwg_ent_table_get_data_vert_right_visibility (
5727     const dwg_ent_table *restrict table, int *restrict error)
5728     __nonnull ((2)) _deprecated_dynapi_getter;
5729 
5730 /********************************************************************
5731 *              FUNCTIONS FOR VERTEX_PFACE_FACE ENTITY               *
5732 ********************************************************************/
5733 
5734 // Get/Set vertind of a vertex_pface_face entity
5735 EXPORT BITCODE_BS dwg_ent_vertex_pface_face_get_vertind (
5736     const dwg_ent_vert_pface_face *face) _deprecated_dynapi_getter;
5737 
5738 EXPORT void
5739 dwg_ent_vertex_pface_face_set_vertind (dwg_ent_vert_pface_face *restrict face,
5740                                        const BITCODE_BS vertind[4])
5741     __nonnull ((2)) _deprecated_dynapi_setter;
5742 
5743 /********************************************************************
5744  *                    FUNCTIONS FOR XRECORD OBJECT                     *
5745  ********************************************************************/
5746 
5747 #define dwg_obj_xrecord_get_num_databytes(a,b) dwg_obj_xrecord_get_xdata_size (a,b)
5748 EXPORT BITCODE_BL dwg_obj_xrecord_get_xdata_size (
5749     const dwg_obj_xrecord *restrict xrecord, int *restrict error)
5750     __nonnull ((2)) _deprecated_dynapi_getter;
5751 
5752 EXPORT BITCODE_BS dwg_obj_xrecord_get_cloning_flags (
5753     const dwg_obj_xrecord *restrict xrecord, int *restrict error)
5754     __nonnull ((2)) _deprecated_dynapi_getter;
5755 EXPORT void dwg_obj_xrecord_set_cloning_flags (
5756     dwg_obj_xrecord *restrict xrecord, const BITCODE_BS cloning_flags,
5757     int *restrict error) __nonnull ((3)) _deprecated_dynapi_setter;
5758 EXPORT BITCODE_BL dwg_obj_xrecord_get_num_xdata (
5759     const dwg_obj_xrecord *restrict xrecord, int *restrict error)
5760     __nonnull ((2)) _deprecated_dynapi_getter;
5761 
5762 // EXPORT Dwg_Eed*
5763 // dwg_obj_xrecord_get_eed(const dwg_obj_xrecord *restrict xrecord,
5764 //                        const BITCODE_BL index,
5765 //                        int *restrict error)
5766 //  __nonnull ((3)) _deprecated_dynapi_getter;
5767 
5768 EXPORT Dwg_Resbuf *
5769 dwg_obj_xrecord_get_xdata (const dwg_obj_xrecord *restrict xrecord,
5770                            int *restrict error)
5771     __nonnull ((2)) _deprecated_dynapi_getter;
5772 
5773 EXPORT void dwg_obj_xrecord_set_xdata (dwg_obj_xrecord *restrict xrecord,
5774                                        const Dwg_Resbuf *xdata,
5775                                        int *restrict error)
5776     __nonnull ((2, 3)) _deprecated_dynapi_setter;
5777 
5778 EXPORT BITCODE_BL dwg_obj_xrecord_get_num_objid_handles (
5779     const dwg_obj_xrecord *restrict xrecord, int *restrict error)
5780     __nonnull ((2)) _deprecated_dynapi_getter;
5781 
5782 EXPORT dwg_object_ref **
5783 dwg_obj_xrecord_get_objid_handles (const dwg_obj_xrecord *restrict xrecord,
5784                                    int *restrict error)
5785     __nonnull ((2)) _deprecated_dynapi_getter;
5786 
5787 #endif /* USE_DEPRECATED_API */
5788 
5789 /* ************************************************************** */
5790 
5791 EXPORT BITCODE_BL dwg_object_polyline_2d_get_numpoints (
5792     const dwg_object *restrict obj, int *restrict error) __nonnull ((2));
5793 
5794 EXPORT dwg_point_2d *
5795 dwg_object_polyline_2d_get_points (const dwg_object *restrict obj,
5796                                    int *restrict error) __nonnull ((2));
5797 
5798 EXPORT BITCODE_BL dwg_object_polyline_3d_get_numpoints (
5799     const dwg_object *restrict obj, int *restrict error) __nonnull ((2));
5800 
5801 EXPORT dwg_point_3d *
5802 dwg_object_polyline_3d_get_points (const dwg_object *restrict obj,
5803                                    int *restrict error) __nonnull ((2));
5804 
5805 EXPORT double *
5806 dwg_ent_lwpline_get_bulges (const dwg_ent_lwpline *restrict lwpline,
5807                             int *restrict error) __nonnull ((2));
5808 
5809 EXPORT BITCODE_BL dwg_ent_lwpline_get_numpoints (
5810     const dwg_ent_lwpline *restrict lwpline, int *restrict error)
5811     __nonnull ((2));
5812 
5813 EXPORT dwg_point_2d *
5814 dwg_ent_lwpline_get_points (const dwg_ent_lwpline *restrict lwpline,
5815                             int *restrict error) __nonnull ((2));
5816 
5817 EXPORT int
5818 dwg_ent_lwpline_set_points (dwg_ent_lwpline *restrict lwpline,
5819                             const BITCODE_BL num_pts2d,
5820                             const dwg_point_2d *restrict pts2d) __nonnull_all;
5821 
5822 EXPORT dwg_lwpline_widths *
5823 dwg_ent_lwpline_get_widths (const dwg_ent_lwpline *restrict lwpline,
5824                             int *restrict error) __nonnull_all;
5825 
5826 #endif /* SWIGIMPORTED */
5827 
5828 /*******************************************************************
5829 *                    FUNCTIONS FOR TABLES                          *
5830 *        First the special tables: BLOCKS and LAYER                *
5831 ********************************************************************/
5832 
5833 
5834 /********************************************************************
5835 *                FUNCTIONS FOR BLOCK_HEADER OBJECT                  *
5836 ********************************************************************/
5837 
5838 /* Get Block Name of the block header
5839    Usage :- char *block_name = dwg_obj_block_header_get_name(hdr);
5840 */
5841 EXPORT char *
5842 dwg_obj_block_header_get_name (const dwg_obj_block_header *restrict hdr,
5843                                int *restrict error)
5844     __nonnull ((2)) _deprecated_dynapi_getter;
5845 
5846 EXPORT dwg_obj_block_header *dwg_get_block_header (dwg_data *restrict dwg,
5847                                                    int *restrict error)
5848     __nonnull ((2));
5849 
5850 /********************************************************************
5851 *               FUNCTIONS FOR BLOCK_CONTROL OBJECT                  *
5852 ********************************************************************/
5853 
5854 EXPORT BITCODE_BL dwg_obj_block_control_get_num_entries (
5855     const dwg_obj_block_control *restrict ctrl, int *restrict error)
5856     __nonnull ((2));
5857 
5858 EXPORT dwg_object_ref **dwg_obj_block_control_get_block_headers (
5859     const dwg_obj_block_control *restrict ctrl, int *restrict error)
5860     __nonnull ((2));
5861 
5862 EXPORT dwg_obj_block_control *
5863 dwg_block_header_get_block_control (const dwg_obj_block_header *block_header,
5864                                     int *restrict error) __nonnull ((2));
5865 
5866 EXPORT dwg_object_ref *dwg_obj_block_control_get_model_space (
5867     const dwg_obj_block_control *restrict ctrl, int *restrict error)
5868     __nonnull ((2));
5869 
5870 EXPORT dwg_object_ref *dwg_obj_block_control_get_paper_space (
5871     const dwg_obj_block_control *restrict ctrl, int *restrict error)
5872     __nonnull ((2));
5873 
5874 /********************************************************************
5875 *                    FUNCTIONS FOR LAYER OBJECT                     *
5876 ********************************************************************/
5877 
5878 // Get/Set name (utf-8) of the layer object
5879 EXPORT char *dwg_obj_layer_get_name (const dwg_obj_layer *restrict layer,
5880                                      int *restrict error) __nonnull ((2));
5881 EXPORT void dwg_obj_layer_set_name (dwg_obj_layer *restrict layer,
5882                                     const char *restrict name,
5883                                     int *restrict error) __nonnull ((2, 3));
5884 
5885 /*******************************************************************
5886 *                    FUNCTIONS FOR TABLES                          *
5887 *             All other tables and table entries                   *
5888 ********************************************************************/
5889 
5890 /// Get name of any table entry. Defaults to ByLayer.
5891 /// \sa dwg_ent_get_layer_name which defaults to "0"
5892 EXPORT char *dwg_obj_table_get_name (const dwg_object *restrict obj,
5893                                      int *restrict error) __nonnull ((2));
5894 
5895 // Get name of the referenced table entry. Defaults to ByLayer
5896 EXPORT char *dwg_ref_get_table_name (const dwg_object_ref *restrict ref,
5897                                      int *restrict error) __nonnull ((2));
5898 
5899 // Get number of table entries from the table.
5900 EXPORT BITCODE_BL dwg_object_tablectrl_get_num_entries (
5901     const dwg_object *restrict obj, int *restrict error) __nonnull ((2));
5902 
5903 // Get the nth table entry from the table.
5904 EXPORT dwg_object_ref *
5905 dwg_object_tablectrl_get_entry (const dwg_object *restrict obj,
5906                                 const BITCODE_BS index, int *restrict error)
5907     __nonnull ((3));
5908 
5909 // Get all table entries from the table.
5910 EXPORT dwg_object_ref **
5911 dwg_object_tablectrl_get_entries (const dwg_object *restrict obj,
5912                                   int *restrict error) __nonnull ((2));
5913 
5914 EXPORT dwg_object_ref *
5915 dwg_object_tablectrl_get_ownerhandle (const dwg_object *restrict obj,
5916                                       int *restrict error) __nonnull ((2));
5917 EXPORT dwg_object_ref *
5918 dwg_object_tablectrl_get_xdicobjhandle (const dwg_object *restrict obj,
5919                                         int *restrict error) __nonnull ((2));
5920 EXPORT BITCODE_BL dwg_object_tablectrl_get_objid (
5921     const dwg_object *restrict obj, int *restrict error) __nonnull ((2));
5922 
5923 /********************************************************************
5924 *                    COMMON FUNCTIONS FOR DWG ENTITY                *
5925 ********************************************************************/
5926 
5927 EXPORT dwg_object *dwg_ent_to_object (const dwg_obj_ent *restrict obj,
5928                                       int *restrict error) __nonnull ((2));
5929 
5930 EXPORT dwg_object *
5931 dwg_ent_generic_to_object (const void *restrict obj,
5932                            int *restrict error) __nonnull ((2));
5933 EXPORT dwg_obj_ent *
5934 dwg_ent_generic_parent (const void *restrict ent,
5935                         int *restrict error) __nonnull ((2));
5936 
5937 EXPORT BITCODE_RL dwg_ent_get_bitsize (const dwg_obj_ent *restrict ent,
5938                                        int *restrict error) __nonnull ((2));
5939 
5940 EXPORT BITCODE_BL dwg_ent_get_num_eed (const dwg_obj_ent *restrict ent,
5941                                        int *restrict error) __nonnull ((2));
5942 
5943 EXPORT dwg_entity_eed *dwg_ent_get_eed (const dwg_obj_ent *restrict ent,
5944                                         BITCODE_BL index, int *restrict error)
5945     __nonnull ((3));
5946 
5947 EXPORT dwg_entity_eed_data *
5948 dwg_ent_get_eed_data (const dwg_obj_ent *restrict ent, BITCODE_BL index,
5949                       int *restrict error) __nonnull ((3));
5950 
5951 EXPORT BITCODE_B dwg_ent_get_picture_exists (const dwg_obj_ent *restrict ent,
5952                                              int *restrict error)
5953     __nonnull ((2));
5954 
5955 EXPORT BITCODE_BLL
5956 dwg_ent_get_picture_size (const dwg_obj_ent *restrict ent,
5957                           int *restrict error) // before r2007 only RL
5958     __nonnull ((2));
5959 
5960 EXPORT BITCODE_TF
5961 dwg_ent_get_picture (const dwg_obj_ent *restrict ent,
5962                      int *restrict error) __nonnull ((2));
5963 
5964 EXPORT BITCODE_BB dwg_ent_get_entmode (const dwg_obj_ent *restrict ent,
5965                                        int *restrict error) __nonnull ((2));
5966 
5967 EXPORT BITCODE_BL dwg_ent_get_num_reactors (const dwg_obj_ent *restrict ent,
5968                                             int *restrict error)
5969     __nonnull ((2));
5970 
5971 EXPORT BITCODE_B
5972 dwg_ent_get_is_xdic_missing (const dwg_obj_ent *restrict ent,
5973                                int *restrict error) // r2004+
5974     __nonnull ((2));
5975 
5976 EXPORT char *dwg_ent_get_layer_name (const dwg_obj_ent *restrict ent,
5977                                      int *restrict error) __nonnull ((2));
5978 
5979 EXPORT char *dwg_ent_get_ltype_name (const dwg_obj_ent *restrict ent,
5980                                      int *restrict error) __nonnull ((2));
5981 
5982 EXPORT BITCODE_B dwg_ent_get_isbylayerlt (const dwg_obj_ent *restrict ent,
5983                                           int *restrict error) // r13-r14 only
5984     __nonnull ((2));
5985 
5986 EXPORT BITCODE_B dwg_ent_get_nolinks (const dwg_obj_ent *restrict ent,
5987                                       int *restrict error) __nonnull ((2));
5988 
5989 EXPORT const Dwg_Color *dwg_ent_get_color (const dwg_obj_ent *restrict ent,
5990                                            int *restrict error)
5991     __nonnull ((2));
5992 
5993 EXPORT double dwg_ent_get_linetype_scale (const dwg_obj_ent *restrict ent,
5994                                           int *restrict error) __nonnull ((2));
5995 
5996 EXPORT BITCODE_BB dwg_ent_get_linetype_flags (const dwg_obj_ent *restrict ent,
5997                                               int *restrict error) // r2000+
5998     __nonnull ((2));
5999 
6000 EXPORT BITCODE_BB dwg_ent_get_plotstyle_flags (const dwg_obj_ent *restrict ent,
6001                                                int *restrict error) // r2000+
6002     __nonnull ((2));
6003 
6004 EXPORT BITCODE_BB dwg_ent_get_material_flags (const dwg_obj_ent *restrict ent,
6005                                               int *restrict error) // r2007+
6006     __nonnull ((2));
6007 
6008 EXPORT BITCODE_RC dwg_ent_get_shadow_flags (const dwg_obj_ent *restrict ent,
6009                                             int *restrict error) // r2007+
6010     __nonnull ((2));
6011 
6012 EXPORT BITCODE_B dwg_ent_has_full_visualstyle (dwg_obj_ent *restrict ent,
6013                                                int *restrict error) // r2010+
6014     __nonnull ((2));
6015 
6016 EXPORT BITCODE_B dwg_ent_has_face_visualstyle (dwg_obj_ent *restrict ent,
6017                                                int *restrict error) // r2010+
6018     __nonnull ((2));
6019 
6020 EXPORT BITCODE_B dwg_ent_has_edge_visualstyle (dwg_obj_ent *restrict ent,
6021                                                int *restrict error) // r2010+
6022     __nonnull ((2));
6023 
6024 EXPORT BITCODE_BS dwg_ent_get_invisible (const dwg_obj_ent *restrict ent,
6025                                          int *restrict error) __nonnull ((2));
6026 
6027 /* See dxf_cvt_lweight() for the mm value */
6028 EXPORT BITCODE_RC dwg_ent_get_linewt (const dwg_obj_ent *restrict ent,
6029                                       int *restrict error) // r2000+
6030     __nonnull ((2));
6031 
6032 EXPORT dwg_object_ref *
6033 dwg_ent_get_ownerhandle (const dwg_obj_ent *restrict ent, int *restrict error)
6034     __nonnull ((2));
6035 
6036 EXPORT dwg_object_ref **dwg_ent_get_reactors (const dwg_obj_ent *restrict ent,
6037                                               int *restrict error)
6038     __nonnull ((2));
6039 
6040 EXPORT dwg_object_ref *
6041 dwg_ent_get_xdicobjhandle (const dwg_obj_ent *restrict ent,
6042                            int *restrict error) __nonnull ((2));
6043 
6044 EXPORT dwg_object_ref *
6045 dwg_ent_get_prev_entity (const dwg_obj_ent *restrict ent,
6046                          int *restrict error) // r13-r2000
6047     __nonnull ((2));
6048 
6049 EXPORT dwg_object_ref *
6050 dwg_ent_get_next_entity (const dwg_obj_ent *restrict ent,
6051                          int *restrict error) // r13-r2000
6052     __nonnull ((2));
6053 
6054 EXPORT dwg_object_ref *
6055 dwg_ent_get_color_handle (const dwg_obj_ent *restrict ent,
6056                           int *restrict error) // r2004+
6057     __nonnull ((2));
6058 
6059 EXPORT dwg_object_ref *dwg_ent_get_layer (const dwg_obj_ent *restrict ent,
6060                                           int *restrict error) __nonnull ((2));
6061 
6062 EXPORT dwg_object_ref *dwg_ent_get_ltype (const dwg_obj_ent *restrict ent,
6063                                           int *restrict error) __nonnull ((2));
6064 
6065 EXPORT dwg_object_ref *dwg_ent_get_material (const dwg_obj_ent *restrict ent,
6066                                              int *restrict error) // r2007+
6067     __nonnull ((2));
6068 
6069 EXPORT dwg_object_ref *dwg_ent_get_plotstyle (const dwg_obj_ent *restrict ent,
6070                                               int *restrict error) // r2000+
6071     __nonnull ((2));
6072 
6073 EXPORT dwg_object_ref *
6074 dwg_ent_get_full_visualstyle (const dwg_obj_ent *restrict ent,
6075                               int *restrict error) // r2010+
6076     __nonnull ((2));
6077 
6078 EXPORT dwg_object_ref *
6079 dwg_ent_get_face_visualstyle (const dwg_obj_ent *restrict ent,
6080                               int *restrict error) // r2010+
6081     __nonnull ((2));
6082 
6083 EXPORT dwg_object_ref *
6084 dwg_ent_get_edge_visualstyle (const dwg_obj_ent *restrict ent,
6085                               int *restrict error) // r2010+
6086     __nonnull ((2));
6087 
6088 /********************************************************************
6089 *                    FUNCTIONS FOR DWG OBJECT                       *
6090 ********************************************************************/
6091 
6092 EXPORT dwg_object *dwg_obj_obj_to_object (const dwg_obj_obj *restrict obj,
6093                                           int *restrict error) __nonnull ((2));
6094 
6095 EXPORT BITCODE_BL dwg_obj_get_objid (const dwg_obj_obj *restrict obj,
6096                                      int *restrict error) __nonnull ((2));
6097 
6098 EXPORT BITCODE_BL dwg_obj_get_num_eed (const dwg_obj_obj *restrict obj,
6099                                        int *restrict error) __nonnull ((2));
6100 EXPORT dwg_entity_eed *dwg_obj_get_eed (const dwg_obj_obj *restrict obj,
6101                                         const BITCODE_BL index,
6102                                         int *restrict error) __nonnull ((3));
6103 EXPORT dwg_entity_eed_data *
6104 dwg_obj_get_eed_data (const dwg_obj_obj *restrict obj, const BITCODE_BL index,
6105                       int *restrict error) __nonnull ((3));
6106 
6107 EXPORT BITCODE_H dwg_obj_get_ownerhandle (const dwg_obj_obj *restrict obj,
6108                                            int *restrict error)
6109     __nonnull ((2));
6110 EXPORT BITCODE_BL dwg_obj_get_num_reactors (const dwg_obj_obj *restrict obj,
6111                                             int *restrict error)
6112     __nonnull ((2));
6113 EXPORT BITCODE_H *dwg_obj_get_reactors (const dwg_obj_obj *restrict obj,
6114                                         int *restrict error) __nonnull ((2));
6115 EXPORT BITCODE_H dwg_obj_get_xdicobjhandle (const dwg_obj_obj *restrict obj,
6116                                             int *restrict error)
6117     __nonnull ((2));
6118 /* r2004+ */
6119 EXPORT BITCODE_B dwg_obj_get_is_xdic_missing (
6120     const dwg_obj_obj *restrict obj, int *restrict error) __nonnull ((2));
6121 /* r2013+ */
6122 EXPORT BITCODE_B dwg_obj_get_has_ds_binary_data (
6123     const dwg_obj_obj *restrict obj, int *restrict error) __nonnull ((2));
6124 EXPORT Dwg_Handle *dwg_obj_get_handleref (const dwg_obj_obj *restrict obj,
6125                                           int *restrict error) __nonnull ((2));
6126 
6127 EXPORT dwg_object *
6128 dwg_obj_generic_to_object (const void *restrict obj,
6129                            int *restrict error) __nonnull ((2));
6130 EXPORT unsigned long
6131 dwg_obj_generic_handlevalue (void *_obj) __nonnull_all;
6132 Dwg_Data *
6133 dwg_obj_generic_dwg (const void *restrict obj,
6134                      int *restrict error) __nonnull_all;
6135 EXPORT dwg_obj_obj *
6136 dwg_obj_generic_parent (const void *restrict obj,
6137                         int *restrict error) __nonnull ((2));
6138 
6139 EXPORT dwg_object *dwg_get_object (dwg_data *dwg, BITCODE_BL index);
6140 
6141 EXPORT BITCODE_RL dwg_object_get_bitsize (const dwg_object *obj);
6142 
6143 EXPORT BITCODE_BL dwg_object_get_index (const dwg_object *restrict obj,
6144                                         int *restrict error) __nonnull ((2));
6145 
6146 EXPORT dwg_handle *dwg_object_get_handle (dwg_object *restrict obj,
6147                                           int *restrict error) __nonnull ((2));
6148 
6149 EXPORT dwg_obj_obj *dwg_object_to_object (dwg_object *restrict obj,
6150                                           int *restrict error) __nonnull ((2));
6151 
6152 EXPORT dwg_obj_ent *dwg_object_to_entity (dwg_object *restrict obj,
6153                                           int *restrict error) __nonnull ((2));
6154 
6155 EXPORT int dwg_object_get_type (const dwg_object *obj);
6156 
6157 EXPORT int dwg_object_get_fixedtype (const dwg_object *obj);
6158 
6159 EXPORT char *dwg_object_get_dxfname (const dwg_object *obj);
6160 
6161 EXPORT BITCODE_BL dwg_ref_get_absref (const dwg_object_ref *restrict ref,
6162                                       int *restrict error) __nonnull ((2));
6163 
6164 EXPORT dwg_object *dwg_ref_get_object (const dwg_object_ref *restrict ref,
6165                                        int *restrict error) __nonnull ((2));
6166 
6167 EXPORT dwg_object *dwg_absref_get_object (const dwg_data *dwg,
6168                                           const BITCODE_BL absref);
6169 
6170 EXPORT unsigned int dwg_get_num_classes (const dwg_data *dwg);
6171 
6172 EXPORT dwg_class *dwg_get_class (const dwg_data *dwg, unsigned int index);
6173 
6174 /********************************************************************
6175  *                    FUNCTIONS FOR ADDING OBJECTS                  *
6176  ********************************************************************/
6177 /* This is only useful for DXF exports or dwg USE_WRITE support */
6178 
6179 /* All BITCODE_T strings are encoded as UTF-8, as with the dynapi.
6180    Most names are copied, since most names are considered to be constant.
6181    If not, you need to free them by yourself.
6182 
6183    Exceptions are dxfname (there exists a seperate dxfname_u variant),
6184    the VX name, which does not exists anymore since r2000.
6185 
6186    When writing DWG, a version of R_2000 is recommended, only R_13 - R-2000
6187    are supported yet. For DXF you can try all versions >= R_13.
6188  */
6189 
6190 EXPORT Dwg_Data *dwg_add_Document (const Dwg_Version_Type version,
6191                                    const int imperial, const int loglevel);
6192 
6193 /* Convert UTF-8 strings to BITCODE_T fields. Returns a copy of the string. */
6194 EXPORT BITCODE_T dwg_add_u8_input (Dwg_Data *restrict dwg,
6195                                    const char *restrict u8str) __nonnull_all;
6196 
6197 /* no proxy, no is_zombie */
6198 /* returns -1 on error, 0 on success */
6199 EXPORT int
6200 dwg_add_class (Dwg_Data *restrict dwg, const char *const restrict dxfname,
6201                const char *const restrict cppname, const char *const restrict appname,
6202                const bool is_entity) __nonnull ((1, 2, 3));
6203 /* check if already exists, and if not add dxfname-specific defaults */
6204 EXPORT int dwg_require_class (Dwg_Data *restrict dwg,
6205                               const char *const restrict dxfname, const int len) __nonnull_all;
6206 /* insert entity into mspace, pspace or other block */
6207 EXPORT int dwg_insert_entity (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6208                               Dwg_Object *restrict obj) __nonnull_all;
6209 /* returns BLOCK_HEADER owner for generic entity from ent->ownerhandle */
6210 Dwg_Object_BLOCK_HEADER *
6211 dwg_entity_owner (const void *_ent) __nonnull_all;
6212 
6213 /* Set defaults from HEADER: CLAYER, linewt, ltype_scale, color, ... */
6214 EXPORT int
6215 dwg_add_entity_defaults (Dwg_Data *restrict dwg,
6216                          Dwg_Object_Entity *restrict ent) __nonnull_all;
6217 
6218 EXPORT Dwg_Entity_TEXT*
6219 dwg_add_TEXT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6220               const char* restrict text_value,
6221               const dwg_point_3d *restrict ins_pt,
6222               const double height) __nonnull_all;
6223 
6224 /* Experimental. Does not work yet properly */
6225 /* This adds the ATTRIB and ENDBLK to the insert,
6226    and the ATTDEF and ENDBLK to the block, if missing.
6227    flags, bitmask of:
6228    0 none
6229    1 invisible, overridden by ATTDISP
6230    2 constant, no prompt
6231    4 verify on insert
6232    8 preset, inserted only with its default values, not editable.
6233 */
6234 EXPORT Dwg_Entity_ATTRIB*
6235 dwg_add_Attribute (Dwg_Entity_INSERT *restrict insert,
6236                    const double height,
6237                    const int flags,
6238                    const char* restrict prompt,
6239                    const dwg_point_3d *restrict ins_pt,
6240                    const char* restrict tag,
6241                    const char* restrict text_value)  __nonnull_all;
6242 EXPORT Dwg_Entity_BLOCK*
6243 dwg_add_BLOCK (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6244                const char* restrict name) __nonnull_all;
6245 EXPORT Dwg_Entity_ENDBLK*
6246 dwg_add_ENDBLK (Dwg_Object_BLOCK_HEADER *restrict blkhdr) __nonnull_all;
6247 
6248 /* Experimental. Does not work yet properly */
6249 EXPORT Dwg_Entity_INSERT*
6250 dwg_add_INSERT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6251                 const dwg_point_3d *restrict ins_pt,
6252                 const char* restrict name,
6253                 const double xscale,
6254                 const double yscale,
6255                 const double zscale,
6256                 const double rotation) __nonnull_all;
6257 /* Experimental. Does not work yet properly */
6258 EXPORT Dwg_Entity_MINSERT*
6259 dwg_add_MINSERT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6260                  const dwg_point_3d *restrict ins_pt,
6261                  const char* restrict name,
6262                  const double xscale,
6263                  const double yscale,
6264                  const double zscale,
6265                  const double rotation,
6266                  const int num_rows,
6267                  const int num_cols,
6268                  const double row_spacing,
6269                  const double col_spacing) __nonnull_all;
6270 EXPORT Dwg_Entity_POLYLINE_2D*
6271 dwg_add_POLYLINE_2D (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6272                     const int num_pts,
6273                     const dwg_point_2d *restrict pts) __nonnull_all;
6274 EXPORT Dwg_Entity_POLYLINE_3D*
6275 dwg_add_POLYLINE_3D (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6276                      const int num_pts,
6277                      const dwg_point_3d *restrict pts) __nonnull_all;
6278 EXPORT Dwg_Entity_POLYLINE_PFACE*
6279 dwg_add_POLYLINE_PFACE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6280                         const unsigned numverts,
6281                         const unsigned numfaces,
6282                         const dwg_point_3d *restrict verts,
6283                         const dwg_face *restrict faces) __nonnull_all;
6284 EXPORT Dwg_Entity_POLYLINE_MESH*
6285 dwg_add_POLYLINE_MESH (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6286                        const unsigned num_m_verts,
6287                        const unsigned num_n_verts,
6288                        const dwg_point_3d *restrict verts) __nonnull_all;
6289 EXPORT Dwg_Entity_ARC*
6290 dwg_add_ARC (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6291              const dwg_point_3d *restrict center,
6292              const double radius,
6293              const double start_angle,
6294              const double end_angle) __nonnull_all;
6295 EXPORT Dwg_Entity_CIRCLE*
6296 dwg_add_CIRCLE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6297                 const dwg_point_3d *restrict center,
6298                 const double radius) __nonnull_all;
6299 EXPORT Dwg_Entity_LINE*
6300 dwg_add_LINE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6301               const dwg_point_3d *restrict start_pt,
6302               const dwg_point_3d *restrict end_pt) __nonnull_all;
6303 EXPORT Dwg_Entity_DIMENSION_ALIGNED*
6304 dwg_add_DIMENSION_ALIGNED (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6305                            const dwg_point_3d *restrict xline1_pt,
6306                            const dwg_point_3d *restrict xline2_pt,
6307                            const dwg_point_3d *restrict text_pt) __nonnull_all;
6308 EXPORT Dwg_Entity_DIMENSION_ANG2LN* /* DimAngular */
6309 dwg_add_DIMENSION_ANG2LN (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6310                           const dwg_point_3d *restrict center_pt,
6311                           const dwg_point_3d *restrict xline1end_pt,
6312                           const dwg_point_3d *restrict xline2end_pt,
6313                           const dwg_point_3d *restrict text_pt) __nonnull_all;
6314 EXPORT Dwg_Entity_DIMENSION_ANG3PT*
6315 dwg_add_DIMENSION_ANG3PT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6316                           const dwg_point_3d *restrict center_pt,
6317                           const dwg_point_3d *restrict xline1_pt,
6318                           const dwg_point_3d *restrict xline2_pt,
6319                           const dwg_point_3d *restrict text_pt) __nonnull_all;
6320 EXPORT Dwg_Entity_DIMENSION_DIAMETER*
6321 dwg_add_DIMENSION_DIAMETER (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6322                             const dwg_point_3d *restrict chord_pt,
6323                             const dwg_point_3d *restrict far_chord_pt,
6324                             const double leader_len) __nonnull_all;
6325 EXPORT Dwg_Entity_DIMENSION_ORDINATE*
6326 dwg_add_DIMENSION_ORDINATE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6327                             const dwg_point_3d *restrict def_pt, /* = feature_location_pt */
6328                             const dwg_point_3d *restrict leader_endpt,
6329                             const bool use_x_axis) __nonnull_all;
6330 EXPORT Dwg_Entity_DIMENSION_RADIUS*
6331 dwg_add_DIMENSION_RADIUS (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6332                           const dwg_point_3d *restrict center_pt,
6333                           const dwg_point_3d *restrict chord_pt,
6334                           const double leader_len) __nonnull_all;
6335 EXPORT Dwg_Entity_DIMENSION_LINEAR* /* Rotated */
6336 dwg_add_DIMENSION_LINEAR (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6337                           const dwg_point_3d *restrict xline1_pt,
6338                           const dwg_point_3d *restrict xline2_pt,
6339                           const dwg_point_3d *restrict def_pt,
6340                           const double rotation_angle) __nonnull_all;
6341 EXPORT Dwg_Entity_POINT*
6342 dwg_add_POINT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6343                const dwg_point_3d *restrict pt) __nonnull_all;
6344 EXPORT Dwg_Entity__3DFACE*
6345 dwg_add_3DFACE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6346                 const dwg_point_3d *restrict pt1,
6347                 const dwg_point_3d *restrict pt2,
6348                 const dwg_point_3d *restrict pt3,
6349                 const dwg_point_3d *restrict pt4 /* may be NULL */)
6350   __nonnull ((1,2,3,4));
6351 EXPORT Dwg_Entity_SOLID*
6352 dwg_add_SOLID (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6353                const dwg_point_3d *restrict pt1,
6354                const dwg_point_2d *restrict pt2,
6355                const dwg_point_2d *restrict pt3,
6356                const dwg_point_2d *restrict pt4) __nonnull_all;
6357 EXPORT Dwg_Entity_TRACE*
6358 dwg_add_TRACE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6359                const dwg_point_3d *restrict pt1,
6360                const dwg_point_2d *restrict pt2,
6361                const dwg_point_2d *restrict pt3,
6362                const dwg_point_2d *restrict pt4) __nonnull_all;
6363 /* Experimental. Does not work yet properly */
6364 EXPORT Dwg_Entity_SHAPE*
6365 dwg_add_SHAPE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6366                const char* restrict name,
6367                const dwg_point_3d *restrict ins_pt,
6368                const double scale,
6369                const double oblique_angle) __nonnull_all;
6370 EXPORT Dwg_Entity_VIEWPORT*
6371 dwg_add_VIEWPORT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6372                   const char* restrict name) __nonnull_all;
6373 EXPORT Dwg_Entity_ELLIPSE*
6374 dwg_add_ELLIPSE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6375                const dwg_point_3d *restrict center,
6376                const double major_axis,
6377                const double axis_ratio) __nonnull_all;
6378 /* Experimental. Does not work yet properly */
6379 EXPORT Dwg_Entity_SPLINE*
6380 dwg_add_SPLINE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6381                 const int num_fit_pts,
6382                 const dwg_point_3d *restrict fit_pts,
6383                 const dwg_point_3d *restrict beg_tan_vec,
6384                 const dwg_point_3d *restrict end_tan_vec) __nonnull_all;
6385 /* Experimental. Does not work yet properly */
6386 EXPORT Dwg_Entity_REGION*
6387 dwg_add_REGION (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6388                 const char *acis_data) __nonnull_all;
6389 /* Experimental. Does not work yet properly */
6390 EXPORT Dwg_Entity_3DSOLID*
6391 dwg_add_3DSOLID (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6392                  const char *acis_data) __nonnull_all;
6393 /* Experimental. Does not work yet properly */
6394 EXPORT Dwg_Entity_BODY*
6395 dwg_add_BODY (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6396               const char *acis_data) __nonnull_all;
6397 /* TODO VBA has two points, not a vector */
6398 EXPORT Dwg_Entity_RAY*
6399 dwg_add_RAY (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6400              const dwg_point_3d *restrict point,
6401              const dwg_point_3d *restrict vector) __nonnull_all;
6402 EXPORT Dwg_Entity_XLINE*
6403 dwg_add_XLINE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6404                const dwg_point_3d *restrict point,
6405                const dwg_point_3d *restrict vector)  __nonnull_all;
6406 
6407 EXPORT Dwg_Object_DICTIONARY *
6408 dwg_add_DICTIONARY (Dwg_Data *restrict dwg,
6409                     const char* restrict name, /* the NOD entry */
6410                     const char* restrict text, /* maybe NULL */
6411                     const unsigned long absolute_ref) __nonnull ((1));
6412 EXPORT Dwg_Object_DICTIONARY*
6413 dwg_add_DICTIONARY_item (Dwg_Object_DICTIONARY* _obj,
6414                          const char* restrict text,
6415                          const unsigned long absolute_ref)  __nonnull_all;
6416 EXPORT Dwg_Object_DICTIONARYWDFLT *
6417 dwg_add_DICTIONARYWDFLT (Dwg_Data *restrict dwg,
6418                          const char* restrict name, /* the NOD entry */
6419                          const char* restrict text, /* maybe NULL */
6420                          const unsigned long absolute_ref) __nonnull ((1));
6421 EXPORT Dwg_Entity_OLE2FRAME*
6422 dwg_add_OLE2FRAME (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6423                    const dwg_point_3d *restrict pt1,
6424                    const dwg_point_3d *restrict pt2) __nonnull_all;
6425 /* Experimental. Does not work yet properly */
6426 EXPORT Dwg_Entity_MTEXT*
6427 dwg_add_MTEXT (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6428                const dwg_point_3d *restrict ins_pt,
6429                const double rect_width,
6430                const char* restrict text_value) __nonnull_all;
6431 /* Experimental. Does not work yet properly */
6432 EXPORT Dwg_Entity_LEADER*
6433 dwg_add_LEADER (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6434                 const unsigned num_points,
6435                 const dwg_point_3d *restrict points,
6436                 const Dwg_Entity_MTEXT *restrict associated_annotation, /* maybe NULL */
6437                 const unsigned type) __nonnull ((1, 3));
6438 EXPORT Dwg_Entity_TOLERANCE*
6439 dwg_add_TOLERANCE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6440                    const char* restrict text_value,
6441                    const dwg_point_3d *restrict ins_pt,
6442                    const dwg_point_3d *restrict x_direction /* maybe NULL */) __nonnull ((1,2,3));
6443 EXPORT Dwg_Entity_MLINE*
6444 dwg_add_MLINE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6445                const unsigned num_verts,
6446                const dwg_point_3d *restrict verts) __nonnull_all;
6447 
6448 EXPORT Dwg_Entity_LWPOLYLINE*
6449 dwg_add_LWPOLYLINE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6450                     const int num_pts2d,
6451                     const dwg_point_2d *restrict pts2d) __nonnull_all;
6452 
6453 /* Experimental. Does not work yet properly */
6454 EXPORT Dwg_Entity_HATCH*
6455 dwg_add_HATCH (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6456                const int pattern_type,
6457                const char* restrict name,
6458                const bool is_associative,
6459                const unsigned num_paths,
6460                // Line, Polyline, Circle, Ellipse, Spline or Region objs as boundary_handles
6461                const Dwg_Object **pathobjs) __nonnull_all;
6462 
6463 /* Add to DICTIONARY */
6464 EXPORT Dwg_Object_XRECORD*
6465 dwg_add_XRECORD (Dwg_Object_DICTIONARY* restrict dict,
6466                  const char* restrict keyword) __nonnull_all;
6467 EXPORT Dwg_Object_XRECORD *
6468 dwg_add_XRECORD_bool (Dwg_Object_XRECORD *restrict _obj,
6469                       const short dxf, const BITCODE_B value) __nonnull ((1));
6470 EXPORT Dwg_Object_XRECORD *
6471 dwg_add_XRECORD_int8 (Dwg_Object_XRECORD *restrict _obj,
6472                       const short dxf, const BITCODE_RC value) __nonnull ((1));
6473 EXPORT Dwg_Object_XRECORD *
6474 dwg_add_XRECORD_int16 (Dwg_Object_XRECORD *restrict _obj,
6475                       const short dxf, const BITCODE_BS value) __nonnull ((1));
6476 EXPORT Dwg_Object_XRECORD *
6477 dwg_add_XRECORD_int32 (Dwg_Object_XRECORD *restrict _obj,
6478                       const short dxf, const BITCODE_BL value) __nonnull ((1));
6479 EXPORT Dwg_Object_XRECORD *
6480 dwg_add_XRECORD_int64 (Dwg_Object_XRECORD *restrict _obj,
6481                       const short dxf, const BITCODE_BLL value) __nonnull ((1));
6482 EXPORT Dwg_Object_XRECORD *
6483 dwg_add_XRECORD_real (Dwg_Object_XRECORD *restrict _obj,
6484                       const short dxf, const BITCODE_BD value) __nonnull ((1));
6485 EXPORT Dwg_Object_XRECORD *
6486 dwg_add_XRECORD_pointd3d (Dwg_Object_XRECORD *restrict _obj,
6487                           const short dxf, const BITCODE_3DPOINT *pt) __nonnull ((1));
6488 EXPORT Dwg_Object_XRECORD *
6489 dwg_add_XRECORD_binary (Dwg_Object_XRECORD *restrict _obj,
6490                         const short dxf,
6491                         const int size, const BITCODE_RC* data) __nonnull_all;
6492 EXPORT Dwg_Object_XRECORD *
6493 dwg_add_XRECORD_string (Dwg_Object_XRECORD *restrict _obj,
6494                         const short dxf,
6495                         const BITCODE_BS len,
6496                         const char *restrict str) __nonnull_all;
6497 EXPORT Dwg_Object_XRECORD *
6498 dwg_add_XRECORD_handle (Dwg_Object_XRECORD *restrict _obj,
6499                         const short dxf, const Dwg_Handle hdl) __nonnull_all;
6500 
6501 EXPORT Dwg_Object_PLACEHOLDER*
6502 dwg_add_PLACEHOLDER (Dwg_Data *restrict dwg) __nonnull_all;
6503 EXPORT Dwg_Object_VBA_PROJECT *
6504 dwg_add_VBA_PROJECT (Dwg_Data *restrict dwg, const BITCODE_BL size,
6505                      const BITCODE_RC *data) __nonnull_all;
6506 /* Either added to mspace, pspace, or VIEWPORT entity in pspace, or VPORT object in mspace. */
6507 EXPORT Dwg_Object_LAYOUT *
6508 dwg_add_LAYOUT (Dwg_Object *restrict vp,
6509                 const char *restrict name,
6510                 const char *restrict canonical_media_name) __nonnull_all;
6511 
6512 /* Experimental. Does not work yet properly. */
6513 // Called Raster in VBA
6514 EXPORT Dwg_Entity_IMAGE*
6515 dwg_add_IMAGE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6516                const char *restrict file_path,
6517                const dwg_point_3d *restrict ins_pt,
6518                const double scale_factor,
6519                const double rotation_angle) __nonnull_all;
6520 
6521 EXPORT Dwg_Entity_LARGE_RADIAL_DIMENSION*
6522 dwg_add_LARGE_RADIAL_DIMENSION (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6523                                 const dwg_point_3d *restrict center_pt,
6524                                 const dwg_point_3d *restrict first_arc_pt,
6525                                 const dwg_point_3d *restrict ovr_center,
6526                                 const dwg_point_3d *restrict jog_point,
6527                                 const double leader_len) __nonnull_all;
6528 
6529 /* Experimental. Does not work yet properly. */
6530 EXPORT Dwg_Entity_PDFUNDERLAY *
6531 dwg_add_PDFUNDERLAY (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6532                      const char *restrict filename,
6533                      const dwg_point_3d *restrict ins_pt, const double scale_factor,
6534                      const double rotation_angle) __nonnull_all;
6535 
6536 /* All the ACSH methods and 3d primitives are still experimental.
6537    They do not work yet properly */
6538 Dwg_Object_ACSH_BOX_CLASS*
6539 dwg_add_ACSH_BOX_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6540                         const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6541                         const double length, const double width,
6542                         const double height) __nonnull_all;
6543 Dwg_Object_ACSH_CHAMFER_CLASS*
6544 dwg_add_ACSH_CHAMFER_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6545                             const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6546                             const int bl92, const double base_dist,
6547                             const double other_dist, const int num_edges,
6548                             const int32_t* edges, const int bl95) __nonnull_all;
6549 Dwg_Object_ACSH_CONE_CLASS*
6550 dwg_add_ACSH_CONE_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6551                          const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6552                          const double height, const double major_radius,
6553                          const double minor_radius, const double x_radius)
6554   __nonnull_all;
6555 Dwg_Object_ACSH_CYLINDER_CLASS*
6556 dwg_add_ACSH_CYLINDER_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6557                              const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6558                              const double height, const double major_radius,
6559                              const double minor_radius, const double x_radius)
6560   __nonnull_all;
6561 Dwg_Object_ACSH_PYRAMID_CLASS*
6562 dwg_add_ACSH_PYRAMID_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6563                             const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6564                             const double height, const int sides,
6565                             const double radius, const double topradius)
6566   __nonnull_all;
6567 Dwg_Object_ACSH_SPHERE_CLASS*
6568 dwg_add_ACSH_SPHERE_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6569                            const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6570                            const double radius)
6571   __nonnull_all;
6572 Dwg_Object_ACSH_TORUS_CLASS*
6573 dwg_add_ACSH_TORUS_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6574                           const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6575                           const double major_radius, const double minor_radius)
6576   __nonnull_all;
6577 Dwg_Object_ACSH_WEDGE_CLASS*
6578 dwg_add_ACSH_WEDGE_CLASS (Dwg_Object_EVALUATION_GRAPH *restrict evalgraph,
6579                           const dwg_point_3d *restrict origin_pt, const dwg_point_3d *restrict normal,
6580                           const double length, const double width,
6581                           const double height) __nonnull_all;
6582 Dwg_Object_EVALUATION_GRAPH*
6583 dwg_add_EVALUATION_GRAPH (Dwg_Data *restrict dwg,
6584                           const int has_graph,
6585                           const int nodeid,
6586                           const unsigned num_evalexpr,
6587                           const BITCODE_H *restrict evalexpr) __nonnull ((1));
6588 Dwg_Object_ACSH_HISTORY_CLASS*
6589 dwg_add_ACSH_HISTORY_CLASS (Dwg_Entity_3DSOLID *restrict region,
6590                             const int h_nodeid) __nonnull_all;
6591 
6592 EXPORT Dwg_Entity_3DSOLID*
6593 dwg_add_BOX (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6594              const dwg_point_3d *restrict origin_pt,
6595              const dwg_point_3d *restrict normal, /* maybe NULL */
6596              const double length,
6597              const double width,
6598              const double height) __nonnull ((1,2));
6599 
6600 EXPORT Dwg_Entity_3DSOLID*
6601 dwg_add_CONE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6602               const dwg_point_3d *restrict origin_pt,
6603               const dwg_point_3d *restrict normal, /* maybe NULL */
6604               const double height, const double major_radius,
6605               const double minor_radius, const double x_radius) __nonnull ((1,2));
6606 EXPORT Dwg_Entity_3DSOLID*
6607 dwg_add_CYLINDER (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6608                   const dwg_point_3d *restrict origin_pt,
6609                   const dwg_point_3d *restrict normal, /* maybe NULL */
6610                   const double height, const double major_radius,
6611                   const double minor_radius, const double x_radius) __nonnull ((1,2));
6612 //EXPORT Dwg_Entity_3DSOLID*
6613 //dwg_add_CHAMFER (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6614 //                 const dwg_point_3d *restrict origin_pt,
6615 //                 const dwg_point_3d *restrict normal, /* maybe NULL */
6616 //                 const int bl92, const double base_dist,
6617 //                 const double other_dist, const int num_edges,
6618 //                 const int32_t* edges, const int bl95)  __nonnull ((1,2));
6619 //EXPORT Dwg_Entity_3DSOLID*
6620 //dwg_add_ELLIPTICAL_CONE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6621 //                         const dwg_point_3d *restrict origin_pt,
6622 //                         const dwg_point_3d *restrict normal, /* maybe NULL */
6623 //                         const double major_radius,
6624 //                         const double minor_radius,
6625 //                         const double height) __nonnull ((1,2));
6626 //EXPORT Dwg_Entity_3DSOLID*
6627 //dwg_add_ELLIPTICAL_CYLINDER (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6628 //                             const dwg_point_3d *restrict origin_pt,
6629 //                             const dwg_point_3d *restrict normal, /* maybe NULL */
6630 //                             const double major_radius,
6631 //                             const double minor_radius,
6632 //                             const double height) __nonnull ((1,2));
6633 EXPORT Dwg_Entity_3DSOLID*
6634 dwg_add_EXTRUDED_SOLID (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6635                         const Dwg_Object *restrict profile,
6636                         const double height,
6637                         const double taper_angle) __nonnull_all;
6638 EXPORT Dwg_Entity_3DSOLID*
6639 dwg_add_EXTRUDED_PATH (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6640                        const Dwg_Object *restrict profile,
6641                        const double height,
6642                        const double taper_angle) __nonnull_all;
6643 EXPORT Dwg_Entity_3DSOLID*
6644 dwg_add_PYRAMID (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6645                  const dwg_point_3d *restrict origin_pt,
6646                  const dwg_point_3d *restrict normal, /* maybe NULL */
6647                  const double height, const int sides,
6648                  const double radius, const double topradius) __nonnull ((1,2));
6649 EXPORT Dwg_Entity_3DSOLID*
6650 dwg_add_REVOLVED_SOLID (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6651                         const Dwg_Object *restrict profile,
6652                         const dwg_point_3d *restrict axis_pt,
6653                         const dwg_point_3d *restrict axis_dir,
6654                         const double angle) __nonnull_all;
6655 EXPORT Dwg_Entity_3DSOLID*
6656 dwg_add_SPHERE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6657                 const dwg_point_3d *restrict origin_pt,
6658                 const dwg_point_3d *restrict normal, /* maybe NULL */
6659                 const double radius) __nonnull ((1,2));
6660 EXPORT Dwg_Entity_3DSOLID*
6661 dwg_add_TORUS (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6662                const dwg_point_3d *restrict origin_pt,
6663                const dwg_point_3d *restrict normal, /* maybe NULL */
6664                const double torus_radius,
6665                const double tube_radius) __nonnull ((1,2));
6666 EXPORT Dwg_Entity_3DSOLID*
6667 dwg_add_WEDGE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6668                const dwg_point_3d *restrict origin_pt,
6669                const dwg_point_3d *restrict normal, /* maybe NULL */
6670                const double length,
6671                const double width,
6672                const double height) __nonnull ((1,2));
6673 /*
6674 EXPORT Dwg_Entity_TABLE*
6675 dwg_add_TABLE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
6676                const dwg_point_3d *restrict ins_pt,
6677                const int num_rows,
6678                const int num_cols,
6679                const double row_height,
6680                const double col_width) __nonnull_all;
6681 */
6682 
6683 /* Tables:
6684    The names are all accepted as UTF-8 only.
6685    On NULL names just create the CONTROL object/resp. NOD entry.
6686  */
6687 Dwg_Object_BLOCK_CONTROL*
6688 dwg_add_BLOCK_CONTROL (Dwg_Data *restrict dwg, const int ms, const int ps) __nonnull_all;
6689 
6690 EXPORT Dwg_Object_BLOCK_HEADER *
6691 dwg_add_BLOCK_HEADER (Dwg_Data *restrict dwg,
6692                       const char *restrict name) __nonnull ((1,2));
6693 EXPORT Dwg_Object_UCS *dwg_add_UCS (Dwg_Data *restrict dwg,
6694                                     const dwg_point_3d *restrict origin,
6695                                     const dwg_point_3d *restrict x_axis,
6696                                     const dwg_point_3d *restrict y_axis,
6697                                     const char *restrict name) __nonnull ((1,2));
6698 EXPORT Dwg_Object_LAYER*
6699 dwg_add_LAYER (Dwg_Data *restrict dwg,
6700                const char *restrict name /* maybe NULL */) __nonnull ((1));
6701 EXPORT Dwg_Object_STYLE*
6702 dwg_add_STYLE (Dwg_Data *restrict dwg,
6703                const char *restrict name /* maybe NULL */) __nonnull ((1));
6704 EXPORT Dwg_Object_LTYPE*
6705 dwg_add_LTYPE (Dwg_Data *restrict dwg,
6706                const char *restrict name /* maybe NULL */) __nonnull ((1));
6707 EXPORT Dwg_Object_VIEW*
6708 dwg_add_VIEW (Dwg_Data *restrict dwg,
6709               const char *restrict name /* maybe NULL */) __nonnull ((1));
6710 EXPORT Dwg_Object_DIMSTYLE*
6711 dwg_add_DIMSTYLE (Dwg_Data *restrict dwg,
6712                   const char *restrict name /* maybe NULL */) __nonnull ((1));
6713 EXPORT Dwg_Object_VPORT*
6714 dwg_add_VPORT (Dwg_Data *restrict dwg,
6715                const char *restrict name /* maybe NULL */) __nonnull ((1));
6716 EXPORT Dwg_Object_VX_TABLE_RECORD*
6717 dwg_add_VX (Dwg_Data *restrict dwg,
6718             const char* restrict name /* maybe NULL */) __nonnull ((1));
6719 EXPORT Dwg_Object_APPID*
6720 dwg_add_APPID (Dwg_Data *restrict dwg,
6721                const char *restrict name /* maybe NULL */) __nonnull ((1));
6722 EXPORT Dwg_Object_GROUP*
6723 dwg_add_GROUP (Dwg_Data *restrict dwg,
6724                const char *restrict name /* maybe NULL */) __nonnull ((1));
6725 
6726 /* Experimental. Does not work yet properly */
6727 EXPORT Dwg_Object_MLINESTYLE *
6728 dwg_add_MLINESTYLE (Dwg_Data *restrict dwg,
6729                     const char *restrict name) __nonnull_all;
6730 
6731 /* Experimental API's. Will change. */
6732 EXPORT Dwg_Object_PROXY_OBJECT *
6733 dwg_add_PROXY_OBJECT (Dwg_Data *restrict dwg, char *name, char *key
6734                       /*, size, data */) __nonnull_all;
6735 EXPORT Dwg_Entity_PROXY_ENTITY *
6736 dwg_add_PROXY_ENTITY (Dwg_Object_BLOCK_HEADER *restrict blkhdr /* ... */) __nonnull_all;
6737 EXPORT Dwg_Object_LAYERFILTER *
6738 dwg_add_LAYERFILTER (Dwg_Data *restrict dwg /* ... */) __nonnull_all;
6739 EXPORT Dwg_Object_LAYER_INDEX *
6740 dwg_add_LAYER_INDEX (Dwg_Data *restrict dwg /* ... */) __nonnull_all;
6741 EXPORT Dwg_Object_SPATIAL_FILTER *
6742 dwg_add_SPATIAL_FILTER (Dwg_Entity_INSERT *restrict insert /*, clip_verts... */) __nonnull_all;
6743 EXPORT Dwg_Object_SPATIAL_INDEX *
6744 dwg_add_SPATIAL_INDEX (Dwg_Data *restrict dwg /* ... */) __nonnull_all;
6745 
6746 EXPORT Dwg_Object_WIPEOUTVARIABLES*
6747 dwg_add_WIPEOUTVARIABLES (Dwg_Data *dwg /* ... */) __nonnull_all;
6748 
6749 /* List of yet supported and unsupported add entity and object API from objects.inc,
6750    so we can auto-generate API's, i.e. for gambas.
6751 
6752    _3D* are defined without underscore.
6753    add_<TABLE>_CONTROL are not needed, they are added on dwg_add_Document()
6754    and via add_<TABLE>.
6755  */
6756 #define HAVE_NO_DWG_ADD_ACMECOMMANDHISTORY
6757 #define HAVE_NO_DWG_ADD_ACMESCOPE
6758 #define HAVE_NO_DWG_ADD_ACMESTATEMGR
6759 #define HAVE_NO_DWG_ADD_ACSH_BOOLEAN_CLASS
6760 #define HAVE_NO_DWG_ADD_ACSH_BREP_CLASS
6761 #define HAVE_NO_DWG_ADD_ACSH_EXTRUSION_CLASS
6762 #define HAVE_NO_DWG_ADD_ACSH_FILLET_CLASS
6763 #define HAVE_NO_DWG_ADD_ACSH_LOFT_CLASS
6764 #define HAVE_NO_DWG_ADD_ACSH_REVOLVE_CLASS
6765 #define HAVE_NO_DWG_ADD_ACSH_SWEEP_CLASS
6766 #define HAVE_NO_DWG_ADD_ALDIMOBJECTCONTEXTDATA
6767 #define HAVE_NO_DWG_ADD_ALIGNMENTPARAMETERENTITY
6768 #define HAVE_NO_DWG_ADD_ANGDIMOBJECTCONTEXTDATA
6769 #define HAVE_NO_DWG_ADD_ANNOTSCALEOBJECTCONTEXTDATA
6770 #define HAVE_NO_DWG_ADD_APPID_CONTROL
6771 #define HAVE_NO_DWG_ADD_ARCALIGNEDTEXT
6772 #define HAVE_NO_DWG_ADD_ARC_DIMENSION
6773 #define HAVE_NO_DWG_ADD_ASSOC2DCONSTRAINTGROUP
6774 #define HAVE_NO_DWG_ADD_ASSOC3POINTANGULARDIMACTIONBODY
6775 #define HAVE_NO_DWG_ADD_ASSOCACTION
6776 #define HAVE_NO_DWG_ADD_ASSOCACTIONPARAM
6777 #define HAVE_NO_DWG_ADD_ASSOCALIGNEDDIMACTIONBODY
6778 #define HAVE_NO_DWG_ADD_ASSOCARRAYACTIONBODY
6779 #define HAVE_NO_DWG_ADD_ASSOCARRAYMODIFYACTIONBODY
6780 #define HAVE_NO_DWG_ADD_ASSOCARRAYMODIFYPARAMETERS
6781 #define HAVE_NO_DWG_ADD_ASSOCARRAYPATHPARAMETERS
6782 #define HAVE_NO_DWG_ADD_ASSOCARRAYPOLARPARAMETERS
6783 #define HAVE_NO_DWG_ADD_ASSOCARRAYRECTANGULARPARAMETERS
6784 #define HAVE_NO_DWG_ADD_ASSOCASMBODYACTIONPARAM
6785 #define HAVE_NO_DWG_ADD_ASSOCBLENDSURFACEACTIONBODY
6786 #define HAVE_NO_DWG_ADD_ASSOCCOMPOUNDACTIONPARAM
6787 #define HAVE_NO_DWG_ADD_ASSOCDEPENDENCY
6788 #define HAVE_NO_DWG_ADD_ASSOCDIMDEPENDENCYBODY
6789 #define HAVE_NO_DWG_ADD_ASSOCEDGEACTIONPARAM
6790 #define HAVE_NO_DWG_ADD_ASSOCEDGECHAMFERACTIONBODY
6791 #define HAVE_NO_DWG_ADD_ASSOCEDGEFILLETACTIONBODY
6792 #define HAVE_NO_DWG_ADD_ASSOCEXTENDSURFACEACTIONBODY
6793 #define HAVE_NO_DWG_ADD_ASSOCEXTRUDEDSURFACEACTIONBODY
6794 #define HAVE_NO_DWG_ADD_ASSOCFACEACTIONPARAM
6795 #define HAVE_NO_DWG_ADD_ASSOCFILLETSURFACEACTIONBODY
6796 #define HAVE_NO_DWG_ADD_ASSOCGEOMDEPENDENCY
6797 #define HAVE_NO_DWG_ADD_ASSOCLOFTEDSURFACEACTIONBODY
6798 #define HAVE_NO_DWG_ADD_ASSOCMLEADERACTIONBODY
6799 #define HAVE_NO_DWG_ADD_ASSOCNETWORK
6800 #define HAVE_NO_DWG_ADD_ASSOCNETWORKSURFACEACTIONBODY
6801 #define HAVE_NO_DWG_ADD_ASSOCOBJECTACTIONPARAM
6802 #define HAVE_NO_DWG_ADD_ASSOCOFFSETSURFACEACTIONBODY
6803 #define HAVE_NO_DWG_ADD_ASSOCORDINATEDIMACTIONBODY
6804 #define HAVE_NO_DWG_ADD_ASSOCOSNAPPOINTREFACTIONPARAM
6805 #define HAVE_NO_DWG_ADD_ASSOCPATCHSURFACEACTIONBODY
6806 #define HAVE_NO_DWG_ADD_ASSOCPATHACTIONPARAM
6807 #define HAVE_NO_DWG_ADD_ASSOCPERSSUBENTMANAGER
6808 #define HAVE_NO_DWG_ADD_ASSOCPLANESURFACEACTIONBODY
6809 #define HAVE_NO_DWG_ADD_ASSOCPOINTREFACTIONPARAM
6810 #define HAVE_NO_DWG_ADD_ASSOCRESTOREENTITYSTATEACTIONBODY
6811 #define HAVE_NO_DWG_ADD_ASSOCREVOLVEDSURFACEACTIONBODY
6812 #define HAVE_NO_DWG_ADD_ASSOCROTATEDDIMACTIONBODY
6813 #define HAVE_NO_DWG_ADD_ASSOCSWEPTSURFACEACTIONBODY
6814 #define HAVE_NO_DWG_ADD_ASSOCTRIMSURFACEACTIONBODY
6815 #define HAVE_NO_DWG_ADD_ASSOCVALUEDEPENDENCY
6816 #define HAVE_NO_DWG_ADD_ASSOCVARIABLE
6817 #define HAVE_NO_DWG_ADD_ASSOCVERTEXACTIONPARAM
6818 #define HAVE_NO_DWG_ADD_ATTDEF
6819 #define HAVE_NO_DWG_ADD_ATTRIB
6820 #define HAVE_NO_DWG_ADD_BACKGROUND
6821 #define HAVE_NO_DWG_ADD_BASEPOINTPARAMETERENTITY
6822 #define HAVE_NO_DWG_ADD_BLKREFOBJECTCONTEXTDATA
6823 #define HAVE_NO_DWG_ADD_BLOCKALIGNEDCONSTRAINTPARAMETER
6824 #define HAVE_NO_DWG_ADD_BLOCKALIGNMENTGRIP
6825 #define HAVE_NO_DWG_ADD_BLOCKALIGNMENTPARAMETER
6826 #define HAVE_NO_DWG_ADD_BLOCKANGULARCONSTRAINTPARAMETER
6827 #define HAVE_NO_DWG_ADD_BLOCKARRAYACTION
6828 #define HAVE_NO_DWG_ADD_BLOCKBASEPOINTPARAMETER
6829 #define HAVE_NO_DWG_ADD_BLOCKDIAMETRICCONSTRAINTPARAMETER
6830 #define HAVE_NO_DWG_ADD_BLOCKFLIPACTION
6831 #define HAVE_NO_DWG_ADD_BLOCKFLIPGRIP
6832 #define HAVE_NO_DWG_ADD_BLOCKFLIPPARAMETER
6833 #define HAVE_NO_DWG_ADD_BLOCKGRIPLOCATIONCOMPONENT
6834 #define HAVE_NO_DWG_ADD_BLOCKHORIZONTALCONSTRAINTPARAMETER
6835 #define HAVE_NO_DWG_ADD_BLOCKLINEARCONSTRAINTPARAMETER
6836 #define HAVE_NO_DWG_ADD_BLOCKLINEARGRIP
6837 #define HAVE_NO_DWG_ADD_BLOCKLINEARPARAMETER
6838 #define HAVE_NO_DWG_ADD_BLOCKLOOKUPACTION
6839 #define HAVE_NO_DWG_ADD_BLOCKLOOKUPGRIP
6840 #define HAVE_NO_DWG_ADD_BLOCKLOOKUPPARAMETER
6841 #define HAVE_NO_DWG_ADD_BLOCKMOVEACTION
6842 #define HAVE_NO_DWG_ADD_BLOCKPARAMDEPENDENCYBODY
6843 #define HAVE_NO_DWG_ADD_BLOCKPOINTPARAMETER
6844 #define HAVE_NO_DWG_ADD_BLOCKPOLARGRIP
6845 #define HAVE_NO_DWG_ADD_BLOCKPOLARPARAMETER
6846 #define HAVE_NO_DWG_ADD_BLOCKPOLARSTRETCHACTION
6847 #define HAVE_NO_DWG_ADD_BLOCKPROPERTIESTABLE
6848 #define HAVE_NO_DWG_ADD_BLOCKPROPERTIESTABLEGRIP
6849 #define HAVE_NO_DWG_ADD_BLOCKRADIALCONSTRAINTPARAMETER
6850 #define HAVE_NO_DWG_ADD_BLOCKREPRESENTATION
6851 #define HAVE_NO_DWG_ADD_BLOCKROTATEACTION
6852 #define HAVE_NO_DWG_ADD_BLOCKROTATIONGRIP
6853 #define HAVE_NO_DWG_ADD_BLOCKROTATIONPARAMETER
6854 #define HAVE_NO_DWG_ADD_BLOCKSCALEACTION
6855 #define HAVE_NO_DWG_ADD_BLOCKSTRETCHACTION
6856 #define HAVE_NO_DWG_ADD_BLOCKUSERPARAMETER
6857 #define HAVE_NO_DWG_ADD_BLOCKVERTICALCONSTRAINTPARAMETER
6858 #define HAVE_NO_DWG_ADD_BLOCKVISIBILITYGRIP
6859 #define HAVE_NO_DWG_ADD_BLOCKVISIBILITYPARAMETER
6860 #define HAVE_NO_DWG_ADD_BLOCKXYGRIP
6861 #define HAVE_NO_DWG_ADD_BLOCKXYPARAMETER
6862 #define HAVE_NO_DWG_ADD_CAMERA
6863 #define HAVE_NO_DWG_ADD_CELLSTYLEMAP
6864 #define HAVE_NO_DWG_ADD_CONTEXTDATAMANAGER
6865 #define HAVE_NO_DWG_ADD_CSACDOCUMENTOPTIONS
6866 #define HAVE_NO_DWG_ADD_CURVEPATH
6867 #define HAVE_NO_DWG_ADD_DATALINK
6868 #define HAVE_NO_DWG_ADD_DATATABLE
6869 #define HAVE_NO_DWG_ADD_DBCOLOR
6870 #define HAVE_NO_DWG_ADD_DETAILVIEWSTYLE
6871 #define HAVE_NO_DWG_ADD_DICTIONARYVAR
6872 #define HAVE_NO_DWG_ADD_DIMASSOC
6873 #define HAVE_NO_DWG_ADD_DIMSTYLE_CONTROL
6874 #define HAVE_NO_DWG_ADD_DMDIMOBJECTCONTEXTDATA
6875 #define HAVE_NO_DWG_ADD_DUMMY
6876 #define HAVE_NO_DWG_ADD_DYNAMICBLOCKPROXYNODE
6877 #define HAVE_NO_DWG_ADD_DYNAMICBLOCKPURGEPREVENTER
6878 #define HAVE_NO_DWG_ADD_EXTRUDEDSURFACE
6879 #define HAVE_NO_DWG_ADD_FCFOBJECTCONTEXTDATA
6880 #define HAVE_NO_DWG_ADD_FIELD
6881 #define HAVE_NO_DWG_ADD_FIELDLIST
6882 #define HAVE_NO_DWG_ADD_FLIPPARAMETERENTITY
6883 #define HAVE_NO_DWG_ADD_GEODATA
6884 #define HAVE_NO_DWG_ADD_GEOMAPIMAGE
6885 #define HAVE_NO_DWG_ADD_GEOPOSITIONMARKER
6886 #define HAVE_NO_DWG_ADD_HELIX
6887 #define HAVE_NO_DWG_ADD_IDBUFFER
6888 #define HAVE_NO_DWG_ADD_IMAGEDEF
6889 #define HAVE_NO_DWG_ADD_IMAGEDEF_REACTOR
6890 #define HAVE_NO_DWG_ADD_INDEX
6891 #define HAVE_NO_DWG_ADD_LAYER_CONTROL
6892 #define HAVE_NO_DWG_ADD_LAYOUTPRINTCONFIG
6893 #define HAVE_NO_DWG_ADD_LEADEROBJECTCONTEXTDATA
6894 #define HAVE_NO_DWG_ADD_LIGHT
6895 #define HAVE_NO_DWG_ADD_LIGHTLIST
6896 #define HAVE_NO_DWG_ADD_LINEARPARAMETERENTITY
6897 #define HAVE_NO_DWG_ADD_LOFTEDSURFACE
6898 #define HAVE_NO_DWG_ADD_LONG_TRANSACTION
6899 #define HAVE_NO_DWG_ADD_LTYPE_CONTROL
6900 #define HAVE_NO_DWG_ADD_MATERIAL
6901 #define HAVE_NO_DWG_ADD_MENTALRAYRENDERSETTINGS
6902 #define HAVE_NO_DWG_ADD_MESH
6903 #define HAVE_NO_DWG_ADD_MLEADEROBJECTCONTEXTDATA
6904 #define HAVE_NO_DWG_ADD_MLEADERSTYLE
6905 #define HAVE_NO_DWG_ADD_MOTIONPATH
6906 #define HAVE_NO_DWG_ADD_MPOLYGON
6907 #define HAVE_NO_DWG_ADD_MTEXTATTRIBUTEOBJECTCONTEXTDATA
6908 #define HAVE_NO_DWG_ADD_MTEXTOBJECTCONTEXTDATA
6909 #define HAVE_NO_DWG_ADD_MULTILEADER
6910 #define HAVE_NO_DWG_ADD_NAVISWORKSMODEL
6911 #define HAVE_NO_DWG_ADD_NAVISWORKSMODELDEF
6912 #define HAVE_NO_DWG_ADD_NURBSURFACE
6913 #define HAVE_NO_DWG_ADD_OBJECT_PTR
6914 #define HAVE_NO_DWG_ADD_OLEFRAME
6915 #define HAVE_NO_DWG_ADD_ORDDIMOBJECTCONTEXTDATA
6916 #define HAVE_NO_DWG_ADD_PERSUBENTMGR
6917 #define HAVE_NO_DWG_ADD_PLANESURFACE
6918 #define HAVE_NO_DWG_ADD_PLOTSETTINGS
6919 #define HAVE_NO_DWG_ADD_POINTCLOUD
6920 #define HAVE_NO_DWG_ADD_POINTCLOUDCOLORMAP
6921 #define HAVE_NO_DWG_ADD_POINTCLOUDDEF
6922 #define HAVE_NO_DWG_ADD_POINTCLOUDDEFEX
6923 #define HAVE_NO_DWG_ADD_POINTCLOUDDEF_REACTOR
6924 #define HAVE_NO_DWG_ADD_POINTCLOUDDEF_REACTOR_EX
6925 #define HAVE_NO_DWG_ADD_POINTCLOUDEX
6926 #define HAVE_NO_DWG_ADD_POINTPARAMETERENTITY
6927 #define HAVE_NO_DWG_ADD_POINTPATH
6928 #define HAVE_NO_DWG_ADD_RADIMLGOBJECTCONTEXTDATA
6929 #define HAVE_NO_DWG_ADD_RADIMOBJECTCONTEXTDATA
6930 #define HAVE_NO_DWG_ADD_RAPIDRTRENDERSETTINGS
6931 #define HAVE_NO_DWG_ADD_RASTERVARIABLES
6932 #define HAVE_NO_DWG_ADD_RENDERENTRY
6933 #define HAVE_NO_DWG_ADD_RENDERENVIRONMENT
6934 #define HAVE_NO_DWG_ADD_RENDERGLOBAL
6935 #define HAVE_NO_DWG_ADD_RENDERSETTINGS
6936 #define HAVE_NO_DWG_ADD_REVOLVEDSURFACE
6937 #define HAVE_NO_DWG_ADD_ROTATIONPARAMETERENTITY
6938 #define HAVE_NO_DWG_ADD_RTEXT
6939 #define HAVE_NO_DWG_ADD_SCALE
6940 #define HAVE_NO_DWG_ADD_SECTIONOBJECT
6941 #define HAVE_NO_DWG_ADD_SECTIONVIEWSTYLE
6942 #define HAVE_NO_DWG_ADD_SECTION_MANAGER
6943 #define HAVE_NO_DWG_ADD_SECTION_SETTINGS
6944 #define HAVE_NO_DWG_ADD_SEQEND
6945 #define HAVE_NO_DWG_ADD_SORTENTSTABLE
6946 #define HAVE_NO_DWG_ADD_STYLE_CONTROL
6947 #define HAVE_NO_DWG_ADD_SUN
6948 #define HAVE_NO_DWG_ADD_SUNSTUDY
6949 #define HAVE_NO_DWG_ADD_SWEPTSURFACE
6950 #define HAVE_NO_DWG_ADD_TABLE
6951 #define HAVE_NO_DWG_ADD_TABLECONTENT
6952 #define HAVE_NO_DWG_ADD_TABLEGEOMETRY
6953 #define HAVE_NO_DWG_ADD_TABLESTYLE
6954 #define HAVE_NO_DWG_ADD_TEXTOBJECTCONTEXTDATA
6955 #define HAVE_NO_DWG_ADD_TVDEVICEPROPERTIES
6956 #define HAVE_NO_DWG_ADD_UCS_CONTROL
6957 #define HAVE_NO_DWG_ADD_DGNUNDERLAY
6958 #define HAVE_NO_DWG_ADD_DWFPDFUNDERLAY
6959 #define HAVE_NO_DWG_ADD_PDFDEFINITION
6960 #define HAVE_NO_DWG_ADD_DGNDEFINITION
6961 #define HAVE_NO_DWG_ADD_DWFDEFINITION
6962 #define HAVE_NO_DWG_ADD_UNKNOWN_ENT
6963 #define HAVE_NO_DWG_ADD_UNKNOWN_OBJ
6964 #define HAVE_NO_DWG_ADD_VERTEX_2D
6965 #define HAVE_NO_DWG_ADD_VERTEX_3D
6966 #define HAVE_NO_DWG_ADD_VERTEX_MESH
6967 #define HAVE_NO_DWG_ADD_VERTEX_PFACE
6968 #define HAVE_NO_DWG_ADD_VERTEX_PFACE_FACE
6969 #define HAVE_NO_DWG_ADD_VIEW_CONTROL
6970 #define HAVE_NO_DWG_ADD_VISIBILITYGRIPENTITY
6971 #define HAVE_NO_DWG_ADD_VISIBILITYPARAMETERENTITY
6972 #define HAVE_NO_DWG_ADD_VISUALSTYLE
6973 #define HAVE_NO_DWG_ADD_VPORT_CONTROL
6974 #define HAVE_NO_DWG_ADD_VX_CONTROL
6975 #define HAVE_NO_DWG_ADD_VX_TABLE_RECORD
6976 #define HAVE_NO_DWG_ADD_WIPEOUT
6977 #define HAVE_NO_DWG_ADD_WIPEOUTVARIABLES
6978 #define HAVE_NO_DWG_ADD_XYPARAMETERENTITY
6979 
6980 #define HAVE_NO_DWG_ADD_LAYERFILTER
6981 #define HAVE_NO_DWG_ADD_LAYER_INDEX
6982 #define HAVE_NO_DWG_ADD_SPATIAL_FILTER
6983 #define HAVE_NO_DWG_ADD_SPATIAL_INDEX
6984 
6985 #define HAVE_DWG_ADD_BOX
6986 #define HAVE_DWG_ADD_CONE
6987 #define HAVE_DWG_ADD_CYLINDER
6988 #define HAVE_DWG_ADD_SPHERE
6989 #define HAVE_DWG_ADD_TORUS
6990 #define HAVE_DWG_ADD_WEDGE
6991 #define HAVE_NO_DWG_ADD_CHAMFER
6992 #define HAVE_NO_DWG_ADD_ELLIPTICAL_CONE
6993 #define HAVE_NO_DWG_ADD_ELLIPTICAL_CYLINDER
6994 #define HAVE_NO_DWG_ADD_EXTRUDED_SOLID
6995 #define HAVE_NO_DWG_ADD_EXTRUDED_PATH
6996 #define HAVE_NO_DWG_ADD_REVOLVED_SOLID
6997 #define HAVE_NO_DWG_ADD_CHAMFER
6998 #define HAVE_NO_DWG_ADD_PYRAMID
6999 
7000 #define HAVE_DWG_ADD_3DFACE
7001 #define HAVE_DWG_ADD_3DSOLID
7002 #define HAVE_DWG_ADD_ACSH_BOX_CLASS
7003 #define HAVE_DWG_ADD_ACSH_CHAMFER_CLASS
7004 #define HAVE_DWG_ADD_ACSH_CONE_CLASS
7005 #define HAVE_DWG_ADD_ACSH_CYLINDER_CLASS
7006 #define HAVE_DWG_ADD_ACSH_HISTORY_CLASS
7007 #define HAVE_DWG_ADD_ACSH_PYRAMID_CLASS
7008 #define HAVE_DWG_ADD_ACSH_SPHERE_CLASS
7009 #define HAVE_DWG_ADD_ACSH_TORUS_CLASS
7010 #define HAVE_DWG_ADD_ACSH_WEDGE_CLASS
7011 #define HAVE_DWG_ADD_APPID
7012 #define HAVE_DWG_ADD_ARC
7013 #define HAVE_DWG_ADD_BLOCK
7014 #define HAVE_DWG_ADD_BLOCK_CONTROL
7015 #define HAVE_DWG_ADD_BLOCK_HEADER
7016 #define HAVE_DWG_ADD_BODY
7017 #define HAVE_DWG_ADD_CIRCLE
7018 #define HAVE_DWG_ADD_DICTIONARY
7019 #define HAVE_DWG_ADD_DICTIONARYWDFLT
7020 #define HAVE_DWG_ADD_DIMENSION_ALIGNED
7021 #define HAVE_DWG_ADD_DIMENSION_ANG2LN
7022 #define HAVE_DWG_ADD_DIMENSION_ANG3PT
7023 #define HAVE_DWG_ADD_DIMENSION_DIAMETER
7024 #define HAVE_DWG_ADD_DIMENSION_LINEAR
7025 #define HAVE_DWG_ADD_DIMENSION_ORDINATE
7026 #define HAVE_DWG_ADD_DIMENSION_RADIUS
7027 #define HAVE_DWG_ADD_DIMSTYLE
7028 #define HAVE_DWG_ADD_ELLIPSE
7029 #define HAVE_DWG_ADD_ENDBLK
7030 #define HAVE_DWG_ADD_EVALUATION_GRAPH
7031 #define HAVE_DWG_ADD_GROUP
7032 #define HAVE_DWG_ADD_HATCH
7033 #define HAVE_DWG_ADD_IMAGE
7034 #define HAVE_DWG_ADD_INSERT
7035 #define HAVE_DWG_ADD_LARGE_RADIAL_DIMENSION
7036 #define HAVE_DWG_ADD_LAYER
7037 #define HAVE_DWG_ADD_LAYOUT
7038 #define HAVE_DWG_ADD_LEADER
7039 #define HAVE_DWG_ADD_LINE
7040 #define HAVE_DWG_ADD_LTYPE
7041 #define HAVE_DWG_ADD_LWPOLYLINE
7042 #define HAVE_DWG_ADD_MINSERT
7043 #define HAVE_DWG_ADD_MLINE
7044 #define HAVE_DWG_ADD_MLINESTYLE
7045 #define HAVE_DWG_ADD_MTEXT
7046 #define HAVE_DWG_ADD_OLE2FRAME
7047 #define HAVE_DWG_ADD_PDFUNDERLAY
7048 #define HAVE_DWG_ADD_PLACEHOLDER
7049 #define HAVE_DWG_ADD_POINT
7050 #define HAVE_DWG_ADD_POLYLINE_2D
7051 #define HAVE_DWG_ADD_POLYLINE_3D
7052 #define HAVE_DWG_ADD_POLYLINE_MESH
7053 #define HAVE_DWG_ADD_POLYLINE_PFACE
7054 #define HAVE_DWG_ADD_PROXY_ENTITY
7055 #define HAVE_DWG_ADD_PROXY_OBJECT
7056 #define HAVE_DWG_ADD_RAY
7057 #define HAVE_DWG_ADD_REGION
7058 #define HAVE_DWG_ADD_SHAPE
7059 #define HAVE_DWG_ADD_SOLID
7060 #define HAVE_DWG_ADD_SPLINE
7061 #define HAVE_DWG_ADD_STYLE
7062 #define HAVE_DWG_ADD_TEXT
7063 #define HAVE_DWG_ADD_TOLERANCE
7064 #define HAVE_DWG_ADD_TRACE
7065 #define HAVE_DWG_ADD_UCS
7066 #define HAVE_DWG_ADD_VBA_PROJECT
7067 #define HAVE_DWG_ADD_VIEW
7068 #define HAVE_DWG_ADD_VIEWPORT
7069 #define HAVE_DWG_ADD_VPORT
7070 #define HAVE_DWG_ADD_VX
7071 #define HAVE_DWG_ADD_XLINE
7072 #define HAVE_DWG_ADD_XRECORD
7073 
7074 /* Some geometric helpers */
7075 
7076 /* in_radians */
7077 EXPORT double
7078 dwg_geom_angle_normalize (double angle);
7079 
7080 dwg_point_3d *
7081 dwg_geom_normalize (dwg_point_3d *out, const dwg_point_3d pt) __nonnull_all;
7082 
7083 dwg_point_3d *
7084 dwg_geom_cross (dwg_point_3d *out, const dwg_point_3d pt1, const dwg_point_3d pt2) __nonnull_all;
7085 
7086 /* Transform a 3D point via its OCS (extrusion or normal) */
7087 EXPORT dwg_point_3d *
7088 dwg_geom_transform_OCS (dwg_point_3d *out,
7089                         const dwg_point_3d pt,
7090                         const dwg_point_3d ext) __nonnull_all;
7091 
7092 #ifdef __cplusplus
7093 }
7094 #endif
7095 
7096 #endif
7097