diff --git a/bindings/dwg.i b/bindings/dwg.i index 8e6e9e33a..4b2d8928f 100644 --- a/bindings/dwg.i +++ b/bindings/dwg.i @@ -421,6 +421,7 @@ EXPORT Dwg_Object_BLOCKXYGRIP** dwg_getall_BLOCKXYGRIP (Dwg_Data* dwg); EXPORT Dwg_Object_BLOCKXYPARAMETER** dwg_getall_BLOCKXYPARAMETER (Dwg_Data* dwg); EXPORT Dwg_Object_DATALINK** dwg_getall_DATALINK (Dwg_Data* dwg); EXPORT Dwg_Object_DBCOLOR** dwg_getall_DBCOLOR (Dwg_Data* dwg); +EXPORT Dwg_Object_DIMASSOC** dwg_getall_DIMASSOC (Dwg_Data* dwg); EXPORT Dwg_Object_EVALUATION_GRAPH** dwg_getall_EVALUATION_GRAPH (Dwg_Data* dwg); EXPORT Dwg_Object_FCFOBJECTCONTEXTDATA** dwg_getall_FCFOBJECTCONTEXTDATA (Dwg_Data* dwg); EXPORT Dwg_Object_GRADIENT_BACKGROUND** dwg_getall_GRADIENT_BACKGROUND (Dwg_Data* dwg); @@ -485,7 +486,6 @@ EXPORT Dwg_Object_ASSOCARRAYRECTANGULARPARAMETERS** dwg_getall_ASSOCARRAYRECTANG EXPORT Dwg_Object_CSACDOCUMENTOPTIONS** dwg_getall_CSACDOCUMENTOPTIONS (Dwg_Data* dwg); EXPORT Dwg_Object_CURVEPATH** dwg_getall_CURVEPATH (Dwg_Data* dwg); EXPORT Dwg_Object_DATATABLE** dwg_getall_DATATABLE (Dwg_Data* dwg); - EXPORT Dwg_Object_DIMASSOC** dwg_getall_DIMASSOC (Dwg_Data* dwg); EXPORT Dwg_Object_DMDIMOBJECTCONTEXTDATA** dwg_getall_DMDIMOBJECTCONTEXTDATA (Dwg_Data* dwg); EXPORT Dwg_Object_DYNAMICBLOCKPROXYNODE** dwg_getall_DYNAMICBLOCKPROXYNODE (Dwg_Data* dwg); 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); EXPORT Dwg_Object_BLOCKXYPARAMETER* dwg_object_to_BLOCKXYPARAMETER (Dwg_Object* obj); EXPORT Dwg_Object_DATALINK* dwg_object_to_DATALINK (Dwg_Object* obj); EXPORT Dwg_Object_DBCOLOR* dwg_object_to_DBCOLOR (Dwg_Object* obj); +EXPORT Dwg_Object_DIMASSOC* dwg_object_to_DIMASSOC (Dwg_Object* obj); EXPORT Dwg_Object_EVALUATION_GRAPH* dwg_object_to_EVALUATION_GRAPH (Dwg_Object* obj); EXPORT Dwg_Object_FCFOBJECTCONTEXTDATA* dwg_object_to_FCFOBJECTCONTEXTDATA (Dwg_Object* obj); 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 EXPORT Dwg_Object_CSACDOCUMENTOPTIONS* dwg_object_to_CSACDOCUMENTOPTIONS (Dwg_Object* obj); EXPORT Dwg_Object_CURVEPATH* dwg_object_to_CURVEPATH (Dwg_Object* obj); EXPORT Dwg_Object_DATATABLE* dwg_object_to_DATATABLE (Dwg_Object* obj); - EXPORT Dwg_Object_DIMASSOC* dwg_object_to_DIMASSOC (Dwg_Object* obj); EXPORT Dwg_Object_DMDIMOBJECTCONTEXTDATA* dwg_object_to_DMDIMOBJECTCONTEXTDATA (Dwg_Object* obj); EXPORT Dwg_Object_DYNAMICBLOCKPROXYNODE* dwg_object_to_DYNAMICBLOCKPROXYNODE (Dwg_Object* obj); EXPORT Dwg_Object_GEOMAPIMAGE* dwg_object_to_GEOMAPIMAGE (Dwg_Object* obj); diff --git a/include/dwg.h b/include/dwg.h index 6ebeb2247..6d37083a0 100644 --- a/include/dwg.h +++ b/include/dwg.h @@ -5333,8 +5333,7 @@ typedef struct _dwg_object_DATALINK } Dwg_Object_DATALINK; /** - Object DIMASSOC (varies) DEBUGGING - --enable-debug only + Object DIMASSOC (varies) unstable */ typedef struct _dwg_DIMASSOC_Ref { @@ -5359,11 +5358,11 @@ typedef struct _dwg_object_DIMASSOC { struct _dwg_object_object *parent; BITCODE_H dimensionobj; - BITCODE_BL associativity; /*!< DXF 90, bitmask 0-15*/ + BITCODE_BL associativity; /*!< DXF 90, bitmask 0-15 */ BITCODE_B trans_space_flag; /*!< DXF 70 boolean */ - BITCODE_RC rotated_type; /*!< DXF 71 */ - Dwg_DIMASSOC_Ref *ref; /* 1-4x, with possible holes, - depend. on associativity bitmask */ + BITCODE_RC rotated_type; /*!< DXF 71 */ + Dwg_DIMASSOC_Ref *ref; /* 1-4x, with possible holes, + depends on associativity bitmask */ } Dwg_Object_DIMASSOC; typedef struct _dwg_ACTIONBODY @@ -8921,6 +8920,7 @@ typedef struct _dwg_object_object Dwg_Object_BLOCKXYPARAMETER *BLOCKXYPARAMETER; Dwg_Object_DATALINK *DATALINK; Dwg_Object_DBCOLOR *DBCOLOR; + Dwg_Object_DIMASSOC *DIMASSOC; Dwg_Object_EVALUATION_GRAPH *EVALUATION_GRAPH; Dwg_Object_FCFOBJECTCONTEXTDATA *FCFOBJECTCONTEXTDATA; Dwg_Object_GRADIENT_BACKGROUND *GRADIENT_BACKGROUND; @@ -8985,7 +8985,6 @@ typedef struct _dwg_object_object Dwg_Object_CSACDOCUMENTOPTIONS *CSACDOCUMENTOPTIONS; Dwg_Object_CURVEPATH *CURVEPATH; Dwg_Object_DATATABLE *DATATABLE; - Dwg_Object_DIMASSOC *DIMASSOC; Dwg_Object_DMDIMOBJECTCONTEXTDATA *DMDIMOBJECTCONTEXTDATA; Dwg_Object_DYNAMICBLOCKPROXYNODE *DYNAMICBLOCKPROXYNODE; Dwg_Object_GEOMAPIMAGE *GEOMAPIMAGE; @@ -10312,6 +10311,7 @@ EXPORT int dwg_setup_BLOCKXYGRIP (Dwg_Object *obj); EXPORT int dwg_setup_BLOCKXYPARAMETER (Dwg_Object *obj); EXPORT int dwg_setup_DATALINK (Dwg_Object *obj); EXPORT int dwg_setup_DBCOLOR (Dwg_Object *obj); +EXPORT int dwg_setup_DIMASSOC (Dwg_Object *obj); EXPORT int dwg_setup_EVALUATION_GRAPH (Dwg_Object *obj); EXPORT int dwg_setup_FCFOBJECTCONTEXTDATA (Dwg_Object *obj); EXPORT int dwg_setup_GRADIENT_BACKGROUND (Dwg_Object *obj); @@ -10401,7 +10401,6 @@ EXPORT int dwg_setup_ASSOCARRAYRECTANGULARPARAMETERS (Dwg_Object *obj); EXPORT int dwg_setup_CSACDOCUMENTOPTIONS (Dwg_Object *obj); EXPORT int dwg_setup_CURVEPATH (Dwg_Object *obj); EXPORT int dwg_setup_DATATABLE (Dwg_Object *obj); - EXPORT int dwg_setup_DIMASSOC (Dwg_Object *obj); EXPORT int dwg_setup_DMDIMOBJECTCONTEXTDATA (Dwg_Object *obj); EXPORT int dwg_setup_DYNAMICBLOCKPROXYNODE (Dwg_Object *obj); EXPORT int dwg_setup_GEOMAPIMAGE (Dwg_Object *obj); diff --git a/include/dwg_api.h b/include/dwg_api.h index c73bfdd7b..22d6016ec 100644 --- a/include/dwg_api.h +++ b/include/dwg_api.h @@ -824,6 +824,7 @@ extern "C" typedef struct _dwg_object_BLOCKXYPARAMETER dwg_obj_blockxyparameter; typedef struct _dwg_object_DATALINK dwg_obj_datalink; typedef struct _dwg_object_DBCOLOR dwg_obj_dbcolor; + typedef struct _dwg_object_DIMASSOC dwg_obj_dimassoc; typedef struct _dwg_object_EVALUATION_GRAPH dwg_obj_evaluation_graph; typedef struct _dwg_object_FCFOBJECTCONTEXTDATA dwg_obj_fcfobjectcontextdata; typedef struct _dwg_object_GRADIENT_BACKGROUND dwg_obj_gradient_background; @@ -917,7 +918,6 @@ extern "C" typedef struct _dwg_object_CSACDOCUMENTOPTIONS dwg_obj_csacdocumentoptions; typedef struct _dwg_object_CURVEPATH dwg_obj_curvepath; typedef struct _dwg_object_DATATABLE dwg_obj_datatable; - typedef struct _dwg_object_DIMASSOC dwg_obj_dimassoc; typedef struct _dwg_object_DMDIMOBJECTCONTEXTDATA dwg_obj_dmdimobjectcontextdata; typedef struct _dwg_object_DYNAMICBLOCKPROXYNODE @@ -1207,6 +1207,7 @@ extern "C" dwg_get_OBJECT_DECL (obj_blockxyparameter, BLOCKXYPARAMETER); dwg_get_OBJECT_DECL (obj_datalink, DATALINK); dwg_get_OBJECT_DECL (obj_dbcolor, DBCOLOR); + dwg_get_OBJECT_DECL (obj_dimassoc, DIMASSOC); dwg_get_OBJECT_DECL (obj_evaluation_graph, EVALUATION_GRAPH); dwg_get_OBJECT_DECL (obj_fcfobjectcontextdata, FCFOBJECTCONTEXTDATA); dwg_get_OBJECT_DECL (obj_gradient_background, GRADIENT_BACKGROUND); @@ -1286,7 +1287,6 @@ extern "C" dwg_get_OBJECT_DECL (obj_csacdocumentoptions, CSACDOCUMENTOPTIONS); dwg_get_OBJECT_DECL (obj_curvepath, CURVEPATH); dwg_get_OBJECT_DECL (obj_datatable, DATATABLE); - dwg_get_OBJECT_DECL (obj_dimassoc, DIMASSOC); dwg_get_OBJECT_DECL (obj_dmdimobjectcontextdata, DMDIMOBJECTCONTEXTDATA); dwg_get_OBJECT_DECL (obj_dynamicblockproxynode, DYNAMICBLOCKPROXYNODE); dwg_get_OBJECT_DECL (obj_geomapimage, GEOMAPIMAGE); @@ -1568,6 +1568,7 @@ extern "C" DWG_GETALL_OBJECT_DECL (BLOCKXYPARAMETER); DWG_GETALL_OBJECT_DECL (DATALINK); DWG_GETALL_OBJECT_DECL (DBCOLOR); + DWG_GETALL_OBJECT_DECL (DIMASSOC); DWG_GETALL_OBJECT_DECL (EVALUATION_GRAPH); DWG_GETALL_OBJECT_DECL (FCFOBJECTCONTEXTDATA); DWG_GETALL_OBJECT_DECL (GRADIENT_BACKGROUND); @@ -1634,7 +1635,6 @@ extern "C" DWG_GETALL_OBJECT_DECL (CSACDOCUMENTOPTIONS); DWG_GETALL_OBJECT_DECL (CURVEPATH); DWG_GETALL_OBJECT_DECL (DATATABLE); - DWG_GETALL_OBJECT_DECL (DIMASSOC); DWG_GETALL_OBJECT_DECL (DMDIMOBJECTCONTEXTDATA); DWG_GETALL_OBJECT_DECL (DYNAMICBLOCKPROXYNODE); DWG_GETALL_OBJECT_DECL (GEOMAPIMAGE); @@ -1920,6 +1920,7 @@ extern "C" CAST_DWG_OBJECT_TO_OBJECT_DECL (BLOCKXYPARAMETER); CAST_DWG_OBJECT_TO_OBJECT_DECL (DATALINK); CAST_DWG_OBJECT_TO_OBJECT_DECL (DBCOLOR); + CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMASSOC); CAST_DWG_OBJECT_TO_OBJECT_DECL (EVALUATION_GRAPH); CAST_DWG_OBJECT_TO_OBJECT_DECL (FCFOBJECTCONTEXTDATA); CAST_DWG_OBJECT_TO_OBJECT_DECL (GRADIENT_BACKGROUND); @@ -1986,7 +1987,6 @@ extern "C" CAST_DWG_OBJECT_TO_OBJECT_DECL (CSACDOCUMENTOPTIONS); CAST_DWG_OBJECT_TO_OBJECT_DECL (CURVEPATH); CAST_DWG_OBJECT_TO_OBJECT_DECL (DATATABLE); - CAST_DWG_OBJECT_TO_OBJECT_DECL (DIMASSOC); CAST_DWG_OBJECT_TO_OBJECT_DECL (DMDIMOBJECTCONTEXTDATA); CAST_DWG_OBJECT_TO_OBJECT_DECL (DYNAMICBLOCKPROXYNODE); CAST_DWG_OBJECT_TO_OBJECT_DECL (GEOMAPIMAGE); diff --git a/src/classes.inc b/src/classes.inc index 3798de479..52628cabb 100644 --- a/src/classes.inc +++ b/src/classes.inc @@ -270,6 +270,7 @@ UNSTABLE_CLASS_DXF (ACTION, EVALUATION_GRAPH, ACAD_EVALUATION_GRAPH) /* almost */ UNSTABLE_CLASS (ACTION, DATALINK) UNSTABLE_CLASS (ACTION, DBCOLOR) + UNSTABLE_CLASS (ACTION, DIMASSOC) UNSTABLE_CLASS (ACTION, HELIX) /* ent, looks very stable */ UNSTABLE_CLASS (ACTION, LARGE_RADIAL_DIMENSION) /* ent */ UNSTABLE_CLASS (ACTION, LAYOUTPRINTCONFIG) /* ent. CSD_APP, probably a mistake as ent */ @@ -368,7 +369,6 @@ DEBUGGING_CLASS (ACTION, MPOLYGON) // hatch-like ent DEBUGGING_CLASS_CPP (ACTION, NAVISWORKSMODEL, AcDbNavisworksModel) /* ent, dxfname COORDINATION_MODEL? */ - DEBUGGING_CLASS (ACTION, DIMASSOC) DEBUGGING_CLASS_CPP (ACTION, TABLECONTENT, AcDbTableContent) // dxfname: "TABLE" DEBUGGING_CLASS (ACTION, ACSH_EXTRUSION_CLASS) DEBUGGING_CLASS (ACTION, ACSH_LOFT_CLASS) diff --git a/src/dwg.spec b/src/dwg.spec index 6504897a3..5a7073305 100644 --- a/src/dwg.spec +++ b/src/dwg.spec @@ -9934,14 +9934,6 @@ DWG_ENTITY_END FIELD_B (dimension.flip_arrow2, 296); \ FIELD_B (dimension.flip_arrow1, 297) -/*=============================================================================*/ - -/* In work area: - The following entities/objects are only stored as raw UNKNOWN_ENT/OBJ, - unless enabled via --enable-debug/-DDEBUG_CLASSES */ - -#if defined (DEBUG_CLASSES) || defined (IS_FREE) - // (varies) UNSTABLE // 1-4 references, see associativity bits 1-8. DWG_OBJECT (DIMASSOC) @@ -9999,6 +9991,14 @@ DWG_OBJECT (DIMASSOC) START_OBJECT_HANDLE_STREAM; DWG_OBJECT_END +/*=============================================================================*/ + +/* In work area: + The following entities/objects are only stored as raw UNKNOWN_ENT/OBJ, + unless enabled via --enable-debug/-DDEBUG_CLASSES */ + +#if defined (DEBUG_CLASSES) || defined (IS_FREE) + // (varies) fails the unit-test // See AcDbAssocActionBody.h and ASSOCPLANESURFACEACTIONBODY DWG_OBJECT (ASSOCSWEPTSURFACEACTIONBODY) diff --git a/src/dwg_api.c b/src/dwg_api.c index 70aeedbba..d0813b8bb 100644 --- a/src/dwg_api.c +++ b/src/dwg_api.c @@ -400,6 +400,7 @@ dwg_get_OBJECT (obj_blockxygrip, BLOCKXYGRIP) dwg_get_OBJECT (obj_blockxyparameter, BLOCKXYPARAMETER) dwg_get_OBJECT (obj_datalink, DATALINK) dwg_get_OBJECT (obj_dbcolor, DBCOLOR) +dwg_get_OBJECT (obj_dimassoc, DIMASSOC) dwg_get_OBJECT (obj_evaluation_graph, EVALUATION_GRAPH) dwg_get_OBJECT (obj_fcfobjectcontextdata, FCFOBJECTCONTEXTDATA) dwg_get_OBJECT (obj_gradient_background, GRADIENT_BACKGROUND) @@ -464,7 +465,6 @@ dwg_get_OBJECT (obj_assocarrayrectangularparameters, ASSOCARRAYRECTANGULARPARAME dwg_get_OBJECT (obj_csacdocumentoptions, CSACDOCUMENTOPTIONS) dwg_get_OBJECT (obj_curvepath, CURVEPATH) dwg_get_OBJECT (obj_datatable, DATATABLE) - dwg_get_OBJECT (obj_dimassoc, DIMASSOC) dwg_get_OBJECT (obj_dmdimobjectcontextdata, DMDIMOBJECTCONTEXTDATA) dwg_get_OBJECT (obj_dynamicblockproxynode, DYNAMICBLOCKPROXYNODE) dwg_get_OBJECT (obj_geomapimage, GEOMAPIMAGE) @@ -757,6 +757,7 @@ DWG_GETALL_OBJECT (BLOCKXYGRIP) DWG_GETALL_OBJECT (BLOCKXYPARAMETER) DWG_GETALL_OBJECT (DATALINK) DWG_GETALL_OBJECT (DBCOLOR) +DWG_GETALL_OBJECT (DIMASSOC) DWG_GETALL_OBJECT (EVALUATION_GRAPH) DWG_GETALL_OBJECT (FCFOBJECTCONTEXTDATA) DWG_GETALL_OBJECT (GRADIENT_BACKGROUND) @@ -821,7 +822,6 @@ DWG_GETALL_OBJECT (ASSOCARRAYRECTANGULARPARAMETERS) DWG_GETALL_OBJECT (CSACDOCUMENTOPTIONS) DWG_GETALL_OBJECT (CURVEPATH) DWG_GETALL_OBJECT (DATATABLE) - DWG_GETALL_OBJECT (DIMASSOC) DWG_GETALL_OBJECT (DMDIMOBJECTCONTEXTDATA) DWG_GETALL_OBJECT (DYNAMICBLOCKPROXYNODE) DWG_GETALL_OBJECT (GEOMAPIMAGE) @@ -1108,6 +1108,7 @@ CAST_DWG_OBJECT_TO_OBJECT (BLOCKXYGRIP) CAST_DWG_OBJECT_TO_OBJECT (BLOCKXYPARAMETER) CAST_DWG_OBJECT_TO_OBJECT (DATALINK) CAST_DWG_OBJECT_TO_OBJECT (DBCOLOR) +CAST_DWG_OBJECT_TO_OBJECT (DIMASSOC) CAST_DWG_OBJECT_TO_OBJECT (EVALUATION_GRAPH) CAST_DWG_OBJECT_TO_OBJECT (FCFOBJECTCONTEXTDATA) CAST_DWG_OBJECT_TO_OBJECT (GRADIENT_BACKGROUND) @@ -1172,7 +1173,6 @@ CAST_DWG_OBJECT_TO_OBJECT (ASSOCARRAYRECTANGULARPARAMETERS) CAST_DWG_OBJECT_TO_OBJECT (CSACDOCUMENTOPTIONS) CAST_DWG_OBJECT_TO_OBJECT (CURVEPATH) CAST_DWG_OBJECT_TO_OBJECT (DATATABLE) - CAST_DWG_OBJECT_TO_OBJECT (DIMASSOC) CAST_DWG_OBJECT_TO_OBJECT (DMDIMOBJECTCONTEXTDATA) CAST_DWG_OBJECT_TO_OBJECT (DYNAMICBLOCKPROXYNODE) CAST_DWG_OBJECT_TO_OBJECT (GEOMAPIMAGE) @@ -27998,7 +27998,6 @@ dwg_add_WEDGE (Dwg_Object_BLOCK_HEADER *restrict blkhdr, // DBCOLOR // DETAILVIEWSTYLE // DICTIONARYVAR -// DIMASSOC // DMDIMOBJECTCONTEXTDATA // DYNAMICBLOCKPROXYNODE // DYNAMICBLOCKPURGEPREVENTER diff --git a/src/objects.c b/src/objects.c index b16d4b6bb..6dc3cac25 100644 --- a/src/objects.c +++ b/src/objects.c @@ -1543,7 +1543,7 @@ in_word_set (const char *str, size_t len) #line 258 "src/objects.in" {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str782, "BLOCK_HEADER", DWG_TYPE_BLOCK_HEADER, 0, STABLE}, #line 273 "src/objects.in" - {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str783, "DIMASSOC", DWG_TYPE_DIMASSOC, 0, DEBUGGING}, + {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str783, "DIMASSOC", DWG_TYPE_DIMASSOC, 0, UNSTABLE}, {-1}, {-1}, #line 69 "src/objects.in" {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str786, "DIMENSION", DWG_TYPE_DIMENSION_LINEAR, 1, STABLE}, diff --git a/src/objects.in b/src/objects.in index e424473c6..c8aadec36 100644 --- a/src/objects.in +++ b/src/objects.in @@ -270,7 +270,7 @@ GCC46_DIAG_IGNORE(-Wmissing-field-initializers) "DICTIONARY", "DICTIONARY", DWG_TYPE_DICTIONARY, 0, STABLE "DICTIONARYVAR", "DICTIONARYVAR", DWG_TYPE_DICTIONARYVAR, 0, STABLE "DICTIONARYWDFLT", "ACDBDICTIONARYWDFLT", DWG_TYPE_DICTIONARYWDFLT, 0, STABLE -"DIMASSOC", "DIMASSOC", DWG_TYPE_DIMASSOC, 0, DEBUGGING +"DIMASSOC", "DIMASSOC", DWG_TYPE_DIMASSOC, 0, UNSTABLE "DIMSTYLE", "DIMSTYLE", DWG_TYPE_DIMSTYLE, 0, STABLE "DIMSTYLE_CONTROL", "DIMSTYLE_CONTROL", DWG_TYPE_DIMSTYLE_CONTROL, 0, STABLE "DMDIMOBJECTCONTEXTDATA", "ACDB_DMDIMOBJECTCONTEXTDATA_CLASS", DWG_TYPE_DMDIMOBJECTCONTEXTDATA, 0, DEBUGGING diff --git a/test/unit-testing/common.c b/test/unit-testing/common.c index 4406f55ad..daa15af4b 100644 --- a/test/unit-testing/common.c +++ b/test/unit-testing/common.c @@ -663,6 +663,31 @@ main (int argc, char *argv[]) error += test_code_nodist ( prefix, "2010/visualization_-_conference_room.dwg", cov); } + if (DWG_TYPE == DWG_TYPE_DIMASSOC) + { + error += test_code_nodist (prefix, "../test/issues/gh518/9.dwg", + cov); + error += test_code_nodist ( + prefix, + "../test-old/2018/from_cadforum.cz/A_BIG_COLLECTION.dwg", + cov); + error += test_code_nodist ( + prefix, "../td/2007/400306222-Main_board_line.dwg", cov); + error += test_code_nodist ( + prefix, "../td/2007/400306224-X_E_Motor_Line.dwg", cov); + error += test_code_nodist ( + prefix, + "../test-old/2004/from_uloz.to/61_001_00_Bo_Ze_A_KV1.dwg", + cov); + error += test_code_nodist ( + prefix, + "../test-old/2004/from_uloz.to/00_005_POHLADY_Kl_A.dwg", + cov); + error += test_code_nodist (prefix, + "../test-old/2004/from_uloz.to/" + "00_006_SCHODISKO_e_IX_X_Kl.dwg", + cov); + } if (DWG_TYPE == DWG_TYPE_POINTCLOUDCOLORMAP) { if (g_countmax == 1000) // only with -a diff --git a/test/unit-testing/dimassoc.c b/test/unit-testing/dimassoc.c index 937b84547..7f2843960 100644 --- a/test/unit-testing/dimassoc.c +++ b/test/unit-testing/dimassoc.c @@ -12,10 +12,11 @@ api_process (dwg_object *obj) BITCODE_RC rotated_type; Dwg_DIMASSOC_Ref *ref; // BITCODE_BS j; - BITCODE_BL num_intsectobj, num_xrefs; + BITCODE_BL num_intsectobj, num_xrefs, num_xrefpaths, + num_intersec_xrefpaths; BITCODE_H *intsectobj, *xrefs; - // BITCODE_BL intsect_gsmarker; - // BITCODE_H intsectxrefobj; + BITCODE_T *xrefpaths; + // BITCODE_BL intersec_gsmarker; Dwg_Version_Type dwg_version = obj->parent->header.version; dwg_obj_dimassoc *dimassoc = dwg_object_to_DIMASSOC (obj); @@ -53,6 +54,9 @@ api_process (dwg_object *obj) num_xrefs = ref[i].num_xrefs; CHK_SUBCLASS_HV (ref[i], DIMASSOC_Ref, xrefs, num_xrefs); CHK_SUBCLASS_TYPE (ref[i], DIMASSOC_Ref, has_lastpt_ref, B); - CHK_SUBCLASS_3RD (ref[i], DIMASSOC_Ref, lastpt_ref); + CHK_SUBCLASS_TYPE (ref[i], DIMASSOC_Ref, num_intersec_xrefpaths, BL); + CHK_SUBCLASS_MAX (ref[i], DIMASSOC_Ref, num_intersec_xrefpaths, BL, 100); + // num_intersec_xrefpaths = ref[i].num_intersec_xrefpaths; + // CHK_SUBCLASS_TV (ref[i], DIMASSOC_Ref, intersec_xrefpaths, num_intersec_xrefpaths); } }