Skip to content

Commit dcfe2e0

Browse files
rurbanmichal-josef-spacek
authored andcommitted
promote DIMASSOC to unstable
lots of coverage
1 parent 56d392a commit dcfe2e0

File tree

10 files changed

+60
-33
lines changed

10 files changed

+60
-33
lines changed

bindings/dwg.i

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,7 @@ EXPORT Dwg_Object_BLOCKXYGRIP** dwg_getall_BLOCKXYGRIP (Dwg_Data* dwg);
421421
EXPORT Dwg_Object_BLOCKXYPARAMETER** dwg_getall_BLOCKXYPARAMETER (Dwg_Data* dwg);
422422
EXPORT Dwg_Object_DATALINK** dwg_getall_DATALINK (Dwg_Data* dwg);
423423
EXPORT Dwg_Object_DBCOLOR** dwg_getall_DBCOLOR (Dwg_Data* dwg);
424+
EXPORT Dwg_Object_DIMASSOC** dwg_getall_DIMASSOC (Dwg_Data* dwg);
424425
EXPORT Dwg_Object_EVALUATION_GRAPH** dwg_getall_EVALUATION_GRAPH (Dwg_Data* dwg);
425426
EXPORT Dwg_Object_FCFOBJECTCONTEXTDATA** dwg_getall_FCFOBJECTCONTEXTDATA (Dwg_Data* dwg);
426427
EXPORT Dwg_Object_GRADIENT_BACKGROUND** dwg_getall_GRADIENT_BACKGROUND (Dwg_Data* dwg);
@@ -485,7 +486,6 @@ EXPORT Dwg_Object_ASSOCARRAYRECTANGULARPARAMETERS** dwg_getall_ASSOCARRAYRECTANG
485486
EXPORT Dwg_Object_CSACDOCUMENTOPTIONS** dwg_getall_CSACDOCUMENTOPTIONS (Dwg_Data* dwg);
486487
EXPORT Dwg_Object_CURVEPATH** dwg_getall_CURVEPATH (Dwg_Data* dwg);
487488
EXPORT Dwg_Object_DATATABLE** dwg_getall_DATATABLE (Dwg_Data* dwg);
488-
EXPORT Dwg_Object_DIMASSOC** dwg_getall_DIMASSOC (Dwg_Data* dwg);
489489
EXPORT Dwg_Object_DMDIMOBJECTCONTEXTDATA** dwg_getall_DMDIMOBJECTCONTEXTDATA (Dwg_Data* dwg);
490490
EXPORT Dwg_Object_DYNAMICBLOCKPROXYNODE** dwg_getall_DYNAMICBLOCKPROXYNODE (Dwg_Data* dwg);
491491
EXPORT Dwg_Object_GEOMAPIMAGE** dwg_getall_GEOMAPIMAGE (Dwg_Data* dwg);
@@ -751,6 +751,7 @@ EXPORT Dwg_Object_BLOCKXYGRIP* dwg_object_to_BLOCKXYGRIP (Dwg_Object* obj);
751751
EXPORT Dwg_Object_BLOCKXYPARAMETER* dwg_object_to_BLOCKXYPARAMETER (Dwg_Object* obj);
752752
EXPORT Dwg_Object_DATALINK* dwg_object_to_DATALINK (Dwg_Object* obj);
753753
EXPORT Dwg_Object_DBCOLOR* dwg_object_to_DBCOLOR (Dwg_Object* obj);
754+
EXPORT Dwg_Object_DIMASSOC* dwg_object_to_DIMASSOC (Dwg_Object* obj);
754755
EXPORT Dwg_Object_EVALUATION_GRAPH* dwg_object_to_EVALUATION_GRAPH (Dwg_Object* obj);
755756
EXPORT Dwg_Object_FCFOBJECTCONTEXTDATA* dwg_object_to_FCFOBJECTCONTEXTDATA (Dwg_Object* obj);
756757
EXPORT Dwg_Object_GRADIENT_BACKGROUND* dwg_object_to_GRADIENT_BACKGROUND (Dwg_Object* obj);
@@ -815,7 +816,6 @@ EXPORT Dwg_Object_ASSOCARRAYRECTANGULARPARAMETERS* dwg_object_to_ASSOCARRAYRECTA
815816
EXPORT Dwg_Object_CSACDOCUMENTOPTIONS* dwg_object_to_CSACDOCUMENTOPTIONS (Dwg_Object* obj);
816817
EXPORT Dwg_Object_CURVEPATH* dwg_object_to_CURVEPATH (Dwg_Object* obj);
817818
EXPORT Dwg_Object_DATATABLE* dwg_object_to_DATATABLE (Dwg_Object* obj);
818-
EXPORT Dwg_Object_DIMASSOC* dwg_object_to_DIMASSOC (Dwg_Object* obj);
819819
EXPORT Dwg_Object_DMDIMOBJECTCONTEXTDATA* dwg_object_to_DMDIMOBJECTCONTEXTDATA (Dwg_Object* obj);
820820
EXPORT Dwg_Object_DYNAMICBLOCKPROXYNODE* dwg_object_to_DYNAMICBLOCKPROXYNODE (Dwg_Object* obj);
821821
EXPORT Dwg_Object_GEOMAPIMAGE* dwg_object_to_GEOMAPIMAGE (Dwg_Object* obj);

include/dwg.h

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5333,8 +5333,7 @@ typedef struct _dwg_object_DATALINK
53335333
} Dwg_Object_DATALINK;
53345334

53355335
/**
5336-
Object DIMASSOC (varies) DEBUGGING
5337-
--enable-debug only
5336+
Object DIMASSOC (varies) unstable
53385337
*/
53395338
typedef struct _dwg_DIMASSOC_Ref
53405339
{
@@ -5359,11 +5358,11 @@ typedef struct _dwg_object_DIMASSOC
53595358
{
53605359
struct _dwg_object_object *parent;
53615360
BITCODE_H dimensionobj;
5362-
BITCODE_BL associativity; /*!< DXF 90, bitmask 0-15*/
5361+
BITCODE_BL associativity; /*!< DXF 90, bitmask 0-15 */
53635362
BITCODE_B trans_space_flag; /*!< DXF 70 boolean */
5364-
BITCODE_RC rotated_type; /*!< DXF 71 */
5365-
Dwg_DIMASSOC_Ref *ref; /* 1-4x, with possible holes,
5366-
depend. on associativity bitmask */
5363+
BITCODE_RC rotated_type; /*!< DXF 71 */
5364+
Dwg_DIMASSOC_Ref *ref; /* 1-4x, with possible holes,
5365+
depends on associativity bitmask */
53675366
} Dwg_Object_DIMASSOC;
53685367

53695368
typedef struct _dwg_ACTIONBODY
@@ -8921,6 +8920,7 @@ typedef struct _dwg_object_object
89218920
Dwg_Object_BLOCKXYPARAMETER *BLOCKXYPARAMETER;
89228921
Dwg_Object_DATALINK *DATALINK;
89238922
Dwg_Object_DBCOLOR *DBCOLOR;
8923+
Dwg_Object_DIMASSOC *DIMASSOC;
89248924
Dwg_Object_EVALUATION_GRAPH *EVALUATION_GRAPH;
89258925
Dwg_Object_FCFOBJECTCONTEXTDATA *FCFOBJECTCONTEXTDATA;
89268926
Dwg_Object_GRADIENT_BACKGROUND *GRADIENT_BACKGROUND;
@@ -8985,7 +8985,6 @@ typedef struct _dwg_object_object
89858985
Dwg_Object_CSACDOCUMENTOPTIONS *CSACDOCUMENTOPTIONS;
89868986
Dwg_Object_CURVEPATH *CURVEPATH;
89878987
Dwg_Object_DATATABLE *DATATABLE;
8988-
Dwg_Object_DIMASSOC *DIMASSOC;
89898988
Dwg_Object_DMDIMOBJECTCONTEXTDATA *DMDIMOBJECTCONTEXTDATA;
89908989
Dwg_Object_DYNAMICBLOCKPROXYNODE *DYNAMICBLOCKPROXYNODE;
89918990
Dwg_Object_GEOMAPIMAGE *GEOMAPIMAGE;
@@ -10312,6 +10311,7 @@ EXPORT int dwg_setup_BLOCKXYGRIP (Dwg_Object *obj);
1031210311
EXPORT int dwg_setup_BLOCKXYPARAMETER (Dwg_Object *obj);
1031310312
EXPORT int dwg_setup_DATALINK (Dwg_Object *obj);
1031410313
EXPORT int dwg_setup_DBCOLOR (Dwg_Object *obj);
10314+
EXPORT int dwg_setup_DIMASSOC (Dwg_Object *obj);
1031510315
EXPORT int dwg_setup_EVALUATION_GRAPH (Dwg_Object *obj);
1031610316
EXPORT int dwg_setup_FCFOBJECTCONTEXTDATA (Dwg_Object *obj);
1031710317
EXPORT int dwg_setup_GRADIENT_BACKGROUND (Dwg_Object *obj);
@@ -10401,7 +10401,6 @@ EXPORT int dwg_setup_ASSOCARRAYRECTANGULARPARAMETERS (Dwg_Object *obj);
1040110401
EXPORT int dwg_setup_CSACDOCUMENTOPTIONS (Dwg_Object *obj);
1040210402
EXPORT int dwg_setup_CURVEPATH (Dwg_Object *obj);
1040310403
EXPORT int dwg_setup_DATATABLE (Dwg_Object *obj);
10404-
EXPORT int dwg_setup_DIMASSOC (Dwg_Object *obj);
1040510404
EXPORT int dwg_setup_DMDIMOBJECTCONTEXTDATA (Dwg_Object *obj);
1040610405
EXPORT int dwg_setup_DYNAMICBLOCKPROXYNODE (Dwg_Object *obj);
1040710406
EXPORT int dwg_setup_GEOMAPIMAGE (Dwg_Object *obj);

include/dwg_api.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,7 @@ extern "C"
824824
typedef struct _dwg_object_BLOCKXYPARAMETER dwg_obj_blockxyparameter;
825825
typedef struct _dwg_object_DATALINK dwg_obj_datalink;
826826
typedef struct _dwg_object_DBCOLOR dwg_obj_dbcolor;
827+
typedef struct _dwg_object_DIMASSOC dwg_obj_dimassoc;
827828
typedef struct _dwg_object_EVALUATION_GRAPH dwg_obj_evaluation_graph;
828829
typedef struct _dwg_object_FCFOBJECTCONTEXTDATA dwg_obj_fcfobjectcontextdata;
829830
typedef struct _dwg_object_GRADIENT_BACKGROUND dwg_obj_gradient_background;
@@ -917,7 +918,6 @@ extern "C"
917918
typedef struct _dwg_object_CSACDOCUMENTOPTIONS dwg_obj_csacdocumentoptions;
918919
typedef struct _dwg_object_CURVEPATH dwg_obj_curvepath;
919920
typedef struct _dwg_object_DATATABLE dwg_obj_datatable;
920-
typedef struct _dwg_object_DIMASSOC dwg_obj_dimassoc;
921921
typedef struct _dwg_object_DMDIMOBJECTCONTEXTDATA
922922
dwg_obj_dmdimobjectcontextdata;
923923
typedef struct _dwg_object_DYNAMICBLOCKPROXYNODE
@@ -1207,6 +1207,7 @@ extern "C"
12071207
dwg_get_OBJECT_DECL (obj_blockxyparameter, BLOCKXYPARAMETER);
12081208
dwg_get_OBJECT_DECL (obj_datalink, DATALINK);
12091209
dwg_get_OBJECT_DECL (obj_dbcolor, DBCOLOR);
1210+
dwg_get_OBJECT_DECL (obj_dimassoc, DIMASSOC);
12101211
dwg_get_OBJECT_DECL (obj_evaluation_graph, EVALUATION_GRAPH);
12111212
dwg_get_OBJECT_DECL (obj_fcfobjectcontextdata, FCFOBJECTCONTEXTDATA);
12121213
dwg_get_OBJECT_DECL (obj_gradient_background, GRADIENT_BACKGROUND);
@@ -1286,7 +1287,6 @@ extern "C"
12861287
dwg_get_OBJECT_DECL (obj_csacdocumentoptions, CSACDOCUMENTOPTIONS);
12871288
dwg_get_OBJECT_DECL (obj_curvepath, CURVEPATH);
12881289
dwg_get_OBJECT_DECL (obj_datatable, DATATABLE);
1289-
dwg_get_OBJECT_DECL (obj_dimassoc, DIMASSOC);
12901290
dwg_get_OBJECT_DECL (obj_dmdimobjectcontextdata, DMDIMOBJECTCONTEXTDATA);
12911291
dwg_get_OBJECT_DECL (obj_dynamicblockproxynode, DYNAMICBLOCKPROXYNODE);
12921292
dwg_get_OBJECT_DECL (obj_geomapimage, GEOMAPIMAGE);
@@ -1568,6 +1568,7 @@ extern "C"
15681568
DWG_GETALL_OBJECT_DECL (BLOCKXYPARAMETER);
15691569
DWG_GETALL_OBJECT_DECL (DATALINK);
15701570
DWG_GETALL_OBJECT_DECL (DBCOLOR);
1571+
DWG_GETALL_OBJECT_DECL (DIMASSOC);
15711572
DWG_GETALL_OBJECT_DECL (EVALUATION_GRAPH);
15721573
DWG_GETALL_OBJECT_DECL (FCFOBJECTCONTEXTDATA);
15731574
DWG_GETALL_OBJECT_DECL (GRADIENT_BACKGROUND);
@@ -1634,7 +1635,6 @@ extern "C"
16341635
DWG_GETALL_OBJECT_DECL (CSACDOCUMENTOPTIONS);
16351636
DWG_GETALL_OBJECT_DECL (CURVEPATH);
16361637
DWG_GETALL_OBJECT_DECL (DATATABLE);
1637-
DWG_GETALL_OBJECT_DECL (DIMASSOC);
16381638
DWG_GETALL_OBJECT_DECL (DMDIMOBJECTCONTEXTDATA);
16391639
DWG_GETALL_OBJECT_DECL (DYNAMICBLOCKPROXYNODE);
16401640
DWG_GETALL_OBJECT_DECL (GEOMAPIMAGE);
@@ -1920,6 +1920,7 @@ extern "C"
19201920
CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKXYPARAMETER);
19211921
CAST_DWG_OBJECT_TO_OBJECT_DECL (DATALINK);
19221922
CAST_DWG_OBJECT_TO_OBJECT_DECL (DBCOLOR);
1923+
CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMASSOC);
19231924
CAST_DWG_OBJECT_TO_OBJECT_DECL (EVALUATION_GRAPH);
19241925
CAST_DWG_OBJECT_TO_OBJECT_DECL (FCFOBJECTCONTEXTDATA);
19251926
CAST_DWG_OBJECT_TO_OBJECT_DECL (GRADIENT_BACKGROUND);
@@ -1986,7 +1987,6 @@ extern "C"
19861987
CAST_DWG_OBJECT_TO_OBJECT_DECL (CSACDOCUMENTOPTIONS);
19871988
CAST_DWG_OBJECT_TO_OBJECT_DECL (CURVEPATH);
19881989
CAST_DWG_OBJECT_TO_OBJECT_DECL (DATATABLE);
1989-
CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMASSOC);
19901990
CAST_DWG_OBJECT_TO_OBJECT_DECL (DMDIMOBJECTCONTEXTDATA);
19911991
CAST_DWG_OBJECT_TO_OBJECT_DECL (DYNAMICBLOCKPROXYNODE);
19921992
CAST_DWG_OBJECT_TO_OBJECT_DECL (GEOMAPIMAGE);

src/classes.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@
270270
UNSTABLE_CLASS_DXF (ACTION, EVALUATION_GRAPH, ACAD_EVALUATION_GRAPH) /* almost */
271271
UNSTABLE_CLASS (ACTION, DATALINK)
272272
UNSTABLE_CLASS (ACTION, DBCOLOR)
273+
UNSTABLE_CLASS (ACTION, DIMASSOC)
273274
UNSTABLE_CLASS (ACTION, HELIX) /* ent, looks very stable */
274275
UNSTABLE_CLASS (ACTION, LARGE_RADIAL_DIMENSION) /* ent */
275276
UNSTABLE_CLASS (ACTION, LAYOUTPRINTCONFIG) /* ent. CSD_APP, probably a mistake as ent */
@@ -368,7 +369,6 @@
368369
DEBUGGING_CLASS (ACTION, MPOLYGON) // hatch-like ent
369370
DEBUGGING_CLASS_CPP (ACTION, NAVISWORKSMODEL, AcDbNavisworksModel) /* ent,
370371
dxfname COORDINATION_MODEL? */
371-
DEBUGGING_CLASS (ACTION, DIMASSOC)
372372
DEBUGGING_CLASS_CPP (ACTION, TABLECONTENT, AcDbTableContent) // dxfname: "TABLE"
373373
DEBUGGING_CLASS (ACTION, ACSH_EXTRUSION_CLASS)
374374
DEBUGGING_CLASS (ACTION, ACSH_LOFT_CLASS)

src/dwg.spec

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9934,14 +9934,6 @@ DWG_ENTITY_END
99349934
FIELD_B (dimension.flip_arrow2, 296); \
99359935
FIELD_B (dimension.flip_arrow1, 297)
99369936

9937-
/*=============================================================================*/
9938-
9939-
/* In work area:
9940-
The following entities/objects are only stored as raw UNKNOWN_ENT/OBJ,
9941-
unless enabled via --enable-debug/-DDEBUG_CLASSES */
9942-
9943-
#if defined (DEBUG_CLASSES) || defined (IS_FREE)
9944-
99459937
// (varies) UNSTABLE
99469938
// 1-4 references, see associativity bits 1-8.
99479939
DWG_OBJECT (DIMASSOC)
@@ -9999,6 +9991,14 @@ DWG_OBJECT (DIMASSOC)
99999991
START_OBJECT_HANDLE_STREAM;
100009992
DWG_OBJECT_END
100019993

9994+
/*=============================================================================*/
9995+
9996+
/* In work area:
9997+
The following entities/objects are only stored as raw UNKNOWN_ENT/OBJ,
9998+
unless enabled via --enable-debug/-DDEBUG_CLASSES */
9999+
10000+
#if defined (DEBUG_CLASSES) || defined (IS_FREE)
10001+
1000210002
// (varies) fails the unit-test
1000310003
// See AcDbAssocActionBody.h and ASSOCPLANESURFACEACTIONBODY
1000410004
DWG_OBJECT (ASSOCSWEPTSURFACEACTIONBODY)

src/dwg_api.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ dwg_get_OBJECT (obj_blockxygrip, BLOCKXYGRIP)
400400
dwg_get_OBJECT (obj_blockxyparameter, BLOCKXYPARAMETER)
401401
dwg_get_OBJECT (obj_datalink, DATALINK)
402402
dwg_get_OBJECT (obj_dbcolor, DBCOLOR)
403+
dwg_get_OBJECT (obj_dimassoc, DIMASSOC)
403404
dwg_get_OBJECT (obj_evaluation_graph, EVALUATION_GRAPH)
404405
dwg_get_OBJECT (obj_fcfobjectcontextdata, FCFOBJECTCONTEXTDATA)
405406
dwg_get_OBJECT (obj_gradient_background, GRADIENT_BACKGROUND)
@@ -464,7 +465,6 @@ dwg_get_OBJECT (obj_assocarrayrectangularparameters, ASSOCARRAYRECTANGULARPARAME
464465
dwg_get_OBJECT (obj_csacdocumentoptions, CSACDOCUMENTOPTIONS)
465466
dwg_get_OBJECT (obj_curvepath, CURVEPATH)
466467
dwg_get_OBJECT (obj_datatable, DATATABLE)
467-
dwg_get_OBJECT (obj_dimassoc, DIMASSOC)
468468
dwg_get_OBJECT (obj_dmdimobjectcontextdata, DMDIMOBJECTCONTEXTDATA)
469469
dwg_get_OBJECT (obj_dynamicblockproxynode, DYNAMICBLOCKPROXYNODE)
470470
dwg_get_OBJECT (obj_geomapimage, GEOMAPIMAGE)
@@ -757,6 +757,7 @@ DWG_GETALL_OBJECT (BLOCKXYGRIP)
757757
DWG_GETALL_OBJECT (BLOCKXYPARAMETER)
758758
DWG_GETALL_OBJECT (DATALINK)
759759
DWG_GETALL_OBJECT (DBCOLOR)
760+
DWG_GETALL_OBJECT (DIMASSOC)
760761
DWG_GETALL_OBJECT (EVALUATION_GRAPH)
761762
DWG_GETALL_OBJECT (FCFOBJECTCONTEXTDATA)
762763
DWG_GETALL_OBJECT (GRADIENT_BACKGROUND)
@@ -821,7 +822,6 @@ DWG_GETALL_OBJECT (ASSOCARRAYRECTANGULARPARAMETERS)
821822
DWG_GETALL_OBJECT (CSACDOCUMENTOPTIONS)
822823
DWG_GETALL_OBJECT (CURVEPATH)
823824
DWG_GETALL_OBJECT (DATATABLE)
824-
DWG_GETALL_OBJECT (DIMASSOC)
825825
DWG_GETALL_OBJECT (DMDIMOBJECTCONTEXTDATA)
826826
DWG_GETALL_OBJECT (DYNAMICBLOCKPROXYNODE)
827827
DWG_GETALL_OBJECT (GEOMAPIMAGE)
@@ -1108,6 +1108,7 @@ CAST_DWG_OBJECT_TO_OBJECT (BLOCKXYGRIP)
11081108
CAST_DWG_OBJECT_TO_OBJECT (BLOCKXYPARAMETER)
11091109
CAST_DWG_OBJECT_TO_OBJECT (DATALINK)
11101110
CAST_DWG_OBJECT_TO_OBJECT (DBCOLOR)
1111+
CAST_DWG_OBJECT_TO_OBJECT (DIMASSOC)
11111112
CAST_DWG_OBJECT_TO_OBJECT (EVALUATION_GRAPH)
11121113
CAST_DWG_OBJECT_TO_OBJECT (FCFOBJECTCONTEXTDATA)
11131114
CAST_DWG_OBJECT_TO_OBJECT (GRADIENT_BACKGROUND)
@@ -1172,7 +1173,6 @@ CAST_DWG_OBJECT_TO_OBJECT (ASSOCARRAYRECTANGULARPARAMETERS)
11721173
CAST_DWG_OBJECT_TO_OBJECT (CSACDOCUMENTOPTIONS)
11731174
CAST_DWG_OBJECT_TO_OBJECT (CURVEPATH)
11741175
CAST_DWG_OBJECT_TO_OBJECT (DATATABLE)
1175-
CAST_DWG_OBJECT_TO_OBJECT (DIMASSOC)
11761176
CAST_DWG_OBJECT_TO_OBJECT (DMDIMOBJECTCONTEXTDATA)
11771177
CAST_DWG_OBJECT_TO_OBJECT (DYNAMICBLOCKPROXYNODE)
11781178
CAST_DWG_OBJECT_TO_OBJECT (GEOMAPIMAGE)
@@ -27998,7 +27998,6 @@ dwg_add_WEDGE (Dwg_Object_BLOCK_HEADER *restrict blkhdr,
2799827998
// DBCOLOR
2799927999
// DETAILVIEWSTYLE
2800028000
// DICTIONARYVAR
28001-
// DIMASSOC
2800228001
// DMDIMOBJECTCONTEXTDATA
2800328002
// DYNAMICBLOCKPROXYNODE
2800428003
// DYNAMICBLOCKPURGEPREVENTER

src/objects.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1543,7 +1543,7 @@ in_word_set (const char *str, size_t len)
15431543
#line 258 "src/objects.in"
15441544
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str782, "BLOCK_HEADER", DWG_TYPE_BLOCK_HEADER, 0, STABLE},
15451545
#line 273 "src/objects.in"
1546-
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str783, "DIMASSOC", DWG_TYPE_DIMASSOC, 0, DEBUGGING},
1546+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str783, "DIMASSOC", DWG_TYPE_DIMASSOC, 0, UNSTABLE},
15471547
{-1}, {-1},
15481548
#line 69 "src/objects.in"
15491549
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str786, "DIMENSION", DWG_TYPE_DIMENSION_LINEAR, 1, STABLE},

src/objects.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ GCC46_DIAG_IGNORE(-Wmissing-field-initializers)
270270
"DICTIONARY", "DICTIONARY", DWG_TYPE_DICTIONARY, 0, STABLE
271271
"DICTIONARYVAR", "DICTIONARYVAR", DWG_TYPE_DICTIONARYVAR, 0, STABLE
272272
"DICTIONARYWDFLT", "ACDBDICTIONARYWDFLT", DWG_TYPE_DICTIONARYWDFLT, 0, STABLE
273-
"DIMASSOC", "DIMASSOC", DWG_TYPE_DIMASSOC, 0, DEBUGGING
273+
"DIMASSOC", "DIMASSOC", DWG_TYPE_DIMASSOC, 0, UNSTABLE
274274
"DIMSTYLE", "DIMSTYLE", DWG_TYPE_DIMSTYLE, 0, STABLE
275275
"DIMSTYLE_CONTROL", "DIMSTYLE_CONTROL", DWG_TYPE_DIMSTYLE_CONTROL, 0, STABLE
276276
"DMDIMOBJECTCONTEXTDATA", "ACDB_DMDIMOBJECTCONTEXTDATA_CLASS", DWG_TYPE_DMDIMOBJECTCONTEXTDATA, 0, DEBUGGING

test/unit-testing/common.c

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,31 @@ main (int argc, char *argv[])
663663
error += test_code_nodist (
664664
prefix, "2010/visualization_-_conference_room.dwg", cov);
665665
}
666+
if (DWG_TYPE == DWG_TYPE_DIMASSOC)
667+
{
668+
error += test_code_nodist (prefix, "../test/issues/gh518/9.dwg",
669+
cov);
670+
error += test_code_nodist (
671+
prefix,
672+
"../test-old/2018/from_cadforum.cz/A_BIG_COLLECTION.dwg",
673+
cov);
674+
error += test_code_nodist (
675+
prefix, "../td/2007/400306222-Main_board_line.dwg", cov);
676+
error += test_code_nodist (
677+
prefix, "../td/2007/400306224-X_E_Motor_Line.dwg", cov);
678+
error += test_code_nodist (
679+
prefix,
680+
"../test-old/2004/from_uloz.to/61_001_00_Bo_Ze_A_KV1.dwg",
681+
cov);
682+
error += test_code_nodist (
683+
prefix,
684+
"../test-old/2004/from_uloz.to/00_005_POHLADY_Kl_A.dwg",
685+
cov);
686+
error += test_code_nodist (prefix,
687+
"../test-old/2004/from_uloz.to/"
688+
"00_006_SCHODISKO_e_IX_X_Kl.dwg",
689+
cov);
690+
}
666691
if (DWG_TYPE == DWG_TYPE_POINTCLOUDCOLORMAP)
667692
{
668693
if (g_countmax == 1000) // only with -a

test/unit-testing/dimassoc.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ api_process (dwg_object *obj)
1212
BITCODE_RC rotated_type;
1313
Dwg_DIMASSOC_Ref *ref;
1414
// BITCODE_BS j;
15-
BITCODE_BL num_intsectobj, num_xrefs;
15+
BITCODE_BL num_intsectobj, num_xrefs, num_xrefpaths,
16+
num_intersec_xrefpaths;
1617
BITCODE_H *intsectobj, *xrefs;
17-
// BITCODE_BL intsect_gsmarker;
18-
// BITCODE_H intsectxrefobj;
18+
BITCODE_T *xrefpaths;
19+
// BITCODE_BL intersec_gsmarker;
1920

2021
Dwg_Version_Type dwg_version = obj->parent->header.version;
2122
dwg_obj_dimassoc *dimassoc = dwg_object_to_DIMASSOC (obj);
@@ -53,6 +54,9 @@ api_process (dwg_object *obj)
5354
num_xrefs = ref[i].num_xrefs;
5455
CHK_SUBCLASS_HV (ref[i], DIMASSOC_Ref, xrefs, num_xrefs);
5556
CHK_SUBCLASS_TYPE (ref[i], DIMASSOC_Ref, has_lastpt_ref, B);
56-
CHK_SUBCLASS_3RD (ref[i], DIMASSOC_Ref, lastpt_ref);
57+
CHK_SUBCLASS_TYPE (ref[i], DIMASSOC_Ref, num_intersec_xrefpaths, BL);
58+
CHK_SUBCLASS_MAX (ref[i], DIMASSOC_Ref, num_intersec_xrefpaths, BL, 100);
59+
// num_intersec_xrefpaths = ref[i].num_intersec_xrefpaths;
60+
// CHK_SUBCLASS_TV (ref[i], DIMASSOC_Ref, intersec_xrefpaths, num_intersec_xrefpaths);
5761
}
5862
}

0 commit comments

Comments
 (0)