|
LibreDWG API
0.13.3
LibreDWG API - The DWG Library
|
#include "config.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <ctype.h>#include <limits.h>#include "common.h"#include "codepages.h"#include "bits.h"#include "dwg.h"#include "decode.h"#include "out_json.h"#include "logging.h"#include "common_entity_handle_data.spec"#include "common_entity_data.spec"#include "common_object_handle_data.spec"#include "dwg.spec"#include "classes.inc"#include "header.spec"#include "header_variables_r11.spec"#include "header_variables.spec"#include "r2004_file_header.spec"#include "summaryinfo.spec"#include "appinfo.spec"#include "filedeplist.spec"#include "security.spec"#include "objfreespace.spec"#include "acds.spec"#include "template.spec"#include "auxheader.spec"#include "2ndheader.spec"Macros | |
| #define | IS_JSON |
| #define | DWG_LOGLEVEL DWG_LOGLEVEL_NONE |
| #define | ACTION json |
| #define | ISFIRST (dat->opts & DWG_OPTS_JSONFIRST) |
| #define | SETFIRST dat->opts |= DWG_OPTS_JSONFIRST |
| #define | CLEARFIRST dat->opts &= ~DWG_OPTS_JSONFIRST |
| #define | PREFIX _prefix (dat); |
| #define | IS_MINJS (dat->opts & DWG_OPTS_MINIMAL) |
| #define | JSON_SPC IS_MINJS ? "" : " " |
| #define | JSON_NL IS_MINJS ? "" : "\n" |
| #define | JSON_KEY "\"%s\":%s" |
| #define | PRINTFIRST |
| #define | FIRSTPREFIX PRINTFIRST PREFIX |
| #define | KEYs(nam) FIRSTPREFIX fprintf (dat->fh, "\"%s\":%s", nam, JSON_SPC) |
| #define | KEY(nam) FIRSTPREFIX fprintf (dat->fh, "\"%s\":%s", _path_field (#nam), JSON_SPC) |
| #define | ARRAY |
| #define | ENDARRAY |
| #define | HASH |
| #define | ENDHASH |
| #define | TABLE(nam) |
| #define | ENDTAB() ENDHASH |
| #define | RECORD(nam) |
| #define | ENDRECORD() ENDHASH |
| #define | SECTION(nam) |
| #define | ENDSEC() ENDARRAY |
| #define | FORMAT_RD "%.14f" |
| #define | FORMAT_BD FORMAT_RD |
| #define | FORMAT_RLL "%" PRIu64 |
| #define | FORMAT_BLL "%" PRIu64 |
| #define | FORMAT_HREF "[%u,%u," FORMAT_RLL "," FORMAT_RLL "]" |
| #define | FORMAT_HREF11 "[%u,%hd," FORMAT_RLL "]" |
| #define | ARGS_H(hdl) hdl.code, hdl.size, hdl.value |
| #define | FORMAT_H "[%u,%u," FORMAT_RLL "]" |
| #define | ARGS_HREF(ref) |
| #define | ARGS_HREF11(ref) ref->handleref.size, ref->r11_idx, ref->absolute_ref |
| #define | FORMAT_RC "%d" |
| #define | FORMAT_RSx FORMAT_RS |
| #define | FORMAT_RLx FORMAT_RL |
| #define | FORMAT_BLx FORMAT_BL |
| #define | FORMAT_BLX FORMAT_BL |
| #define | FORMAT_4BITS FORMAT_RC |
| #define | VALUE(value, type, dxf) fprintf (dat->fh, FORMAT_##type, value) |
| #define | VALUE_B(value, dxf) VALUE (value, B, dxf) |
| #define | VALUE_RC(value, dxf) VALUE (value, RC, dxf) |
| #define | VALUE_RS(value, dxf) VALUE (value, RS, dxf) |
| #define | VALUE_RL(value, dxf) VALUE (value, RL, dxf) |
| #define | VALUE_RLx(value, dxf) VALUE ((BITCODE_RL)value, RL, dxf) |
| #define | VALUE_RLL(value, dxf) VALUE (value, RLL, dxf) |
| #define | VALUE_RD(value, dxf) _VALUE_RD (value, dxf) |
| #define | _VALUE_RD(value, dxf) |
| #define | VALUE_2RD(pt, dxf) |
| #define | VALUE_2DD(pt, def, dxf) VALUE_2RD (pt, dxf) |
| #define | VALUE_3RD(pt, dxf) |
| #define | VALUE_3BD(pt, dxf) VALUE_3RD (pt, dxf) |
| #define | VALUE_TV(nam, dxf) |
| #define | FIELD(nam, type, dxf) |
| #define | _FIELD(nam, type, value) |
| #define | ENT_FIELD(nam, type, value) |
| #define | SUB_FIELD(o, nam, type, dxf) |
| #define | FIELD_CAST(nam, type, cast, dxf) FIELD (nam, cast, dxf) |
| #define | SUB_FIELD_CAST(o, nam, type, cast, dxf) SUB_FIELD (o, nam, cast, dxf) |
| #define | FIELD_TRACE(nam, type) |
| #define | FIELD_G_TRACE(nam, type, dxf) |
| #define | FIELD_TEXT(nam, str) |
| #define | VALUE_TEXT(str) |
| #define | VALUE_TEXT_TU(wstr) print_wcquote (dat, (BITCODE_TU)wstr) |
| #define | FIELD_TEXT_TU(nam, wstr) |
| #define | FIELD_TFv(nam, len, dxf) |
| #define | FIELD_TF(nam, len, dxf) |
| #define | FIELD_TFF(nam, len, dxf) FIELD_TF (nam, len, dxf) |
| #define | FIELD_VALUE(nam) _obj->nam |
| #define | ANYCODE -1 |
| #define | VALUE_HANDLE(hdlptr, nam, handle_code, dxf) |
| #define | VALUE_H(hdl, dxf) fprintf (dat->fh, FORMAT_H "", ARGS_H (hdl)) |
| #define | FIELD_HANDLE(nam, handle_code, dxf) |
| #define | SUB_FIELD_HANDLE(o, nam, handle_code, dxf) |
| #define | FIELD_DATAHANDLE(nam, code, dxf) FIELD_HANDLE (nam, code, dxf) |
| #define | FIELD_HANDLE_N(nam, vcount, handle_code, dxf) |
| #define | SUB_FIELD_HANDLE_N(o, nam, handle_code, dxf) |
| #define | VALUE_BINARY(buf, len, dxf) |
| #define | FIELD_BINARY(nam, size, dxf) |
| #define | FIELD_B(nam, dxf) FIELD (nam, B, dxf) |
| #define | FIELD_BB(nam, dxf) FIELD (nam, BB, dxf) |
| #define | FIELD_3B(nam, dxf) FIELD (nam, 3B, dxf) |
| #define | FIELD_BS(nam, dxf) FIELD (nam, BS, dxf) |
| #define | FIELD_BL(nam, dxf) FIELD (nam, BL, dxf) |
| #define | FIELD_BLL(nam, dxf) FIELD (nam, BLL, dxf) |
| #define | FIELD_BD(nam, dxf) |
| #define | FIELD_2RD(nam, dxf) |
| #define | FIELD_3RD(nam, dxf) |
| #define | SUB_FIELD_BD(o, nam, dxf) |
| #define | FIELD_RC(nam, dxf) FIELD (nam, RC, dxf) |
| #define | FIELD_RCx(nam, dxf) FIELD (nam, RC, dxf) |
| #define | FIELD_RS(nam, dxf) FIELD (nam, RS, dxf) |
| #define | FIELD_RSd(nam, dxf) FIELD (nam, RSd, dxf) |
| #define | FIELD_RD(nam, dxf) FIELD_BD (nam, dxf) |
| #define | FIELD_RL(nam, dxf) FIELD (nam, RL, dxf) |
| #define | FIELD_RLL(nam, dxf) FIELD (nam, RLL, dxf) |
| #define | FIELD_MC(nam, dxf) FIELD (nam, MC, dxf) |
| #define | FIELD_MS(nam, dxf) FIELD (nam, MS, dxf) |
| #define | FIELD_TFFx(nam, len, dxf) FIELD_BINARY (nam, len, dxf) |
| #define | FIELD_TV(nam, dxf) FIELD_TEXT (nam, _obj->nam) |
| #define | FIELD_TU(nam, dxf) FIELD_TEXT_TU (nam, (BITCODE_TU)_obj->nam) |
| #define | FIELD_T16(nam, dxf) FIELD_T (nam, dxf) |
| #define | FIELD_TU16(nam, dxf) FIELD_TU (nam, dxf) |
| #define | FIELD_T32(nam, dxf) FIELD_T (nam, dxf) |
| #define | FIELD_T(nam, dxf) |
| #define | _FIELD_T(nam, str) |
| #define | VALUE_T(str) |
| #define | _FIELD_TV_ALPHA(nam, str) |
| #define | FIELD_BT(nam, dxf) FIELD (nam, BT, dxf); |
| #define | FIELD_4BITS(nam, dxf) FIELD (nam, 4BITS, dxf) |
| #define | FIELD_BE(nam, dxf) FIELD_3RD (nam, dxf) |
| #define | FIELD_DD(nam, _default, dxf) FIELD_BD (nam, dxf) |
| #define | FIELD_2BD(nam, dxf) FIELD_2RD (nam, dxf) |
| #define | FIELD_2BD_1(nam, dxf) FIELD_2RD (nam, dxf) |
| #define | FIELD_2DD(nam, def, dxf) FIELD_2RD (nam, dxf) |
| #define | FIELD_3DD(nam, def, dxf) FIELD_3RD (nam, dxf) |
| #define | FIELD_3BD(nam, dxf) FIELD_3RD (nam, dxf) |
| #define | FIELD_3BD_1(nam, dxf) FIELD_3RD (nam, dxf) |
| #define | FIELD_3DPOINT(nam, dxf) FIELD_3BD (nam, dxf) |
| #define | SUB_FIELD_T(o, nam, dxf) |
| #define | SUB_FIELD_B(o, nam, dxf) SUB_FIELD (o, nam, B, dxf) |
| #define | SUB_FIELD_BB(o, nam, dxf) SUB_FIELD (o, nam, BB, dxf) |
| #define | SUB_FIELD_3B(o, nam, dxf) SUB_FIELD (o, nam, 3B, dxf) |
| #define | SUB_FIELD_BS(o, nam, dxf) SUB_FIELD (o, nam, BS, dxf) |
| #define | SUB_FIELD_BSd(o, nam, dxf) SUB_FIELD (o, nam, BSd, dxf) |
| #define | SUB_FIELD_BL(o, nam, dxf) SUB_FIELD (o, nam, BL, dxf) |
| #define | SUB_FIELD_BLx(o, nam, dxf) SUB_FIELD (o, nam, BLx, dxf) |
| #define | SUB_FIELD_BLd(o, nam, dxf) SUB_FIELD (o, nam, BLd, dxf) |
| #define | SUB_FIELD_RC(o, nam, dxf) SUB_FIELD (o, nam, RC, dxf) |
| #define | SUB_FIELD_RCd(o, nam, dxf) SUB_FIELD (o, nam, RCd, dxf) |
| #define | SUB_FIELD_RS(o, nam, dxf) SUB_FIELD (o, nam, RS, dxf) |
| #define | SUB_FIELD_RL(o, nam, dxf) SUB_FIELD (o, nam, RL, dxf) |
| #define | SUB_FIELD_BLL(o, nam, dxf) SUB_FIELD (o, nam, BLL, dxf) |
| #define | SUB_FIELD_RLL(o, nam, dxf) SUB_FIELD (o, nam, RLL, dxf) |
| #define | SUB_FIELD_RD(o, nam, dxf) SUB_FIELD_BD (o, nam, dxf) |
| #define | SUB_FIELD_3BD_inl(o, nam, dxf) |
| #define | SUB_FIELD_2BD(o, nam, dxf) |
| #define | SUB_FIELD_2BD_1(o, nam, dxf) |
| #define | SUB_FIELD_2RD(o, nam, dxf) |
| #define | SUB_FIELD_3RD(o, nam, dxf) |
| #define | SUB_FIELD_3BD(o, nam, dxf) |
| #define | SUB_FIELD_3DPOINT(o, nam, dxf) |
| #define | FIELD_CMC(color, dxf) field_cmc (dat, #color, &_obj->color) |
| #define | SUB_FIELD_CMC(o, color, dxf) field_cmc (dat, #color, &_obj->o.color) |
| #define | FIELD_TIMEBLL(nam, dxf) |
| #define | FIELD_TIMERLL(nam, dxf) FIELD_TIMEBLL (nam, dxf) |
| #define | FIELD_VECTOR_N(nam, type, size, dxf) |
| #define | SUB_FIELD_VECTOR_N(o, nam, type, size, dxf) |
| #define | FIELD_VECTOR_T(nam, type, size, dxf) |
| #define | SUB_FIELD_VECTOR_TYPESIZE(o, nam, size, typesize, dxf) |
| #define | FIELD_VECTOR(nam, type, size, dxf) FIELD_VECTOR_N (nam, type, _obj->size, dxf) |
| #define | FIELD_VECTOR_INL(nam, type, size, dxf) FIELD_VECTOR_N (nam, type, size, dxf) |
| #define | SUB_FIELD_VECTOR(o, nam, type, size, dxf) SUB_FIELD_VECTOR_N (o, nam, type, _obj->o.size, dxf) |
| #define | FIELD_2RD_VECTOR(nam, size, dxf) |
| #define | FIELD_2DD_VECTOR(nam, size, dxf) |
| #define | FIELD_3DPOINT_VECTOR(nam, size, dxf) |
| #define | HANDLE_VECTOR_N(nam, size, code, dxf) |
| #define | HANDLE_VECTOR(nam, sizefield, code, dxf) HANDLE_VECTOR_N (nam, FIELD_VALUE (sizefield), code, dxf) |
| #define | SUB_HANDLE_VECTOR(o, nam, size, code, dxf) |
| #define | REACTORS(code) |
| #define | ENT_REACTORS(code) |
| #define | SUBCLASS(name) |
| #define | _REPEAT_N(times, nam, type, idx) |
| #define | REPEAT_N(times, nam, type) _REPEAT_N (times, nam, type, 1) |
| #define | REPEAT_CN(times, nam, type) REPEAT_N (times, nam, type) |
| #define | _REPEAT_C(times, nam, type, idx) _REPEAT_N (_obj->times, nam, type, idx) |
| #define | _REPEAT(times, nam, type, idx) _REPEAT_N (_obj->times, nam, type, idx) |
| #define | REPEAT(times, nam, type) _REPEAT (times, nam, type, 1) |
| #define | REPEAT2(times, nam, type) _REPEAT (times, nam, type, 2) |
| #define | REPEAT3(times, nam, type) _REPEAT (times, nam, type, 3) |
| #define | REPEAT4(times, nam, type) _REPEAT (times, nam, type, 4) |
| #define | REPEAT_C(times, nam, type) _REPEAT_C (times, nam, type, 1) |
| #define | REPEAT2_C(times, nam, type) _REPEAT_C (times, nam, type, 2) |
| #define | REPEAT3_C(times, nam, type) _REPEAT_C (times, nam, type, 3) |
| #define | REPEAT4_C(times, nam, type) _REPEAT_C (times, nam, type, 4) |
| #define | _REPEAT_CN(times, nam, type, idx) _REPEAT_N (times, nam, type, idx) |
| #define | _REPEAT_CNF(times, nam, type, idx) _REPEAT_N (times, nam, type, idx) |
| #define | _REPEAT_NF(times, nam, type, idx) _REPEAT_N (times, nam, type, idx) |
| #define | REPEAT_F(times, size, nam, type) |
| #define | REPEAT_BLOCK FIRSTPREFIX HASH; |
| #define | END_REPEAT_BLOCK ENDHASH; |
| #define | END_REPEAT(nam) |
| #define | END_REPEAT_F(nam) END_REPEAT (nam) |
| #define | FIELD_NUM_INSERTS(num_inserts, type, dxf) FIELD (num_inserts, type, dxf) |
| #define | FIELD_XDATA(nam, size) error |= json_xdata (dat, _obj) |
| #define | XDICOBJHANDLE(code) |
| #define | ENT_XDICOBJHANDLE(code) |
| #define | COMMON_ENTITY_HANDLE_DATA |
| #define | SECTION_STRING_STREAM |
| #define | START_STRING_STREAM |
| #define | END_STRING_STREAM |
| #define | START_HANDLE_STREAM |
| #define | START_OBJECT_HANDLE_STREAM |
| #define | CONTROL_HANDLE_STREAM |
| #define | DWG_ENTITY(token) |
| #define | DWG_ENTITY_END |
| #define | DWG_OBJECT(token) |
| #define | DWG_OBJECT_END |
| #define | JSON_3DSOLID json_3dsolid (dat, obj, (Dwg_Entity_3DSOLID *)_obj); |
Functions | |
| void | json_write_TFv (Bit_Chain *restrict dat, const BITCODE_TF restrict src, const size_t len) |
| void | json_write_TF (Bit_Chain *restrict dat, const BITCODE_TF restrict src, const size_t len) |
| char * | json_cquote (char *restrict dest, const char *restrict src, const size_t len, const BITCODE_RS codepage) |
| int | dwg_write_json (Bit_Chain *restrict dat, Dwg_Data *restrict dwg) |
| #define _FIELD | ( | nam, | |
| type, | |||
| value | |||
| ) |
| #define _FIELD_T | ( | nam, | |
| str | |||
| ) |
| #define _FIELD_TV_ALPHA | ( | nam, | |
| str | |||
| ) |
| #define _REPEAT | ( | times, | |
| nam, | |||
| type, | |||
| idx | |||
| ) | _REPEAT_N (_obj->times, nam, type, idx) |
| #define _REPEAT_C | ( | times, | |
| nam, | |||
| type, | |||
| idx | |||
| ) | _REPEAT_N (_obj->times, nam, type, idx) |
| #define _REPEAT_CN | ( | times, | |
| nam, | |||
| type, | |||
| idx | |||
| ) | _REPEAT_N (times, nam, type, idx) |
| #define _REPEAT_CNF | ( | times, | |
| nam, | |||
| type, | |||
| idx | |||
| ) | _REPEAT_N (times, nam, type, idx) |
| #define _REPEAT_N | ( | times, | |
| nam, | |||
| type, | |||
| idx | |||
| ) |
| #define _REPEAT_NF | ( | times, | |
| nam, | |||
| type, | |||
| idx | |||
| ) | _REPEAT_N (times, nam, type, idx) |
| #define _VALUE_RD | ( | value, | |
| dxf | |||
| ) |
| #define ACTION json |
| #define ANYCODE -1 |
| #define ARGS_H | ( | hdl | ) | hdl.code, hdl.size, hdl.value |
| #define ARGS_HREF | ( | ref | ) |
| #define ARGS_HREF11 | ( | ref | ) | ref->handleref.size, ref->r11_idx, ref->absolute_ref |
| #define ARRAY |
| #define CLEARFIRST dat->opts &= ~DWG_OPTS_JSONFIRST |
| #define COMMON_ENTITY_HANDLE_DATA |
| #define CONTROL_HANDLE_STREAM |
| #define DWG_ENTITY | ( | token | ) |
| #define DWG_ENTITY_END |
| #define DWG_LOGLEVEL DWG_LOGLEVEL_NONE |
| #define DWG_OBJECT | ( | token | ) |
| #define DWG_OBJECT_END |
| #define END_REPEAT | ( | nam | ) |
| #define END_REPEAT_BLOCK ENDHASH; |
| #define END_REPEAT_F | ( | nam | ) | END_REPEAT (nam) |
| #define END_STRING_STREAM |
| #define ENDARRAY |
| #define ENDHASH |
| #define ENDRECORD | ( | ) | ENDHASH |
| #define ENDSEC | ( | ) | ENDARRAY |
| #define ENDTAB | ( | ) | ENDHASH |
| #define ENT_FIELD | ( | nam, | |
| type, | |||
| value | |||
| ) |
| #define ENT_REACTORS | ( | code | ) |
| #define ENT_XDICOBJHANDLE | ( | code | ) |
| #define FIELD | ( | nam, | |
| type, | |||
| dxf | |||
| ) |
| #define FIELD_2BD | ( | nam, | |
| dxf | |||
| ) | FIELD_2RD (nam, dxf) |
| #define FIELD_2BD_1 | ( | nam, | |
| dxf | |||
| ) | FIELD_2RD (nam, dxf) |
| #define FIELD_2DD | ( | nam, | |
| def, | |||
| dxf | |||
| ) | FIELD_2RD (nam, dxf) |
| #define FIELD_2DD_VECTOR | ( | nam, | |
| size, | |||
| dxf | |||
| ) |
| #define FIELD_2RD | ( | nam, | |
| dxf | |||
| ) |
| #define FIELD_2RD_VECTOR | ( | nam, | |
| size, | |||
| dxf | |||
| ) |
| #define FIELD_3B | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, 3B, dxf) |
| #define FIELD_3BD | ( | nam, | |
| dxf | |||
| ) | FIELD_3RD (nam, dxf) |
| #define FIELD_3BD_1 | ( | nam, | |
| dxf | |||
| ) | FIELD_3RD (nam, dxf) |
| #define FIELD_3DD | ( | nam, | |
| def, | |||
| dxf | |||
| ) | FIELD_3RD (nam, dxf) |
| #define FIELD_3DPOINT | ( | nam, | |
| dxf | |||
| ) | FIELD_3BD (nam, dxf) |
| #define FIELD_3DPOINT_VECTOR | ( | nam, | |
| size, | |||
| dxf | |||
| ) |
| #define FIELD_3RD | ( | nam, | |
| dxf | |||
| ) |
| #define FIELD_4BITS | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, 4BITS, dxf) |
| #define FIELD_B | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, B, dxf) |
| #define FIELD_BB | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, BB, dxf) |
| #define FIELD_BD | ( | nam, | |
| dxf | |||
| ) |
| #define FIELD_BE | ( | nam, | |
| dxf | |||
| ) | FIELD_3RD (nam, dxf) |
| #define FIELD_BINARY | ( | nam, | |
| size, | |||
| dxf | |||
| ) |
| #define FIELD_BL | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, BL, dxf) |
| #define FIELD_BLL | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, BLL, dxf) |
| #define FIELD_BS | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, BS, dxf) |
| #define FIELD_BT | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, BT, dxf); |
| #define FIELD_CAST | ( | nam, | |
| type, | |||
| cast, | |||
| dxf | |||
| ) | FIELD (nam, cast, dxf) |
| #define FIELD_CMC | ( | color, | |
| dxf | |||
| ) | field_cmc (dat, #color, &_obj->color) |
| #define FIELD_DATAHANDLE | ( | nam, | |
| code, | |||
| dxf | |||
| ) | FIELD_HANDLE (nam, code, dxf) |
| #define FIELD_DD | ( | nam, | |
| _default, | |||
| dxf | |||
| ) | FIELD_BD (nam, dxf) |
| #define FIELD_G_TRACE | ( | nam, | |
| type, | |||
| dxf | |||
| ) |
| #define FIELD_HANDLE | ( | nam, | |
| handle_code, | |||
| dxf | |||
| ) |
| #define FIELD_HANDLE_N | ( | nam, | |
| vcount, | |||
| handle_code, | |||
| dxf | |||
| ) |
| #define FIELD_MC | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, MC, dxf) |
| #define FIELD_MS | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, MS, dxf) |
| #define FIELD_NUM_INSERTS | ( | num_inserts, | |
| type, | |||
| dxf | |||
| ) | FIELD (num_inserts, type, dxf) |
| #define FIELD_RC | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, RC, dxf) |
| #define FIELD_RCx | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, RC, dxf) |
| #define FIELD_RD | ( | nam, | |
| dxf | |||
| ) | FIELD_BD (nam, dxf) |
| #define FIELD_RL | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, RL, dxf) |
| #define FIELD_RLL | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, RLL, dxf) |
| #define FIELD_RS | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, RS, dxf) |
| #define FIELD_RSd | ( | nam, | |
| dxf | |||
| ) | FIELD (nam, RSd, dxf) |
| #define FIELD_T | ( | nam, | |
| dxf | |||
| ) |
| #define FIELD_T16 | ( | nam, | |
| dxf | |||
| ) | FIELD_T (nam, dxf) |
| #define FIELD_T32 | ( | nam, | |
| dxf | |||
| ) | FIELD_T (nam, dxf) |
| #define FIELD_TEXT | ( | nam, | |
| str | |||
| ) |
| #define FIELD_TEXT_TU | ( | nam, | |
| wstr | |||
| ) |
| #define FIELD_TF | ( | nam, | |
| len, | |||
| dxf | |||
| ) |
| #define FIELD_TFF | ( | nam, | |
| len, | |||
| dxf | |||
| ) | FIELD_TF (nam, len, dxf) |
| #define FIELD_TFFx | ( | nam, | |
| len, | |||
| dxf | |||
| ) | FIELD_BINARY (nam, len, dxf) |
| #define FIELD_TFv | ( | nam, | |
| len, | |||
| dxf | |||
| ) |
| #define FIELD_TIMEBLL | ( | nam, | |
| dxf | |||
| ) |
| #define FIELD_TIMERLL | ( | nam, | |
| dxf | |||
| ) | FIELD_TIMEBLL (nam, dxf) |
| #define FIELD_TRACE | ( | nam, | |
| type | |||
| ) |
| #define FIELD_TU | ( | nam, | |
| dxf | |||
| ) | FIELD_TEXT_TU (nam, (BITCODE_TU)_obj->nam) |
| #define FIELD_TU16 | ( | nam, | |
| dxf | |||
| ) | FIELD_TU (nam, dxf) |
| #define FIELD_TV | ( | nam, | |
| dxf | |||
| ) | FIELD_TEXT (nam, _obj->nam) |
| #define FIELD_VALUE | ( | nam | ) | _obj->nam |
| #define FIELD_VECTOR | ( | nam, | |
| type, | |||
| size, | |||
| dxf | |||
| ) | FIELD_VECTOR_N (nam, type, _obj->size, dxf) |
| #define FIELD_VECTOR_INL | ( | nam, | |
| type, | |||
| size, | |||
| dxf | |||
| ) | FIELD_VECTOR_N (nam, type, size, dxf) |
| #define FIELD_VECTOR_N | ( | nam, | |
| type, | |||
| size, | |||
| dxf | |||
| ) |
| #define FIELD_VECTOR_T | ( | nam, | |
| type, | |||
| size, | |||
| dxf | |||
| ) |
| #define FIELD_XDATA | ( | nam, | |
| size | |||
| ) | error |= json_xdata (dat, _obj) |
| #define FIRSTPREFIX PRINTFIRST PREFIX |
| #define FORMAT_4BITS FORMAT_RC |
| #define FORMAT_BD FORMAT_RD |
| #define FORMAT_BLL "%" PRIu64 |
| #define FORMAT_BLx FORMAT_BL |
| #define FORMAT_BLX FORMAT_BL |
| #define FORMAT_H "[%u,%u," FORMAT_RLL "]" |
| #define FORMAT_HREF "[%u,%u," FORMAT_RLL "," FORMAT_RLL "]" |
| #define FORMAT_HREF11 "[%u,%hd," FORMAT_RLL "]" |
| #define FORMAT_RC "%d" |
| #define FORMAT_RD "%.14f" |
| #define FORMAT_RLL "%" PRIu64 |
| #define FORMAT_RLx FORMAT_RL |
| #define FORMAT_RSx FORMAT_RS |
| #define HANDLE_VECTOR | ( | nam, | |
| sizefield, | |||
| code, | |||
| dxf | |||
| ) | HANDLE_VECTOR_N (nam, FIELD_VALUE (sizefield), code, dxf) |
| #define HANDLE_VECTOR_N | ( | nam, | |
| size, | |||
| code, | |||
| dxf | |||
| ) |
| #define HASH |
| #define IS_JSON |
| #define IS_MINJS (dat->opts & DWG_OPTS_MINIMAL) |
| #define ISFIRST (dat->opts & DWG_OPTS_JSONFIRST) |
| #define JSON_3DSOLID json_3dsolid (dat, obj, (Dwg_Entity_3DSOLID *)_obj); |
| #define JSON_KEY "\"%s\":%s" |
| #define JSON_NL IS_MINJS ? "" : "\n" |
| #define JSON_SPC IS_MINJS ? "" : " " |
| #define KEY | ( | nam | ) | FIRSTPREFIX fprintf (dat->fh, "\"%s\":%s", _path_field (#nam), JSON_SPC) |
| #define KEYs | ( | nam | ) | FIRSTPREFIX fprintf (dat->fh, "\"%s\":%s", nam, JSON_SPC) |
| #define PREFIX _prefix (dat); |
| #define PRINTFIRST |
| #define REACTORS | ( | code | ) |
| #define RECORD | ( | nam | ) |
| #define REPEAT | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT (times, nam, type, 1) |
| #define REPEAT2 | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT (times, nam, type, 2) |
| #define REPEAT2_C | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT_C (times, nam, type, 2) |
| #define REPEAT3 | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT (times, nam, type, 3) |
| #define REPEAT3_C | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT_C (times, nam, type, 3) |
| #define REPEAT4 | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT (times, nam, type, 4) |
| #define REPEAT4_C | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT_C (times, nam, type, 4) |
| #define REPEAT_BLOCK FIRSTPREFIX HASH; |
| #define REPEAT_C | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT_C (times, nam, type, 1) |
| #define REPEAT_CN | ( | times, | |
| nam, | |||
| type | |||
| ) | REPEAT_N (times, nam, type) |
| #define REPEAT_F | ( | times, | |
| size, | |||
| nam, | |||
| type | |||
| ) |
| #define REPEAT_N | ( | times, | |
| nam, | |||
| type | |||
| ) | _REPEAT_N (times, nam, type, 1) |
| #define SECTION | ( | nam | ) |
| #define SECTION_STRING_STREAM |
| #define SETFIRST dat->opts |= DWG_OPTS_JSONFIRST |
| #define START_HANDLE_STREAM |
| #define START_OBJECT_HANDLE_STREAM |
| #define START_STRING_STREAM |
| #define SUB_FIELD | ( | o, | |
| nam, | |||
| type, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_2BD | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_2BD_1 | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_2RD | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_3B | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, 3B, dxf) |
| #define SUB_FIELD_3BD | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_3BD_inl | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_3DPOINT | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_3RD | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_B | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, B, dxf) |
| #define SUB_FIELD_BB | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BB, dxf) |
| #define SUB_FIELD_BD | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_BL | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BL, dxf) |
| #define SUB_FIELD_BLd | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BLd, dxf) |
| #define SUB_FIELD_BLL | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BLL, dxf) |
| #define SUB_FIELD_BLx | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BLx, dxf) |
| #define SUB_FIELD_BS | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BS, dxf) |
| #define SUB_FIELD_BSd | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, BSd, dxf) |
| #define SUB_FIELD_CAST | ( | o, | |
| nam, | |||
| type, | |||
| cast, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, cast, dxf) |
| #define SUB_FIELD_CMC | ( | o, | |
| color, | |||
| dxf | |||
| ) | field_cmc (dat, #color, &_obj->o.color) |
| #define SUB_FIELD_HANDLE | ( | o, | |
| nam, | |||
| handle_code, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_HANDLE_N | ( | o, | |
| nam, | |||
| handle_code, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_RC | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, RC, dxf) |
| #define SUB_FIELD_RCd | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, RCd, dxf) |
| #define SUB_FIELD_RD | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD_BD (o, nam, dxf) |
| #define SUB_FIELD_RL | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, RL, dxf) |
| #define SUB_FIELD_RLL | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, RLL, dxf) |
| #define SUB_FIELD_RS | ( | o, | |
| nam, | |||
| dxf | |||
| ) | SUB_FIELD (o, nam, RS, dxf) |
| #define SUB_FIELD_T | ( | o, | |
| nam, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_VECTOR | ( | o, | |
| nam, | |||
| type, | |||
| size, | |||
| dxf | |||
| ) | SUB_FIELD_VECTOR_N (o, nam, type, _obj->o.size, dxf) |
| #define SUB_FIELD_VECTOR_N | ( | o, | |
| nam, | |||
| type, | |||
| size, | |||
| dxf | |||
| ) |
| #define SUB_FIELD_VECTOR_TYPESIZE | ( | o, | |
| nam, | |||
| size, | |||
| typesize, | |||
| dxf | |||
| ) |
| #define SUB_HANDLE_VECTOR | ( | o, | |
| nam, | |||
| size, | |||
| code, | |||
| dxf | |||
| ) |
| #define SUBCLASS | ( | name | ) |
| #define TABLE | ( | nam | ) |
| #define VALUE | ( | value, | |
| type, | |||
| dxf | |||
| ) | fprintf (dat->fh, FORMAT_##type, value) |
| #define VALUE_2DD | ( | pt, | |
| def, | |||
| dxf | |||
| ) | VALUE_2RD (pt, dxf) |
| #define VALUE_2RD | ( | pt, | |
| dxf | |||
| ) |
| #define VALUE_3BD | ( | pt, | |
| dxf | |||
| ) | VALUE_3RD (pt, dxf) |
| #define VALUE_3RD | ( | pt, | |
| dxf | |||
| ) |
| #define VALUE_B | ( | value, | |
| dxf | |||
| ) | VALUE (value, B, dxf) |
| #define VALUE_BINARY | ( | buf, | |
| len, | |||
| dxf | |||
| ) |
| #define VALUE_HANDLE | ( | hdlptr, | |
| nam, | |||
| handle_code, | |||
| dxf | |||
| ) |
| #define VALUE_RC | ( | value, | |
| dxf | |||
| ) | VALUE (value, RC, dxf) |
| #define VALUE_RD | ( | value, | |
| dxf | |||
| ) | _VALUE_RD (value, dxf) |
| #define VALUE_RL | ( | value, | |
| dxf | |||
| ) | VALUE (value, RL, dxf) |
| #define VALUE_RLL | ( | value, | |
| dxf | |||
| ) | VALUE (value, RLL, dxf) |
| #define VALUE_RLx | ( | value, | |
| dxf | |||
| ) | VALUE ((BITCODE_RL)value, RL, dxf) |
| #define VALUE_RS | ( | value, | |
| dxf | |||
| ) | VALUE (value, RS, dxf) |
| #define VALUE_T | ( | str | ) |
| #define VALUE_TEXT | ( | str | ) |
| #define VALUE_TEXT_TU | ( | wstr | ) | print_wcquote (dat, (BITCODE_TU)wstr) |
| #define VALUE_TV | ( | nam, | |
| dxf | |||
| ) |
| #define XDICOBJHANDLE | ( | code | ) |
| char* json_cquote | ( | char *restrict | dest, |
| const char *restrict | src, | ||
| const size_t | len, | ||
| const BITCODE_RS | codepage | ||
| ) |
| void json_write_TF | ( | Bit_Chain *restrict | dat, |
| const BITCODE_TF restrict | src, | ||
| const size_t | len | ||
| ) |
| void json_write_TFv | ( | Bit_Chain *restrict | dat, |
| const BITCODE_TF restrict | src, | ||
| const size_t | len | ||
| ) |