Index: trunk/src/libcschem/common_types.h =================================================================== --- trunk/src/libcschem/common_types.h (revision 568) +++ trunk/src/libcschem/common_types.h (revision 569) @@ -3,6 +3,8 @@ #include "libcschem/config.h" +typedef struct csch_chdr_s csch_chdr_t; + typedef csch_sint32_t csch_oid_t; #define CSCH_INVALID_OID ((csch_oid_t)(0)) #define CSCH_MAX_OID ((csch_oid_t)0x7FFFFFFF) Index: trunk/src/libcschem/concrete.h =================================================================== --- trunk/src/libcschem/concrete.h (revision 568) +++ trunk/src/libcschem/concrete.h (revision 569) @@ -30,6 +30,7 @@ #include "libcschem/common_types.h" #include "libcschem/rtree.h" #include "libcschem/attrib.h" +#include "libcschem/vtcnc.h" #include #include #include "TODO.h" @@ -50,7 +51,7 @@ CSCH_CTYPE_PEN } csch_ctype_t; -typedef struct csch_chdr_s { +struct csch_chdr_s { csch_oid_t oid; csch_ctype_t type; csch_oid_t parent; @@ -62,13 +63,13 @@ csch_cpen_t *pen; csch_sheet_t *sheet; csch_rtree_box_t bbox; -} csch_chdr_t; +}; #include "libcschem/vtoid.h" typedef struct csch_cgrp_s { /* type=CSCH_CTYPE_GRP */ csch_chdr_t hdr; - csch_vtoid_t memb; + csch_vtcnc_t memb; double rot; csch_coord_t xc, yc, x, y; } csch_cgrp_t; Index: trunk/src/libcschem/vtcnc.c =================================================================== --- trunk/src/libcschem/vtcnc.c (nonexistent) +++ trunk/src/libcschem/vtcnc.c (revision 569) @@ -0,0 +1,3 @@ +#define GVT_DONT_UNDEF +#include "vtcnc.h" +#include Index: trunk/src/libcschem/vtcnc.h =================================================================== --- trunk/src/libcschem/vtcnc.h (nonexistent) +++ trunk/src/libcschem/vtcnc.h (revision 569) @@ -0,0 +1,20 @@ +#ifndef VTCSCH_CNC_H +#define VTCSCH_CNC_H + +#include +#include +#include "libcschem/common_types.h" + +#define GVT(x) csch_vtcnc_ ## x + +#define GVT_ELEM_TYPE csch_chdr_t* +#define GVT_SIZE_TYPE long +#define GVT_DOUBLING_THRS 4096 +#define GVT_START_SIZE 32 +#define GVT_FUNC +#define GVT_SET_NEW_BYTES_TO 0 +#include +#define GVT_REALLOC(vect, ptr, size) realloc(ptr, size) +#define GVT_FREE(vect, ptr) free(ptr) +#include +#endif