Coverage Report

Created: 2025-10-12 06:47

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libredwg/src/dxfclasses.c
Line
Count
Source
1
/* ANSI-C code produced by gperf version 3.2 */
2
/* Command-line: gperf --output-file src/dxfclasses.tmp.c src/dxfclasses.in  */
3
/* Computed positions: -k'2,6,10,12,21' */
4
5
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28
/* The character set is not based on ISO-646.  */
29
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
30
#endif
31
32
#line 1 "src/dxfclasses.in"
33
// -*- mode: c -*-
34
/*****************************************************************************/
35
/*  LibreDWG - free implementation of the DWG file format                    */
36
/*                                                                           */
37
/*  Copyright (C) 2020 Free Software Foundation, Inc.                        */
38
/*                                                                           */
39
/*  This library is free software, licensed under the terms of the GNU       */
40
/*  General Public License as published by the Free Software Foundation,     */
41
/*  either version 3 of the License, or (at your option) any later version.  */
42
/*  You should have received a copy of the GNU General Public License        */
43
/*  along with this program.  If not, see <http://www.gnu.org/licenses/>.    */
44
/*****************************************************************************/
45
46
/*
47
 * dxfclasses.c: create classes, lookup the initial class values from its DXF name.
48
 *               generated via gperf from dxfclasses.in
49
 *
50
 * written Reini Urban
51
 */
52
53
#include <stdio.h>
54
#include <stdint.h>
55
#include <string.h>
56
#include <stdbool.h>
57
#include <limits.h>
58
#include "config.h"
59
#include "dwg.h"
60
#include "common.h"
61
// other imports
62
int dwg_add_class (Dwg_Data *restrict dwg, const char *const restrict dxfname,
63
                   const char *const restrict cppname, const char *const restrict appname,
64
                   const bool is_entity);
65
// export
66
EXPORT int dwg_require_class (Dwg_Data *restrict dwg,
67
                              const char *const restrict dxfname, const size_t len);
68
69
// v3.1 changed len type from unsigned int to size_t (gperf d519d1a821511eaa22eae6d9019a548aea21e6)
70
static const struct Dwg_DXFClass *in_word_set (const char *str, size_t len);
71
72
enum apptypes
73
{
74
  ODBXCLASS,
75
  ODBX_OR_A2000CLASS,
76
  A2000CLASS,
77
  SCENEOECLASS,
78
  ISMCLASS,
79
  EXPRESSCLASS,
80
  POINTCLOUDCLASS,
81
  DGNLSCLASS,
82
  AEC60CLASS,
83
  SPECIALCLASS,
84
  NanoSPDSCLASS,
85
};
86
0
#define ODBX ODBXCLASS
87
0
#define ISM ISMCLASS
88
0
#define SCENEOE SCENEOECLASS
89
0
#define EXPRESS EXPRESSCLASS
90
0
#define POINTCLOUD POINTCLOUDCLASS
91
0
#define DGNLS DGNLSCLASS
92
0
#define AEC60 AEC60CLASS
93
0
#define SPECIAL SPECIALCLASS
94
0
#define NanoSPDS NanoSPDSCLASS
95
//%null-strings
96
97
#line 72 "src/dxfclasses.in"
98
struct Dwg_DXFClass {int name; const char *const cppname; unsigned apptype:4; unsigned isent:1;};
99
100
GCC46_DIAG_IGNORE(-Wmissing-field-initializers);
101
102
#define TOTAL_KEYWORDS 222
103
0
#define MIN_WORD_LENGTH 3
104
0
#define MAX_WORD_LENGTH 39
105
#define MIN_HASH_VALUE 4
106
0
#define MAX_HASH_VALUE 716
107
/* maximum key range = 713, duplicates = 0 */
108
109
#ifdef __GNUC__
110
__inline
111
#else
112
#ifdef __cplusplus
113
inline
114
#endif
115
#endif
116
static unsigned int
117
hash (const char *str, size_t len)
118
0
{
119
0
  static const unsigned short asso_values[] =
120
0
    {
121
0
      717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
122
0
      717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
123
0
      717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
124
0
      717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
125
0
      717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
126
0
      717,  25, 717, 717, 717, 717, 717, 717, 717, 717,
127
0
      717, 717, 717, 717, 717,   0, 215,   5, 165,  25,
128
0
       30, 100,   5,  70, 240, 115,  50, 230, 210,  20,
129
0
       10, 100,  90,   5,  55,   5,  15,  20, 120, 160,
130
0
        0, 717, 717, 717, 717,  10,  35,   0, 717,   0,
131
0
      717,   0,   0, 717, 717,   0, 717, 717, 717, 717,
132
0
      717,   0,   0, 717, 717,   0,   0, 717, 717, 717,
133
0
      717, 717, 717, 717, 717, 717, 717, 717, 717
134
0
    };
135
0
  unsigned int hval = len & UINT_MAX;
136
137
0
  switch (hval)
138
0
    {
139
0
      default:
140
0
        hval += asso_values[(unsigned char)str[20]];
141
#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (__STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
142
      [[fallthrough]];
143
#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
144
      __attribute__ ((__fallthrough__));
145
0
#endif
146
      /*FALLTHROUGH*/
147
0
      case 20:
148
0
      case 19:
149
0
      case 18:
150
0
      case 17:
151
0
      case 16:
152
0
      case 15:
153
0
      case 14:
154
0
      case 13:
155
0
      case 12:
156
0
        hval += asso_values[(unsigned char)str[11]+1];
157
#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (__STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
158
      [[fallthrough]];
159
#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
160
      __attribute__ ((__fallthrough__));
161
0
#endif
162
      /*FALLTHROUGH*/
163
0
      case 11:
164
0
      case 10:
165
0
        hval += asso_values[(unsigned char)str[9]];
166
#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (__STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
167
      [[fallthrough]];
168
#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
169
      __attribute__ ((__fallthrough__));
170
0
#endif
171
      /*FALLTHROUGH*/
172
0
      case 9:
173
0
      case 8:
174
0
      case 7:
175
0
      case 6:
176
0
        hval += asso_values[(unsigned char)str[5]];
177
#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (__STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
178
      [[fallthrough]];
179
#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
180
      __attribute__ ((__fallthrough__));
181
0
#endif
182
      /*FALLTHROUGH*/
183
0
      case 5:
184
0
      case 4:
185
0
      case 3:
186
0
      case 2:
187
0
        hval += asso_values[(unsigned char)str[1]];
188
0
        break;
189
0
    }
190
0
  return hval;
191
0
}
192
193
struct stringpool_t
194
  {
195
    char stringpool_str4[sizeof("Wall")];
196
    char stringpool_str5[sizeof("HATCH")];
197
    char stringpool_str6[sizeof("Format")];
198
    char stringpool_str8[sizeof("SUN")];
199
    char stringpool_str9[sizeof("DATATABLE")];
200
    char stringpool_str10[sizeof("SCALE")];
201
    char stringpool_str14[sizeof("McDbContainer2")];
202
    char stringpool_str16[sizeof("spdsRelationMark")];
203
    char stringpool_str17[sizeof("SURFACE")];
204
    char stringpool_str18[sizeof("SUNSTUDY")];
205
    char stringpool_str26[sizeof("NURBSURFACE")];
206
    char stringpool_str29[sizeof("MESH")];
207
    char stringpool_str30[sizeof("ACDBASSOCACTION")];
208
    char stringpool_str31[sizeof("mcsDbObject")];
209
    char stringpool_str35[sizeof("ACDBASSOCACTIONPARAM")];
210
    char stringpool_str38[sizeof("ACDBCURVEPATH")];
211
    char stringpool_str40[sizeof("TABLESTYLE")];
212
    char stringpool_str44[sizeof("ACDBASSOCARRAYPOLARPARAMETERS")];
213
    char stringpool_str45[sizeof("ACDBASSOCARRAYMODIFYACTIONBODY")];
214
    char stringpool_str46[sizeof("LAYER_INDEX")];
215
    char stringpool_str47[sizeof("TABLECONTENT")];
216
    char stringpool_str48[sizeof("ACSH_HISTORY_CLASS")];
217
    char stringpool_str49[sizeof("ACDBASSOCPATHACTIONPARAM")];
218
    char stringpool_str51[sizeof("ACDBASSOCPERSSUBENTMANAGER")];
219
    char stringpool_str53[sizeof("ACDBPOINTPATH")];
220
    char stringpool_str54[sizeof("ACDBPOINTCLOUD")];
221
    char stringpool_str55[sizeof("ACDBASSOCARRAYMODIFYPARAMETERS")];
222
    char stringpool_str56[sizeof("ACDBPOINTCLOUDEX")];
223
    char stringpool_str57[sizeof("ACDBPOINTCLOUDDEF")];
224
    char stringpool_str59[sizeof("ACDBPOINTCLOUDDEFEX")];
225
    char stringpool_str60[sizeof("RTEXT")];
226
    char stringpool_str61[sizeof("LAYOUT")];
227
    char stringpool_str62[sizeof("ACDBPOINTCLOUDCOLORMAP")];
228
    char stringpool_str63[sizeof("ACSH_CHAMFER_CLASS")];
229
    char stringpool_str64[sizeof("ACDBASSOCEDGEACTIONPARAM")];
230
    char stringpool_str65[sizeof("ACDBPOINTCLOUDDEF_REACTOR")];
231
    char stringpool_str66[sizeof("ACAD_EVALUATION_GRAPH")];
232
    char stringpool_str67[sizeof("SWEPTSURFACE")];
233
    char stringpool_str68[sizeof("ACDBPOINTCLOUDDEF_REACTOR_EX")];
234
    char stringpool_str70[sizeof("ACDBASSOCEDGECHAMFERACTIONBODY")];
235
    char stringpool_str74[sizeof("ACDBASSOCEDGEFILLETACTIONBODY")];
236
    char stringpool_str75[sizeof("LIGHT")];
237
    char stringpool_str77[sizeof("ACDBASSOCEXTENDSURFACEACTIONBODY")];
238
    char stringpool_str78[sizeof("MATERIAL")];
239
    char stringpool_str80[sizeof("ACDBASSOC3POINTANGULARDIMACTIONBODY")];
240
    char stringpool_str81[sizeof("ACDBASSOCPATCHSURFACEACTIONBODY")];
241
    char stringpool_str82[sizeof("WIPEOUT")];
242
    char stringpool_str83[sizeof("DIMASSOC")];
243
    char stringpool_str85[sizeof("ACDBASSOCORDINATEDIMACTIONBODY")];
244
    char stringpool_str88[sizeof("BLOCKUSERPARAMETER")];
245
    char stringpool_str90[sizeof("ACDBSECTIONVIEWSTYLE")];
246
    char stringpool_str91[sizeof("MULTILEADER")];
247
    char stringpool_str95[sizeof("ACAD_TABLE")];
248
    char stringpool_str97[sizeof("PLANESURFACE")];
249
    char stringpool_str99[sizeof("SPATIAL_FILTER")];
250
    char stringpool_str100[sizeof("BLOCKFLIPACTION")];
251
    char stringpool_str101[sizeof("ACDBASSOCSWEPTSURFACEACTIONBODY")];
252
    char stringpool_str104[sizeof("ACDBASSOCEXTRUDEDSURFACEACTIONBODY")];
253
    char stringpool_str108[sizeof("ACDBASSOCOSNAPPOINTREFACTIONPARAM")];
254
    char stringpool_str109[sizeof("LSINTERNALCOMPONENT")];
255
    char stringpool_str110[sizeof("BLOCKPROPERTIESTABLE")];
256
    char stringpool_str112[sizeof("ACSH_FILLET_CLASS")];
257
    char stringpool_str113[sizeof("BLOCKFLIPPARAMETER")];
258
    char stringpool_str114[sizeof("BASEPOINTPARAMETERENTITY")];
259
    char stringpool_str120[sizeof("BLOCKLINEARGRIP")];
260
    char stringpool_str123[sizeof("ACDBBLOCKPARAMDEPENDENCYBODY")];
261
    char stringpool_str124[sizeof("FLIPPARAMETERENTITY")];
262
    char stringpool_str125[sizeof("BLOCKLOOKUPGRIP")];
263
    char stringpool_str128[sizeof("DWFDEFINITION")];
264
    char stringpool_str129[sizeof("LIGHTLIST")];
265
    char stringpool_str133[sizeof("ACDBASSOCARRAYPATHPARAMETERS")];
266
    char stringpool_str138[sizeof("NPOCOLLECTION")];
267
    char stringpool_str139[sizeof("ACDBASSOCROTATEDDIMACTIONBODY")];
268
    char stringpool_str142[sizeof("NOTEPOSITION")];
269
    char stringpool_str143[sizeof("TABLEGEOMETRY")];
270
    char stringpool_str149[sizeof("OLE2FRAME")];
271
    char stringpool_str150[sizeof("ACDBASSOCARRAYRECTANGULARPARAMETERS")];
272
    char stringpool_str152[sizeof("ACSH_SPHERE_CLASS")];
273
    char stringpool_str154[sizeof("POSITIONMARKER")];
274
    char stringpool_str160[sizeof("REVOLVEDSURFACE")];
275
    char stringpool_str165[sizeof("POLARGRIPENTITY")];
276
    char stringpool_str166[sizeof("SOLID_BACKGROUND")];
277
    char stringpool_str167[sizeof("ACDBASSOCOFFSETSURFACEACTIONBODY")];
278
    char stringpool_str169[sizeof("BLOCKPOLARGRIP")];
279
    char stringpool_str174[sizeof("ACDB_ANGDIMOBJECTCONTEXTDATA_CLASS")];
280
    char stringpool_str176[sizeof("ACDBPERSSUBENTMANAGER")];
281
    char stringpool_str177[sizeof("LSDEFINITION")];
282
    char stringpool_str179[sizeof("ACDB_LEADEROBJECTCONTEXTDATA_CLASS")];
283
    char stringpool_str180[sizeof("RASTERVARIABLES")];
284
    char stringpool_str181[sizeof("VISUALSTYLE")];
285
    char stringpool_str184[sizeof("ACDBASSOCREVOLVEDSURFACEACTIONBODY")];
286
    char stringpool_str187[sizeof("XRECORD")];
287
    char stringpool_str188[sizeof("ARC_DIMENSION")];
288
    char stringpool_str193[sizeof("ACSH_REVOLVE_CLASS")];
289
    char stringpool_str194[sizeof("ACDB_ORDDIMOBJECTCONTEXTDATA_CLASS")];
290
    char stringpool_str196[sizeof("DWFUNDERLAY")];
291
    char stringpool_str197[sizeof("ACDBASSOCLOFTEDSURFACEACTIONBODY")];
292
    char stringpool_str198[sizeof("BLOCKSTRETCHACTION")];
293
    char stringpool_str199[sizeof("BLOCKHORIZONTALCONSTRAINTPARAMETER")];
294
    char stringpool_str201[sizeof("ACSH_SWEEP_CLASS")];
295
    char stringpool_str203[sizeof("IDBUFFER")];
296
    char stringpool_str208[sizeof("DGNDEFINITION")];
297
    char stringpool_str209[sizeof("LSCOMPOUNDCOMPONENT")];
298
    char stringpool_str210[sizeof("ACAD_PROXY_OBJECT_WRAPPER")];
299
    char stringpool_str212[sizeof("RENDERENVIRONMENT")];
300
    char stringpool_str214[sizeof("BLOCKPROPERTIESTABLEGRIP")];
301
    char stringpool_str215[sizeof("LWPOLYLINE")];
302
    char stringpool_str216[sizeof("RENDERENTRY")];
303
    char stringpool_str220[sizeof("BLOCKLINEARPARAMETER")];
304
    char stringpool_str222[sizeof("BLOCKROTATIONGRIP")];
305
    char stringpool_str225[sizeof("BLOCKLOOKUPPARAMETER")];
306
    char stringpool_str229[sizeof("ACDBASSOCFACEACTIONPARAM")];
307
    char stringpool_str230[sizeof("ACAD_PROXY_ENTITY_WRAPPER")];
308
    char stringpool_str231[sizeof("ACSH_WEDGE_CLASS")];
309
    char stringpool_str232[sizeof("XYPARAMETERENTITY")];
310
    char stringpool_str235[sizeof("IMAGE")];
311
    char stringpool_str237[sizeof("PARTIAL_VIEWING_FILTER")];
312
    char stringpool_str241[sizeof("ACDBASSOCNETWORK")];
313
    char stringpool_str243[sizeof("spdsLevelMark")];
314
    char stringpool_str246[sizeof("ACSH_TORUS_CLASS")];
315
    char stringpool_str247[sizeof("ACDBASSOCRESTOREENTITYSTATEACTIONBODY")];
316
    char stringpool_str248[sizeof("BLOCKPOLARSTRETCHACTION")];
317
    char stringpool_str251[sizeof("BLOCKXYGRIP")];
318
    char stringpool_str252[sizeof("BLOCKROTATIONPARAMETER")];
319
    char stringpool_str254[sizeof("ACDBASSOCARRAYACTIONBODY")];
320
    char stringpool_str258[sizeof("ACDBASSOCNETWORKSURFACEACTIONBODY")];
321
    char stringpool_str259[sizeof("EXACXREFPANELOBJECT")];
322
    char stringpool_str261[sizeof("BLOCKSCALEACTION")];
323
    char stringpool_str263[sizeof("SPATIAL_INDEX")];
324
    char stringpool_str264[sizeof("LSSTROKEPATTERNCOMPONENT")];
325
    char stringpool_str265[sizeof("ACSH_CONE_CLASS")];
326
    char stringpool_str266[sizeof("ACDBASSOCVERTEXACTIONPARAM")];
327
    char stringpool_str267[sizeof("ACDBASSOCASMBODYACTIONPARAM")];
328
    char stringpool_str269[sizeof("ACSH_CYLINDER_CLASS")];
329
    char stringpool_str271[sizeof("AEC_REFEDIT_STATUS_TRACKER")];
330
    char stringpool_str273[sizeof("PDFDEFINITION")];
331
    char stringpool_str276[sizeof("DGNUNDERLAY")];
332
    char stringpool_str277[sizeof("MLEADERSTYLE")];
333
    char stringpool_str278[sizeof("BLOCKDIAMETRICCONSTRAINTPARAMETER")];
334
    char stringpool_str283[sizeof("ACSH_BOOLEAN_CLASS")];
335
    char stringpool_str284[sizeof("ACDBASSOCALIGNEDDIMACTIONBODY")];
336
    char stringpool_str285[sizeof("POINTPARAMETERENTITY")];
337
    char stringpool_str288[sizeof("ACSH_PYRAMID_CLASS")];
338
    char stringpool_str291[sizeof("ACDBASSOCPLANESURFACEACTIONBODY")];
339
    char stringpool_str294[sizeof("ACDBASSOCDEPENDENCY")];
340
    char stringpool_str295[sizeof("ACSH_EXTRUSION_CLASS")];
341
    char stringpool_str298[sizeof("ACDB_ALDIMOBJECTCONTEXTDATA_CLASS")];
342
    char stringpool_str300[sizeof("BLOCKMOVEACTION")];
343
    char stringpool_str305[sizeof("ACDBPLACEHOLDER")];
344
    char stringpool_str307[sizeof("ACDBASSOCFILLETSURFACEACTIONBODY")];
345
    char stringpool_str308[sizeof("BLOCKALIGNMENTGRIP")];
346
    char stringpool_str310[sizeof("ACSH_LOFT_CLASS")];
347
    char stringpool_str311[sizeof("ACDBASSOCBLENDSURFACEACTIONBODY")];
348
    char stringpool_str313[sizeof("GROUND_PLANE_BACKGROUND")];
349
    char stringpool_str316[sizeof("ACDBASSOCMLEADERACTIONBODY")];
350
    char stringpool_str318[sizeof("ACDB_ANNOTSCALEOBJECTCONTEXTDATA_CLASS")];
351
    char stringpool_str321[sizeof("VBA_PROJECT")];
352
    char stringpool_str323[sizeof("ACDBASSOCCOMPOUNDACTIONPARAM")];
353
    char stringpool_str329[sizeof("ACDBDICTIONARYWDFLT")];
354
    char stringpool_str331[sizeof("PARTIAL_VIEWING_INDEX")];
355
    char stringpool_str333[sizeof("ACDBASSOCALIGNEDIMACTIONBODY")];
356
    char stringpool_str335[sizeof("ACDBASSOCTRIMSURFACEACTIONBODY")];
357
    char stringpool_str337[sizeof("BLOCKLOOKUPACTION")];
358
    char stringpool_str339[sizeof("ACDBDETAILVIEWSTYLE")];
359
    char stringpool_str341[sizeof("PDFUNDERLAY")];
360
    char stringpool_str344[sizeof("ACDB_BLKREFOBJECTCONTEXTDATA_CLASS")];
361
    char stringpool_str346[sizeof("BLOCKANGULARCONSTRAINTPARAMETER")];
362
    char stringpool_str347[sizeof("ACDB_TEXTOBJECTCONTEXTDATA_CLASS")];
363
    char stringpool_str349[sizeof("BLOCKPOINTPARAMETER")];
364
    char stringpool_str350[sizeof("BLOCKLINEARCONSTRAINTPARAMETER")];
365
    char stringpool_str352[sizeof("PLOTSETTINGS")];
366
    char stringpool_str353[sizeof("ACDBASSOCGEOMDEPENDENCY")];
367
    char stringpool_str356[sizeof("RAPIDRTRENDERSETTINGS")];
368
    char stringpool_str357[sizeof("LSSYMBOLCOMPONENT")];
369
    char stringpool_str358[sizeof("ACDBASSOCPOINTREFACTIONPARAM")];
370
    char stringpool_str366[sizeof("ACDB_FCFOBJECTCONTEXTDATA_CLASS")];
371
    char stringpool_str368[sizeof("BLOCKALIGNMENTPARAMETER")];
372
    char stringpool_str369[sizeof("ARCALIGNEDTEXT")];
373
    char stringpool_str371[sizeof("LINEARPARAMETERENTITY")];
374
    char stringpool_str374[sizeof("ALIGNMENTPARAMETERENTITY")];
375
    char stringpool_str376[sizeof("IMAGE_BACKGROUND")];
376
    char stringpool_str381[sizeof("ACDBASSOCOBJECTACTIONPARAM")];
377
    char stringpool_str384[sizeof("BLOCKPOLARPARAMETER")];
378
    char stringpool_str388[sizeof("ACDB_RADIMOBJECTCONTEXTDATA_CLASS")];
379
    char stringpool_str390[sizeof("BLOCKRADIALCONSTRAINTPARAMETER")];
380
    char stringpool_str391[sizeof("BLOCKARRAYACTION")];
381
    char stringpool_str393[sizeof("LOFTEDSURFACE")];
382
    char stringpool_str396[sizeof("WIPEOUTVARIABLES")];
383
    char stringpool_str398[sizeof("ROTATIONPARAMETERENTITY")];
384
    char stringpool_str401[sizeof("BLOCKGRIPLOCATIONCOMPONENT")];
385
    char stringpool_str403[sizeof("IMAGEDEF")];
386
    char stringpool_str405[sizeof("EXTRUDEDSURFACE")];
387
    char stringpool_str416[sizeof("ACDBASSOCDIMDEPENDENCYBODY")];
388
    char stringpool_str418[sizeof("MENTALRAYRENDERSETTINGS")];
389
    char stringpool_str422[sizeof("CELLSTYLEMAP")];
390
    char stringpool_str423[sizeof("CONTEXTDATAMANAGER")];
391
    char stringpool_str427[sizeof("BLOCKROTATEACTION")];
392
    char stringpool_str433[sizeof("BLOCKFLIPGRIP")];
393
    char stringpool_str447[sizeof("LAYOUTPRINTCONFIG")];
394
    char stringpool_str449[sizeof("ACDB_BLOCKREPRESENTATION_DATA")];
395
    char stringpool_str452[sizeof("BLOCKVERTICALCONSTRAINTPARAMETER")];
396
    char stringpool_str454[sizeof("ACSH_BOX_CLASS")];
397
    char stringpool_str463[sizeof("ACDB_DMDIMOBJECTCONTEXTDATA_CLASS")];
398
    char stringpool_str464[sizeof("ACDBMOTIONPATH")];
399
    char stringpool_str471[sizeof("LSPOINTCOMPONENT")];
400
    char stringpool_str473[sizeof("SORTENTSTABLE")];
401
    char stringpool_str475[sizeof("ACSH_BREP_CLASS")];
402
    char stringpool_str478[sizeof("DICTIONARYVAR")];
403
    char stringpool_str486[sizeof("BLOCKXYPARAMETER")];
404
    char stringpool_str514[sizeof("GRADIENT_BACKGROUND")];
405
    char stringpool_str526[sizeof("BLOCKALIGNEDCONSTRAINTPARAMETER")];
406
    char stringpool_str529[sizeof("BLOCKVISIBILITYGRIP")];
407
    char stringpool_str559[sizeof("BLOCKVISIBILITYPARAMETER")];
408
    char stringpool_str572[sizeof("RENDERGLOBAL")];
409
    char stringpool_str575[sizeof("ACDB_RADIMLGOBJECTCONTEXTDATA_CLASS")];
410
    char stringpool_str584[sizeof("RAPIDRTRENDERENVIRONMENT")];
411
    char stringpool_str593[sizeof("BLOCKBASEPOINTPARAMETER")];
412
    char stringpool_str614[sizeof("SKYLIGHT_BACKGROUND")];
413
    char stringpool_str650[sizeof("ACDB_MLEADEROBJECTCONTEXTDATA_CLASS")];
414
    char stringpool_str704[sizeof("ACDB_DYNAMICBLOCKPURGEPREVENTER_VERSION")];
415
    char stringpool_str711[sizeof("ACDB_DYNAMICBLOCKPROXYNODE")];
416
    char stringpool_str716[sizeof("IMAGEDEF_REACTOR")];
417
  };
418
static const struct stringpool_t stringpool_contents =
419
  {
420
    "Wall",
421
    "HATCH",
422
    "Format",
423
    "SUN",
424
    "DATATABLE",
425
    "SCALE",
426
    "McDbContainer2",
427
    "spdsRelationMark",
428
    "SURFACE",
429
    "SUNSTUDY",
430
    "NURBSURFACE",
431
    "MESH",
432
    "ACDBASSOCACTION",
433
    "mcsDbObject",
434
    "ACDBASSOCACTIONPARAM",
435
    "ACDBCURVEPATH",
436
    "TABLESTYLE",
437
    "ACDBASSOCARRAYPOLARPARAMETERS",
438
    "ACDBASSOCARRAYMODIFYACTIONBODY",
439
    "LAYER_INDEX",
440
    "TABLECONTENT",
441
    "ACSH_HISTORY_CLASS",
442
    "ACDBASSOCPATHACTIONPARAM",
443
    "ACDBASSOCPERSSUBENTMANAGER",
444
    "ACDBPOINTPATH",
445
    "ACDBPOINTCLOUD",
446
    "ACDBASSOCARRAYMODIFYPARAMETERS",
447
    "ACDBPOINTCLOUDEX",
448
    "ACDBPOINTCLOUDDEF",
449
    "ACDBPOINTCLOUDDEFEX",
450
    "RTEXT",
451
    "LAYOUT",
452
    "ACDBPOINTCLOUDCOLORMAP",
453
    "ACSH_CHAMFER_CLASS",
454
    "ACDBASSOCEDGEACTIONPARAM",
455
    "ACDBPOINTCLOUDDEF_REACTOR",
456
    "ACAD_EVALUATION_GRAPH",
457
    "SWEPTSURFACE",
458
    "ACDBPOINTCLOUDDEF_REACTOR_EX",
459
    "ACDBASSOCEDGECHAMFERACTIONBODY",
460
    "ACDBASSOCEDGEFILLETACTIONBODY",
461
    "LIGHT",
462
    "ACDBASSOCEXTENDSURFACEACTIONBODY",
463
    "MATERIAL",
464
    "ACDBASSOC3POINTANGULARDIMACTIONBODY",
465
    "ACDBASSOCPATCHSURFACEACTIONBODY",
466
    "WIPEOUT",
467
    "DIMASSOC",
468
    "ACDBASSOCORDINATEDIMACTIONBODY",
469
    "BLOCKUSERPARAMETER",
470
    "ACDBSECTIONVIEWSTYLE",
471
    "MULTILEADER",
472
    "ACAD_TABLE",
473
    "PLANESURFACE",
474
    "SPATIAL_FILTER",
475
    "BLOCKFLIPACTION",
476
    "ACDBASSOCSWEPTSURFACEACTIONBODY",
477
    "ACDBASSOCEXTRUDEDSURFACEACTIONBODY",
478
    "ACDBASSOCOSNAPPOINTREFACTIONPARAM",
479
    "LSINTERNALCOMPONENT",
480
    "BLOCKPROPERTIESTABLE",
481
    "ACSH_FILLET_CLASS",
482
    "BLOCKFLIPPARAMETER",
483
    "BASEPOINTPARAMETERENTITY",
484
    "BLOCKLINEARGRIP",
485
    "ACDBBLOCKPARAMDEPENDENCYBODY",
486
    "FLIPPARAMETERENTITY",
487
    "BLOCKLOOKUPGRIP",
488
    "DWFDEFINITION",
489
    "LIGHTLIST",
490
    "ACDBASSOCARRAYPATHPARAMETERS",
491
    "NPOCOLLECTION",
492
    "ACDBASSOCROTATEDDIMACTIONBODY",
493
    "NOTEPOSITION",
494
    "TABLEGEOMETRY",
495
    "OLE2FRAME",
496
    "ACDBASSOCARRAYRECTANGULARPARAMETERS",
497
    "ACSH_SPHERE_CLASS",
498
    "POSITIONMARKER",
499
    "REVOLVEDSURFACE",
500
    "POLARGRIPENTITY",
501
    "SOLID_BACKGROUND",
502
    "ACDBASSOCOFFSETSURFACEACTIONBODY",
503
    "BLOCKPOLARGRIP",
504
    "ACDB_ANGDIMOBJECTCONTEXTDATA_CLASS",
505
    "ACDBPERSSUBENTMANAGER",
506
    "LSDEFINITION",
507
    "ACDB_LEADEROBJECTCONTEXTDATA_CLASS",
508
    "RASTERVARIABLES",
509
    "VISUALSTYLE",
510
    "ACDBASSOCREVOLVEDSURFACEACTIONBODY",
511
    "XRECORD",
512
    "ARC_DIMENSION",
513
    "ACSH_REVOLVE_CLASS",
514
    "ACDB_ORDDIMOBJECTCONTEXTDATA_CLASS",
515
    "DWFUNDERLAY",
516
    "ACDBASSOCLOFTEDSURFACEACTIONBODY",
517
    "BLOCKSTRETCHACTION",
518
    "BLOCKHORIZONTALCONSTRAINTPARAMETER",
519
    "ACSH_SWEEP_CLASS",
520
    "IDBUFFER",
521
    "DGNDEFINITION",
522
    "LSCOMPOUNDCOMPONENT",
523
    "ACAD_PROXY_OBJECT_WRAPPER",
524
    "RENDERENVIRONMENT",
525
    "BLOCKPROPERTIESTABLEGRIP",
526
    "LWPOLYLINE",
527
    "RENDERENTRY",
528
    "BLOCKLINEARPARAMETER",
529
    "BLOCKROTATIONGRIP",
530
    "BLOCKLOOKUPPARAMETER",
531
    "ACDBASSOCFACEACTIONPARAM",
532
    "ACAD_PROXY_ENTITY_WRAPPER",
533
    "ACSH_WEDGE_CLASS",
534
    "XYPARAMETERENTITY",
535
    "IMAGE",
536
    "PARTIAL_VIEWING_FILTER",
537
    "ACDBASSOCNETWORK",
538
    "spdsLevelMark",
539
    "ACSH_TORUS_CLASS",
540
    "ACDBASSOCRESTOREENTITYSTATEACTIONBODY",
541
    "BLOCKPOLARSTRETCHACTION",
542
    "BLOCKXYGRIP",
543
    "BLOCKROTATIONPARAMETER",
544
    "ACDBASSOCARRAYACTIONBODY",
545
    "ACDBASSOCNETWORKSURFACEACTIONBODY",
546
    "EXACXREFPANELOBJECT",
547
    "BLOCKSCALEACTION",
548
    "SPATIAL_INDEX",
549
    "LSSTROKEPATTERNCOMPONENT",
550
    "ACSH_CONE_CLASS",
551
    "ACDBASSOCVERTEXACTIONPARAM",
552
    "ACDBASSOCASMBODYACTIONPARAM",
553
    "ACSH_CYLINDER_CLASS",
554
    "AEC_REFEDIT_STATUS_TRACKER",
555
    "PDFDEFINITION",
556
    "DGNUNDERLAY",
557
    "MLEADERSTYLE",
558
    "BLOCKDIAMETRICCONSTRAINTPARAMETER",
559
    "ACSH_BOOLEAN_CLASS",
560
    "ACDBASSOCALIGNEDDIMACTIONBODY",
561
    "POINTPARAMETERENTITY",
562
    "ACSH_PYRAMID_CLASS",
563
    "ACDBASSOCPLANESURFACEACTIONBODY",
564
    "ACDBASSOCDEPENDENCY",
565
    "ACSH_EXTRUSION_CLASS",
566
    "ACDB_ALDIMOBJECTCONTEXTDATA_CLASS",
567
    "BLOCKMOVEACTION",
568
    "ACDBPLACEHOLDER",
569
    "ACDBASSOCFILLETSURFACEACTIONBODY",
570
    "BLOCKALIGNMENTGRIP",
571
    "ACSH_LOFT_CLASS",
572
    "ACDBASSOCBLENDSURFACEACTIONBODY",
573
    "GROUND_PLANE_BACKGROUND",
574
    "ACDBASSOCMLEADERACTIONBODY",
575
    "ACDB_ANNOTSCALEOBJECTCONTEXTDATA_CLASS",
576
    "VBA_PROJECT",
577
    "ACDBASSOCCOMPOUNDACTIONPARAM",
578
    "ACDBDICTIONARYWDFLT",
579
    "PARTIAL_VIEWING_INDEX",
580
    "ACDBASSOCALIGNEDIMACTIONBODY",
581
    "ACDBASSOCTRIMSURFACEACTIONBODY",
582
    "BLOCKLOOKUPACTION",
583
    "ACDBDETAILVIEWSTYLE",
584
    "PDFUNDERLAY",
585
    "ACDB_BLKREFOBJECTCONTEXTDATA_CLASS",
586
    "BLOCKANGULARCONSTRAINTPARAMETER",
587
    "ACDB_TEXTOBJECTCONTEXTDATA_CLASS",
588
    "BLOCKPOINTPARAMETER",
589
    "BLOCKLINEARCONSTRAINTPARAMETER",
590
    "PLOTSETTINGS",
591
    "ACDBASSOCGEOMDEPENDENCY",
592
    "RAPIDRTRENDERSETTINGS",
593
    "LSSYMBOLCOMPONENT",
594
    "ACDBASSOCPOINTREFACTIONPARAM",
595
    "ACDB_FCFOBJECTCONTEXTDATA_CLASS",
596
    "BLOCKALIGNMENTPARAMETER",
597
    "ARCALIGNEDTEXT",
598
    "LINEARPARAMETERENTITY",
599
    "ALIGNMENTPARAMETERENTITY",
600
    "IMAGE_BACKGROUND",
601
    "ACDBASSOCOBJECTACTIONPARAM",
602
    "BLOCKPOLARPARAMETER",
603
    "ACDB_RADIMOBJECTCONTEXTDATA_CLASS",
604
    "BLOCKRADIALCONSTRAINTPARAMETER",
605
    "BLOCKARRAYACTION",
606
    "LOFTEDSURFACE",
607
    "WIPEOUTVARIABLES",
608
    "ROTATIONPARAMETERENTITY",
609
    "BLOCKGRIPLOCATIONCOMPONENT",
610
    "IMAGEDEF",
611
    "EXTRUDEDSURFACE",
612
    "ACDBASSOCDIMDEPENDENCYBODY",
613
    "MENTALRAYRENDERSETTINGS",
614
    "CELLSTYLEMAP",
615
    "CONTEXTDATAMANAGER",
616
    "BLOCKROTATEACTION",
617
    "BLOCKFLIPGRIP",
618
    "LAYOUTPRINTCONFIG",
619
    "ACDB_BLOCKREPRESENTATION_DATA",
620
    "BLOCKVERTICALCONSTRAINTPARAMETER",
621
    "ACSH_BOX_CLASS",
622
    "ACDB_DMDIMOBJECTCONTEXTDATA_CLASS",
623
    "ACDBMOTIONPATH",
624
    "LSPOINTCOMPONENT",
625
    "SORTENTSTABLE",
626
    "ACSH_BREP_CLASS",
627
    "DICTIONARYVAR",
628
    "BLOCKXYPARAMETER",
629
    "GRADIENT_BACKGROUND",
630
    "BLOCKALIGNEDCONSTRAINTPARAMETER",
631
    "BLOCKVISIBILITYGRIP",
632
    "BLOCKVISIBILITYPARAMETER",
633
    "RENDERGLOBAL",
634
    "ACDB_RADIMLGOBJECTCONTEXTDATA_CLASS",
635
    "RAPIDRTRENDERENVIRONMENT",
636
    "BLOCKBASEPOINTPARAMETER",
637
    "SKYLIGHT_BACKGROUND",
638
    "ACDB_MLEADEROBJECTCONTEXTDATA_CLASS",
639
    "ACDB_DYNAMICBLOCKPURGEPREVENTER_VERSION",
640
    "ACDB_DYNAMICBLOCKPROXYNODE",
641
    "IMAGEDEF_REACTOR"
642
  };
643
0
#define stringpool ((const char *) &stringpool_contents)
644
const struct Dwg_DXFClass *
645
in_word_set (const char *str, size_t len)
646
0
{
647
0
#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)
648
0
#pragma GCC diagnostic push
649
0
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
650
0
#endif
651
0
  static const struct Dwg_DXFClass wordlist[] =
652
0
    {
653
0
      {-1}, {-1}, {-1}, {-1},
654
0
#line 314 "src/dxfclasses.in"
655
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str4,                                   "PtDbWall",                     NanoSPDS, 1},
656
0
#line 79 "src/dxfclasses.in"
657
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5,   "AcDbHatch",    ODBX, 1},
658
0
#line 315 "src/dxfclasses.in"
659
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6,                                 "mcsDbObjectFormat",            NanoSPDS, 1},
660
0
      {-1},
661
0
#line 121 "src/dxfclasses.in"
662
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8,     "AcDbSun",    SCENEOE, 0},
663
0
#line 108 "src/dxfclasses.in"
664
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "AcDbDataTable",  ODBX, 0},
665
0
#line 109 "src/dxfclasses.in"
666
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10,    "AcDbScale",    ODBX, 0},
667
0
      {-1}, {-1}, {-1},
668
0
#line 318 "src/dxfclasses.in"
669
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14,                         "McDbContainer2",               NanoSPDS, 0},
670
0
      {-1},
671
0
#line 320 "src/dxfclasses.in"
672
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16,                       "mcsDbObjectRelationMark",      NanoSPDS, 1},
673
0
#line 139 "src/dxfclasses.in"
674
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17,    "AcDbSurface",    ODBX, 1},
675
0
#line 122 "src/dxfclasses.in"
676
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18,  "AcDbSunStudy",   SCENEOE, 0},
677
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
678
0
#line 142 "src/dxfclasses.in"
679
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26,    "AcDbNurbSurface",  ODBX, 1},
680
0
      {-1}, {-1},
681
0
#line 138 "src/dxfclasses.in"
682
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29,            "AcDbSubDMesh",   SCENEOE, 1},
683
0
#line 167 "src/dxfclasses.in"
684
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30,    "AcDbAssocAction",    ODBX, 0},
685
0
#line 317 "src/dxfclasses.in"
686
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31,                            "mcsDbObject",                  NanoSPDS, 1},
687
0
      {-1}, {-1}, {-1},
688
0
#line 202 "src/dxfclasses.in"
689
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35,      "AcDbAssocActionParam",   ODBX, 0},
690
0
      {-1}, {-1},
691
0
#line 266 "src/dxfclasses.in"
692
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38,        "AcDbCurvePath",      SCENEOE, 0},
693
0
      {-1},
694
0
#line 104 "src/dxfclasses.in"
695
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40,  "AcDbTableStyle", ODBX, 0},
696
0
      {-1}, {-1}, {-1},
697
0
#line 213 "src/dxfclasses.in"
698
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44,    "AcDbAssocArrayPolarParameters",  ODBX, 0},
699
0
#line 181 "src/dxfclasses.in"
700
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45,  "AcDbAssocArrayModifyActionBody", ODBX, 0},
701
0
#line 100 "src/dxfclasses.in"
702
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46,  "AcDbLayerIndex", ODBX, 0},
703
0
#line 105 "src/dxfclasses.in"
704
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47,  "AcDbTableContent", ODBX, 0},
705
0
#line 155 "src/dxfclasses.in"
706
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48,  "AcDbShHistory",  ODBX, 0},
707
0
#line 207 "src/dxfclasses.in"
708
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49,    "AcDbAssocPathActionParam", ODBX, 0},
709
0
      {-1},
710
0
#line 164 "src/dxfclasses.in"
711
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51,  "AcDbAssocPersSubentManager", ODBX, 0},
712
0
      {-1},
713
0
#line 268 "src/dxfclasses.in"
714
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str53,        "AcDbPointPath",      SCENEOE, 0},
715
0
#line 294 "src/dxfclasses.in"
716
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54,        "AcDbPointCloud",     POINTCLOUD, 1},
717
0
#line 211 "src/dxfclasses.in"
718
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55,    "AcDbAssocArrayModifyParameters", ODBX, 0},
719
0
#line 295 "src/dxfclasses.in"
720
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str56,      "AcDbPointCloudEx",     POINTCLOUD, 1},
721
0
#line 296 "src/dxfclasses.in"
722
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57,      "AcDbPointCloudDef",      POINTCLOUD, 0},
723
0
      {-1},
724
0
#line 297 "src/dxfclasses.in"
725
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str59,      "AcDbPointCloudDefEx",      POINTCLOUD, 0},
726
0
#line 127 "src/dxfclasses.in"
727
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str60,    "AcDbRText",    EXPRESS, 1},
728
0
#line 95 "src/dxfclasses.in"
729
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str61,    "AcDbLayout",   A2000CLASS, 0},
730
0
#line 300 "src/dxfclasses.in"
731
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str62,      "AcDbPointCloudColorMap",   POINTCLOUD, 0},
732
0
#line 150 "src/dxfclasses.in"
733
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63,  "AcDbShChamfer",  ODBX, 0},
734
0
#line 205 "src/dxfclasses.in"
735
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64,    "AcDbAssocEdgeActionParam", ODBX, 0},
736
0
#line 298 "src/dxfclasses.in"
737
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65,    "AcDbPointCloudDefReactor",   POINTCLOUD, 0},
738
0
#line 136 "src/dxfclasses.in"
739
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66,  "AcDbEvalGraph",  ODBX, 0},
740
0
#line 145 "src/dxfclasses.in"
741
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67,    "AcDbSweptSurface", ODBX, 1},
742
0
#line 299 "src/dxfclasses.in"
743
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str68,    "AcDbPointCloudDefReactorEx",   POINTCLOUD, 0},
744
0
      {-1},
745
0
#line 183 "src/dxfclasses.in"
746
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70,  "AcDbAssocEdgeChamferActionBody", ODBX, 0},
747
0
      {-1}, {-1}, {-1},
748
0
#line 184 "src/dxfclasses.in"
749
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74,  "AcDbAssocEdgeFilletActionBody",  ODBX, 0},
750
0
#line 119 "src/dxfclasses.in"
751
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str75,    "AcDbLight",    SCENEOE, 1},
752
0
      {-1},
753
0
#line 189 "src/dxfclasses.in"
754
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str77,  "AcDbAssocExtendSurfaceActionBody", ODBX, 0},
755
0
#line 131 "src/dxfclasses.in"
756
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str78,    "AcDbMaterial",   ODBX, 0},
757
0
      {-1},
758
0
#line 176 "src/dxfclasses.in"
759
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80,"AcDbAssoc3PointAngularDimActionBody",  ODBX, 0},
760
0
#line 196 "src/dxfclasses.in"
761
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81,  "AcDbAssocPatchSurfaceActionBody",  ODBX, 0},
762
0
#line 125 "src/dxfclasses.in"
763
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str82,  "AcDbWipeout",    SPECIAL, 1},
764
0
#line 124 "src/dxfclasses.in"
765
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str83,  "AcDbDimAssoc",   SPECIAL, 0},
766
0
      {-1},
767
0
#line 178 "src/dxfclasses.in"
768
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str85,  "AcDbAssocOrdinatedDimActionBody",  ODBX, 0},
769
0
      {-1}, {-1},
770
0
#line 258 "src/dxfclasses.in"
771
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88,        "AcDbBlockUserParameter",   ODBX, 0},
772
0
      {-1},
773
0
#line 133 "src/dxfclasses.in"
774
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str90,  "AcDbSectionViewStyle", ODBX, 0},
775
0
#line 82 "src/dxfclasses.in"
776
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91,  "AcDbMLeader",    ODBX, 1},
777
0
      {-1}, {-1}, {-1},
778
0
#line 83 "src/dxfclasses.in"
779
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95,  "AcDbTable",    ODBX, 1},
780
0
      {-1},
781
0
#line 143 "src/dxfclasses.in"
782
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str97,    "AcDbPlaneSurface", ODBX, 1},
783
0
      {-1},
784
0
#line 101 "src/dxfclasses.in"
785
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str99,  "AcDbSpatialFilter",  ODBX, 0},
786
0
#line 235 "src/dxfclasses.in"
787
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str100,     "AcDbBlockFlipAction",      ODBX, 0},
788
0
#line 199 "src/dxfclasses.in"
789
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str101, "AcDbAssocSweptSurfaceActionBody",  ODBX, 0},
790
0
      {-1}, {-1},
791
0
#line 190 "src/dxfclasses.in"
792
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, "AcDbAssocExtrudedSurfaceActionBody", ODBX, 0},
793
0
      {-1}, {-1}, {-1},
794
0
#line 169 "src/dxfclasses.in"
795
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108,"AcDbAssocOsnapPointRefActionParam", ODBX, 0},
796
0
#line 309 "src/dxfclasses.in"
797
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str109,     "AcDbLSInternalComponent",  DGNLS, 0},
798
0
#line 261 "src/dxfclasses.in"
799
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str110,     "AcDbBlockPropertiesTable",   ODBX, 0},
800
0
      {-1},
801
0
#line 154 "src/dxfclasses.in"
802
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str112, "AcDbShFillet",   ODBX, 0},
803
0
#line 254 "src/dxfclasses.in"
804
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str113,     "AcDbBlockFlipParameter",   ODBX, 0},
805
0
#line 217 "src/dxfclasses.in"
806
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114,   "AcDbBlockBasepointParameterEntity",  ODBX, 1},
807
0
      {-1}, {-1}, {-1}, {-1}, {-1},
808
0
#line 256 "src/dxfclasses.in"
809
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str120,     "AcDbBlockLinearGrip",      ODBX, 0},
810
0
      {-1}, {-1},
811
0
#line 174 "src/dxfclasses.in"
812
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str123, "AcDbBlockParameterDependencyBody", ODBX, 0},
813
0
#line 218 "src/dxfclasses.in"
814
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124,     "AcDbBlockFlipParameterEntity",   ODBX, 1},
815
0
#line 257 "src/dxfclasses.in"
816
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str125,     "AcDbBlockLookupGrip",      ODBX, 0},
817
0
      {-1}, {-1},
818
0
#line 111 "src/dxfclasses.in"
819
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128,   "AcDbDwfDefinition",    ODBX, 0},
820
0
#line 120 "src/dxfclasses.in"
821
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, "AcDbLightList",  SCENEOE, 0},
822
0
      {-1}, {-1}, {-1},
823
0
#line 212 "src/dxfclasses.in"
824
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str133,   "AcDbAssocArrayPathParameters",   ODBX, 0},
825
0
      {-1}, {-1}, {-1}, {-1},
826
0
#line 303 "src/dxfclasses.in"
827
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138,       "AcDbImpNonPersistentObjectsCollection", ODBX, 0},
828
0
#line 179 "src/dxfclasses.in"
829
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, "AcDbAssocRotatedDimActionBody",  ODBX, 0},
830
0
      {-1}, {-1},
831
0
#line 316 "src/dxfclasses.in"
832
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142,                           "mcsDbObjectNotePosition",      NanoSPDS, 1},
833
0
#line 106 "src/dxfclasses.in"
834
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, "AcDbTableGeometry",  ODBX, 0},
835
0
      {-1}, {-1}, {-1}, {-1}, {-1},
836
0
#line 80 "src/dxfclasses.in"
837
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str149, "AcDbOle2Frame",  ODBX, 1},
838
0
#line 214 "src/dxfclasses.in"
839
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str150, "AcDbAssocArrayRectangularParameters",  ODBX, 0},
840
0
      {-1},
841
0
#line 159 "src/dxfclasses.in"
842
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str152, "AcDbShSphere",   ODBX, 0},
843
0
      {-1},
844
0
#line 135 "src/dxfclasses.in"
845
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154,   "AcDbGeoPositionMarker",ODBX, 0},
846
0
      {-1}, {-1}, {-1}, {-1}, {-1},
847
0
#line 144 "src/dxfclasses.in"
848
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str160, "AcDbRevolvedSurface",  ODBX, 1},
849
0
      {-1}, {-1}, {-1}, {-1},
850
0
#line 222 "src/dxfclasses.in"
851
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str165,     "AcDbBlockPolarGripEntity",   ODBX, 1},
852
0
#line 277 "src/dxfclasses.in"
853
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str166,       "AcDbSolidBackground",      SCENEOE, 0},
854
0
#line 194 "src/dxfclasses.in"
855
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, "AcDbAssocOffsetSurfaceActionBody", ODBX, 0},
856
0
      {-1},
857
0
#line 245 "src/dxfclasses.in"
858
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str169,       "AcDbBlockPolarGrip",     ODBX, 0},
859
0
      {-1}, {-1}, {-1}, {-1},
860
0
#line 282 "src/dxfclasses.in"
861
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, "AcDbAngularDimensionObjectContextData",ODBX, 0},
862
0
      {-1},
863
0
#line 165 "src/dxfclasses.in"
864
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176,     "AcDbPersSubentManager",  ODBX, 0},
865
0
#line 307 "src/dxfclasses.in"
866
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str177,       "AcDbLSDefinition",   DGNLS, 0},
867
0
      {-1},
868
0
#line 287 "src/dxfclasses.in"
869
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, "AcDbLeaderObjectContextData",    ODBX, 0},
870
0
#line 117 "src/dxfclasses.in"
871
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str180,"AcDbRasterVariables", ISM, 0},
872
0
#line 103 "src/dxfclasses.in"
873
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str181, "AcDbVisualStyle",  ODBX, 0},
874
0
      {-1}, {-1},
875
0
#line 198 "src/dxfclasses.in"
876
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str184, "AcDbAssocRevolvedSurfaceActionBody", ODBX, 0},
877
0
      {-1}, {-1},
878
0
#line 99 "src/dxfclasses.in"
879
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str187, "AcDbXrecord",    ODBX, 0},
880
0
#line 81 "src/dxfclasses.in"
881
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str188, "AcDbArcDimension", ODBX, 1},
882
0
      {-1}, {-1}, {-1}, {-1},
883
0
#line 158 "src/dxfclasses.in"
884
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str193, "AcDbShRevolve",  ODBX, 0},
885
0
#line 289 "src/dxfclasses.in"
886
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str194, "AcDbOrdinateDimensionObjectContextData", ODBX, 0},
887
0
      {-1},
888
0
#line 86 "src/dxfclasses.in"
889
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str196,   "AcDbDwfReference",     ODBX, 1},
890
0
#line 192 "src/dxfclasses.in"
891
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, "AcDbAssocLoftedSurfaceActionBody", ODBX, 0},
892
0
#line 240 "src/dxfclasses.in"
893
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198,     "AcDbBlockStretchAction",         ODBX, 0},
894
0
#line 232 "src/dxfclasses.in"
895
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, "AcDbBlockHorizontalConstraintParameter",ODBX, 0},
896
0
      {-1},
897
0
#line 160 "src/dxfclasses.in"
898
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str201, "AcDbShSweep",    ODBX, 0},
899
0
      {-1},
900
0
#line 102 "src/dxfclasses.in"
901
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str203, "AcDbIdBuffer",   ODBX, 0},
902
0
      {-1}, {-1}, {-1}, {-1},
903
0
#line 110 "src/dxfclasses.in"
904
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str208,   "AcDbDgnDefinition",    ODBX, 0},
905
0
#line 310 "src/dxfclasses.in"
906
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209,     "AcDbLSCompoundComponent",  DGNLS, 0},
907
0
#line 91 "src/dxfclasses.in"
908
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str210, "AcDbProxyObjectWrapper", ODBX_OR_A2000CLASS, 0},
909
0
      {-1},
910
0
#line 271 "src/dxfclasses.in"
911
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str212,         "AcDbRenderEnvironment",    SCENEOE, 0},
912
0
      {-1},
913
0
#line 262 "src/dxfclasses.in"
914
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str214,       "AcDbBlockPropertiesTableGrip",   ODBX, 0},
915
0
#line 78 "src/dxfclasses.in"
916
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str215, "AcDbPolyline",   ODBX, 1},
917
0
#line 273 "src/dxfclasses.in"
918
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str216,           "AcDbRenderEntry",      SCENEOE, 0},
919
0
      {-1}, {-1}, {-1},
920
0
#line 252 "src/dxfclasses.in"
921
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220,     "AcDbBlockLinearParameter",   ODBX, 0},
922
0
      {-1},
923
0
#line 246 "src/dxfclasses.in"
924
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222,     "AcDbBlockRotationGrip",    ODBX, 0},
925
0
      {-1}, {-1},
926
0
#line 241 "src/dxfclasses.in"
927
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str225,     "AcDbBlockLookupParameter",   ODBX, 0},
928
0
      {-1}, {-1}, {-1},
929
0
#line 206 "src/dxfclasses.in"
930
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229,   "AcDbAssocFaceActionParam", ODBX, 0},
931
0
#line 90 "src/dxfclasses.in"
932
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str230, "AcDbProxyEntityWrapper", ODBX_OR_A2000CLASS, 0},
933
0
#line 162 "src/dxfclasses.in"
934
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str231, "AcDbShWedge",    ODBX, 0},
935
0
#line 223 "src/dxfclasses.in"
936
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str232,     "AcDbBlockXYParameterEntity",   ODBX, 1},
937
0
      {-1}, {-1},
938
0
#line 114 "src/dxfclasses.in"
939
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235,   "AcDbRasterImage",  ISM, 1},
940
0
      {-1},
941
0
#line 304 "src/dxfclasses.in"
942
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str237,     "OdDbPartialViewingFilter", SPECIAL, 0},
943
0
      {-1}, {-1}, {-1},
944
0
#line 166 "src/dxfclasses.in"
945
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str241,   "AcDbAssocNetwork",   ODBX, 0},
946
0
      {-1},
947
0
#line 319 "src/dxfclasses.in"
948
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str243,                          "mcsDbObjectLevelMark",         NanoSPDS, 1},
949
0
      {-1}, {-1},
950
0
#line 161 "src/dxfclasses.in"
951
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str246, "AcDbShTorus",    ODBX, 0},
952
0
#line 197 "src/dxfclasses.in"
953
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str247, "AcDbAssocRestoreEntityStateActionBody",ODBX, 0},
954
0
#line 239 "src/dxfclasses.in"
955
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str248,   "AcDbBlockPolarStretchAction",          ODBX, 0},
956
0
      {-1}, {-1},
957
0
#line 248 "src/dxfclasses.in"
958
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str251,       "AcDbBlockXYGrip",      ODBX, 0},
959
0
#line 243 "src/dxfclasses.in"
960
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str252,     "AcDbBlockRotationParameter",   ODBX, 0},
961
0
      {-1},
962
0
#line 182 "src/dxfclasses.in"
963
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str254, "AcDbAssocArrayActionBody",   ODBX, 0},
964
0
      {-1}, {-1}, {-1},
965
0
#line 193 "src/dxfclasses.in"
966
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str258, "AcDbAssocNetworkSurfaceActionBody",  ODBX, 0},
967
0
#line 302 "src/dxfclasses.in"
968
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str259,     "ExAcXREFPanelObject",    SPECIAL, 0},
969
0
      {-1},
970
0
#line 238 "src/dxfclasses.in"
971
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str261,     "AcDbBlockScaleAction",     ODBX, 0},
972
0
      {-1},
973
0
#line 92 "src/dxfclasses.in"
974
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str263, "AcDbSpatialIndex", ODBX_OR_A2000CLASS, 0},
975
0
#line 308 "src/dxfclasses.in"
976
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str264,         "AcDbLSStrokePatternComponent", DGNLS, 0},
977
0
#line 151 "src/dxfclasses.in"
978
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str265, "AcDbShCone",   ODBX, 0},
979
0
#line 170 "src/dxfclasses.in"
980
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str266, "AcDbAssocVertexActionParam", ODBX, 0},
981
0
#line 203 "src/dxfclasses.in"
982
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str267,   "AcDbAssocAsmbodyActionParam",  ODBX, 0},
983
0
      {-1},
984
0
#line 152 "src/dxfclasses.in"
985
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str269, "AcDbShCylinder", ODBX, 0},
986
0
      {-1},
987
0
#line 313 "src/dxfclasses.in"
988
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str271,   "AecDbRefEditStatusTracker",    AEC60, 0},
989
0
      {-1},
990
0
#line 112 "src/dxfclasses.in"
991
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str273,   "AcDbPdfDefinition",    ODBX, 0},
992
0
      {-1}, {-1},
993
0
#line 85 "src/dxfclasses.in"
994
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str276,   "AcDbDgnReference",     ODBX, 1},
995
0
#line 129 "src/dxfclasses.in"
996
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str277, "AcDbMLeaderStyle", SPECIAL, 0},
997
0
#line 228 "src/dxfclasses.in"
998
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str278, "AcDbBlockDiametricConstraintParameter",ODBX, 0},
999
0
      {-1}, {-1}, {-1}, {-1},
1000
0
#line 147 "src/dxfclasses.in"
1001
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str283, "AcDbShBoolean",  ODBX, 0},
1002
0
#line 168 "src/dxfclasses.in"
1003
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str284, "AcDbAssocAlignedDimActionBody",  ODBX, 0},
1004
0
#line 220 "src/dxfclasses.in"
1005
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str285,     "AcDbBlockPointParameterEntity",        ODBX, 1},
1006
0
      {-1}, {-1},
1007
0
#line 157 "src/dxfclasses.in"
1008
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str288, "AcDbShPyramid",  ODBX, 0},
1009
0
      {-1}, {-1},
1010
0
#line 195 "src/dxfclasses.in"
1011
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str291, "AcDbAssocPlaneSurfaceActionBody",  ODBX, 0},
1012
0
      {-1}, {-1},
1013
0
#line 172 "src/dxfclasses.in"
1014
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str294,   "AcDbAssocDependency",    ODBX, 0},
1015
0
#line 153 "src/dxfclasses.in"
1016
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str295, "AcDbShExtrusion",  ODBX, 0},
1017
0
      {-1}, {-1},
1018
0
#line 281 "src/dxfclasses.in"
1019
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str298, "AcDbAlignedDimensionObjectContextData",ODBX, 0},
1020
0
      {-1},
1021
0
#line 234 "src/dxfclasses.in"
1022
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str300,     "AcDbBlockMoveAction",      ODBX, 0},
1023
0
      {-1}, {-1}, {-1}, {-1},
1024
0
#line 89 "src/dxfclasses.in"
1025
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str305,   "AcDbPlaceHolder",    ODBX_OR_A2000CLASS, 0},
1026
0
      {-1},
1027
0
#line 191 "src/dxfclasses.in"
1028
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str307, "AcDbAssocFilletSurfaceActionBody", ODBX, 0},
1029
0
#line 250 "src/dxfclasses.in"
1030
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str308,     "AcDbBlockAlignmentGrip",   ODBX, 0},
1031
0
      {-1},
1032
0
#line 156 "src/dxfclasses.in"
1033
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str310, "AcDbShLoft",   ODBX, 0},
1034
0
#line 188 "src/dxfclasses.in"
1035
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str311, "AcDbAssocBlendSurfaceActionBody",  ODBX, 0},
1036
0
      {-1},
1037
0
#line 278 "src/dxfclasses.in"
1038
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str313,     "AcDbGroundPlaneBackground",    SCENEOE, 0},
1039
0
      {-1}, {-1},
1040
0
#line 185 "src/dxfclasses.in"
1041
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str316, "AcDbAssocMLeaderActionBody",   ODBX, 0},
1042
0
      {-1},
1043
0
#line 283 "src/dxfclasses.in"
1044
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str318, "AcDbAnnotScaleObjectContextData",  ODBX, 0},
1045
0
      {-1}, {-1},
1046
0
#line 98 "src/dxfclasses.in"
1047
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str321, "AcDbVbaProject", ODBX, 0},
1048
0
      {-1},
1049
0
#line 204 "src/dxfclasses.in"
1050
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str323,   "AcDbAssocCompoundActionParam", ODBX, 0},
1051
0
      {-1}, {-1}, {-1}, {-1}, {-1},
1052
0
#line 88 "src/dxfclasses.in"
1053
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str329,   "AcDbDictionaryWithDefault",  ODBX_OR_A2000CLASS, 0},
1054
0
      {-1},
1055
0
#line 305 "src/dxfclasses.in"
1056
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str331,     "OdDbPartialViewingIndex",  SPECIAL, 0},
1057
0
      {-1},
1058
0
#line 177 "src/dxfclasses.in"
1059
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str333, "AcDbAssocAlignedDimActionBody",  ODBX, 0},
1060
0
      {-1},
1061
0
#line 200 "src/dxfclasses.in"
1062
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str335,   "AcDbAssocTrimSurfaceActionBody", ODBX, 0},
1063
0
      {-1},
1064
0
#line 236 "src/dxfclasses.in"
1065
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str337,     "AcDbBlockLookupAction",    ODBX, 0},
1066
0
      {-1},
1067
0
#line 134 "src/dxfclasses.in"
1068
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str339, "AcDbDetailViewStyle",  ODBX, 0},
1069
0
      {-1},
1070
0
#line 84 "src/dxfclasses.in"
1071
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str341,   "AcDbPdfReference",     ODBX, 1},
1072
0
      {-1}, {-1},
1073
0
#line 284 "src/dxfclasses.in"
1074
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str344, "AcDbBlkrefObjectContextData",    ODBX, 0},
1075
0
      {-1},
1076
0
#line 227 "src/dxfclasses.in"
1077
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str346, "AcDbBlockAngularConstraintParameter",  ODBX, 0},
1078
0
#line 292 "src/dxfclasses.in"
1079
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str347, "AcDbTextObjectContextData",    ODBX, 0},
1080
0
      {-1},
1081
0
#line 242 "src/dxfclasses.in"
1082
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str349,     "AcDbBlockPointParameter",    ODBX, 0},
1083
0
#line 231 "src/dxfclasses.in"
1084
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str350,   "AcDbBlockLinearConstraintParameter", ODBX, 0},
1085
0
      {-1},
1086
0
#line 132 "src/dxfclasses.in"
1087
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str352,   "AcDbPlotSettings", ODBX, 0},
1088
0
#line 171 "src/dxfclasses.in"
1089
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str353, "AcDbAssocGeomDependency",  ODBX, 0},
1090
0
      {-1}, {-1},
1091
0
#line 270 "src/dxfclasses.in"
1092
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str356,       "AcDbRapidRTRenderSettings",    ODBX,   0},
1093
0
#line 312 "src/dxfclasses.in"
1094
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str357,     "AcDbLSSymbolComponent",  DGNLS, 0},
1095
0
#line 209 "src/dxfclasses.in"
1096
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str358,   "AcDbAssocPointRefActionParam", ODBX, 0},
1097
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1098
0
#line 286 "src/dxfclasses.in"
1099
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str366, "AcDbFcfObjectContextData",   ODBX, 0},
1100
0
      {-1},
1101
0
#line 251 "src/dxfclasses.in"
1102
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str368,   "AcDbBlockAlignmentParameter",    ODBX, 0},
1103
0
#line 128 "src/dxfclasses.in"
1104
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str369, "AcDbArcAlignedText", EXPRESS, 1},
1105
0
      {-1},
1106
0
#line 219 "src/dxfclasses.in"
1107
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str371,     "AcDbBlockLinearParameterEntity",       ODBX, 1},
1108
0
      {-1}, {-1},
1109
0
#line 216 "src/dxfclasses.in"
1110
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str374,   "AcDbBlockAlignmentParameterEntity",  ODBX, 1},
1111
0
      {-1},
1112
0
#line 276 "src/dxfclasses.in"
1113
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str376,       "AcDbImageBackground",      SCENEOE, 0},
1114
0
      {-1}, {-1}, {-1}, {-1},
1115
0
#line 208 "src/dxfclasses.in"
1116
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str381,   "AcDbAssocObjectActionParam", ODBX, 0},
1117
0
      {-1}, {-1},
1118
0
#line 244 "src/dxfclasses.in"
1119
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str384,     "AcDbBlockPolarParameter",    ODBX, 0},
1120
0
      {-1}, {-1}, {-1},
1121
0
#line 291 "src/dxfclasses.in"
1122
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str388, "AcDbRadialDimensionObjectContextData", ODBX, 0},
1123
0
      {-1},
1124
0
#line 229 "src/dxfclasses.in"
1125
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str390,   "AcDbBlockRadialConstraintParameter", ODBX, 0},
1126
0
#line 226 "src/dxfclasses.in"
1127
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str391,     "AcDbBlockArrayAction",         ODBX, 0},
1128
0
      {-1},
1129
0
#line 141 "src/dxfclasses.in"
1130
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str393,   "AcDbLoftedSurface",  ODBX, 1},
1131
0
      {-1}, {-1},
1132
0
#line 126 "src/dxfclasses.in"
1133
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str396,"AcDbWipeoutVariables",  ODBX, 0},
1134
0
      {-1},
1135
0
#line 221 "src/dxfclasses.in"
1136
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str398,   "AcDbBlockRotationParameterEntity",     ODBX, 1},
1137
0
      {-1}, {-1},
1138
0
#line 249 "src/dxfclasses.in"
1139
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str401,   "AcDbBlockGripExpr",      ODBX, 0},
1140
0
      {-1},
1141
0
#line 115 "src/dxfclasses.in"
1142
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str403, "AcDbRasterImageDef", ISM, 0},
1143
0
      {-1},
1144
0
#line 140 "src/dxfclasses.in"
1145
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str405, "AcDbExtrudedSurface",  ODBX, 1},
1146
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1147
0
      {-1},
1148
0
#line 173 "src/dxfclasses.in"
1149
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str416, "AcDbAssocDimDependencyBody", ODBX, 0},
1150
0
      {-1},
1151
0
#line 269 "src/dxfclasses.in"
1152
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str418,       "AcDbMentalRayRenderSettings",    SCENEOE, 0},
1153
0
      {-1}, {-1}, {-1},
1154
0
#line 107 "src/dxfclasses.in"
1155
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str422, "AcDbCellStyleMap", ODBX, 0},
1156
0
#line 186 "src/dxfclasses.in"
1157
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str423,   "AcDbContextDataManager",   ODBX, 0},
1158
0
      {-1}, {-1}, {-1},
1159
0
#line 237 "src/dxfclasses.in"
1160
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str427,     "AcDbBlockRotateAction",    ODBX, 0},
1161
0
      {-1}, {-1}, {-1}, {-1}, {-1},
1162
0
#line 255 "src/dxfclasses.in"
1163
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str433,       "AcDbBlockFlipGrip",      ODBX, 0},
1164
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1165
0
      {-1}, {-1}, {-1}, {-1},
1166
0
#line 306 "src/dxfclasses.in"
1167
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str447,     "CAcLayoutPrintConfig",   SPECIAL, 1},
1168
0
      {-1},
1169
0
#line 225 "src/dxfclasses.in"
1170
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str449,   "AcDbBlockRepresentationData",      ODBX, 0},
1171
0
      {-1}, {-1},
1172
0
#line 233 "src/dxfclasses.in"
1173
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str452, "AcDbBlockVerticalConstraintParameter", ODBX, 0},
1174
0
      {-1},
1175
0
#line 148 "src/dxfclasses.in"
1176
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str454,   "AcDbShBox",    ODBX, 0},
1177
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1178
0
#line 285 "src/dxfclasses.in"
1179
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str463, "AcDbDiametricDimensionObjectContextData",ODBX, 0},
1180
0
#line 267 "src/dxfclasses.in"
1181
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str464,         "AcDbMotionPath",     SCENEOE, 0},
1182
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1183
0
#line 311 "src/dxfclasses.in"
1184
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str471,     "AcDbLSPointComponent",   DGNLS, 0},
1185
0
      {-1},
1186
0
#line 96 "src/dxfclasses.in"
1187
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str473, "AcDbSortentsTable",  A2000CLASS, 0},
1188
0
      {-1},
1189
0
#line 149 "src/dxfclasses.in"
1190
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str475, "AcDbShBrep",   ODBX, 0},
1191
0
      {-1}, {-1},
1192
0
#line 94 "src/dxfclasses.in"
1193
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str478, "AcDbDictionaryVar",  A2000CLASS, 0},
1194
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1195
0
#line 259 "src/dxfclasses.in"
1196
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str486,     "AcDbBlockXYParameter",     ODBX, 0},
1197
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1198
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1199
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1200
0
#line 279 "src/dxfclasses.in"
1201
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str514,       "AcDbGradientBackground",   SCENEOE, 0},
1202
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1203
0
      {-1}, {-1},
1204
0
#line 230 "src/dxfclasses.in"
1205
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str526, "AcDbBlockAlignedConstraintParameter",  ODBX, 0},
1206
0
      {-1}, {-1},
1207
0
#line 247 "src/dxfclasses.in"
1208
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str529,     "AcDbBlockVisibilityGrip",    ODBX, 0},
1209
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1210
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1211
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1212
0
      {-1}, {-1},
1213
0
#line 260 "src/dxfclasses.in"
1214
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str559,   "AcDbBlockVisibilityParameter",   ODBX, 0},
1215
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1216
0
      {-1}, {-1}, {-1},
1217
0
#line 272 "src/dxfclasses.in"
1218
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str572,         "AcDbRenderGlobal",     SCENEOE, 0},
1219
0
      {-1}, {-1},
1220
0
#line 290 "src/dxfclasses.in"
1221
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str575, "AcDbRadialDimensionLargeObjectContextData",  ODBX, 0},
1222
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1223
0
#line 274 "src/dxfclasses.in"
1224
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str584,       "AcDbIBLBackground",      SCENEOE, 0},
1225
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1226
0
#line 253 "src/dxfclasses.in"
1227
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str593,   "AcDbBlockBasepointParameter",    ODBX, 0},
1228
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1229
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1230
0
      {-1}, {-1},
1231
0
#line 275 "src/dxfclasses.in"
1232
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str614,       "AcDbSkyBackground",      SCENEOE, 0},
1233
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1234
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1235
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1236
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1237
0
#line 288 "src/dxfclasses.in"
1238
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str650, "AcDbMLeaderObjectContextData",   ODBX, 0},
1239
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1240
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1241
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1242
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1243
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1244
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1245
0
#line 264 "src/dxfclasses.in"
1246
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str704,"AcDbDynamicBlockPurgePreventer",        ODBX, 0},
1247
0
      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1248
0
#line 263 "src/dxfclasses.in"
1249
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str711,   "AcDbDynamicBlockProxyNode",          ODBX, 0},
1250
0
      {-1}, {-1}, {-1}, {-1},
1251
0
#line 116 "src/dxfclasses.in"
1252
0
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str716,"AcDbRasterImageDefReactor", ISM, 0}
1253
0
    };
1254
0
#if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)
1255
0
#pragma GCC diagnostic pop
1256
0
#endif
1257
1258
0
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
1259
0
    {
1260
0
      unsigned int key = hash (str, len);
1261
1262
0
      if (key <= MAX_HASH_VALUE)
1263
0
        {
1264
0
          int o = wordlist[key].name;
1265
0
          if (o >= 0)
1266
0
            {
1267
0
              const char *s = o + stringpool;
1268
1269
0
              if (*str == *s && !strcmp (str + 1, s + 1))
1270
0
                return &wordlist[key];
1271
0
            }
1272
0
        }
1273
0
    }
1274
0
  return (struct Dwg_DXFClass *) 0;
1275
0
}
1276
#line 321 "src/dxfclasses.in"
1277
1278
1279
/* Create classes on demand.
1280
   Returns found or new klass->number id (always >=500), <0 on error.
1281
   -1 out of memory (from dwg_add_class())
1282
   -2 unknown class for dxfname.
1283
   -3 invalid apptype for class. (should not happen)
1284
*/
1285
EXPORT int
1286
dwg_require_class (Dwg_Data *restrict dwg, const char *const restrict dxfname, const size_t len)
1287
0
{
1288
0
  const struct Dwg_DXFClass* result;
1289
0
  for (BITCODE_BL i = 0; i < dwg->num_classes; i++)
1290
0
    {
1291
0
      Dwg_Class *klass = &dwg->dwg_class[i];
1292
0
      if (strEQ (klass->dxfname, dxfname))
1293
0
        return klass->number;
1294
0
    }
1295
1296
0
  result = in_word_set (dxfname, len);
1297
0
  if (result)
1298
0
    {
1299
0
      switch ((enum apptypes)result->apptype)
1300
0
        {
1301
0
        case ODBXCLASS:
1302
0
          return dwg_add_class (dwg, dxfname, result->cppname, "ObjectDBX Classes", result->isent);
1303
0
        case ODBX_OR_A2000CLASS:
1304
0
          return dwg_add_class (dwg, dxfname, result->cppname,
1305
0
                         dwg->header.from_version <= R_2000 ? "AutoCAD 2000" : "ObjectDBX Classes",
1306
0
                         result->isent);
1307
0
        case A2000CLASS:
1308
0
          return dwg_add_class (dwg, dxfname, result->cppname, "AutoCAD 2000", result->isent);
1309
0
        case SCENEOECLASS:
1310
0
          return dwg_add_class (dwg, dxfname, result->cppname, "SCENEOE", result->isent);
1311
0
        case ISMCLASS:
1312
0
          return dwg_add_class (dwg, dxfname, result->cppname, "ISM", result->isent);
1313
0
        case POINTCLOUDCLASS:
1314
0
          return dwg_add_class (dwg, dxfname, result->cppname, "AcDbPointCloudObj", result->isent); //appname?
1315
0
        case DGNLSCLASS:
1316
0
          return dwg_add_class (dwg, dxfname, result->cppname, "AcDgnLS", result->isent);
1317
0
        case NanoSPDSCLASS:
1318
0
          return dwg_add_class (dwg, dxfname, result->cppname, "NanoSPDS", result->isent);
1319
0
        case AEC60CLASS:
1320
0
          return dwg_add_class (dwg, dxfname, result->cppname, "AecArchBase60|Product Desc: "
1321
0
                                "Autodesk Architectural Desktop 2007", result->isent);
1322
0
        case EXPRESSCLASS:
1323
0
          {
1324
0
            char appname[128];
1325
0
            strcpy (appname, dxfname);
1326
0
            strcat (appname, "|AutoCAD Express Tool");
1327
0
            return dwg_add_class (dwg, dxfname, result->cppname, appname, result->isent);
1328
0
          }
1329
0
        case SPECIALCLASS:
1330
0
          {
1331
0
            char appname[128];
1332
0
            if (strEQc (dxfname, "MLEADERSTYLE"))
1333
0
              strcpy (appname, "ACDB_MLEADERSTYLE_CLASS");
1334
0
            else if (strEQc (dxfname, "WIPEOUT"))
1335
0
              strcpy (appname, "Wipeout|Product Desc:     WipeOut Dbx Application");
1336
0
            else if (strEQc (dxfname, "DIMASSOC"))
1337
0
              strcpy (appname, "AcDbDimAssoc|Product Desc:     AcDim ARX App For Dimension");
1338
0
            else if (memBEGINc (dxfname, "PARTIAL_VIEWING_"))
1339
0
              strcpy (appname, "OdDbPartialViewing|https://www.opendesign.com Teigha(R) Core Db");
1340
0
            else if (strEQc (dxfname, "LAYOUTPRINTCONFIG"))
1341
0
              strcpy (appname, "CSD_APP");
1342
0
            else
1343
0
              {
1344
0
                strcpy (appname, result->cppname);
1345
0
                strcat (appname, "|Unknown ARX App");
1346
0
              }
1347
0
            return dwg_add_class (dwg, dxfname, result->cppname, appname, result->isent);
1348
0
          }
1349
0
          break;
1350
0
        default:
1351
0
          fprintf (stderr, "dxfclass_require: Invalid apptype %d", (int)result->apptype);
1352
0
          return -3;
1353
0
        }
1354
0
    }
1355
0
  return -2;
1356
0
}
1357
1358
GCC46_DIAG_RESTORE
1359
1360
/*
1361
 * Local variables:
1362
 *   c-file-style: "gnu"
1363
 * End:
1364
 * vim: expandtab shiftwidth=4 cinoptions='\:2=2' :
1365
 */