dgnlib.h
来自「支持各种栅格图像和矢量图像读取的库」· C头文件 代码 · 共 885 行 · 第 1/3 页
H
885 行
short celltype; /*!< Cell type. */ short attindx; /*!< Attribute linkage. */ char name[7]; /*!< Cell name */ int numwords; /*!< Number of words in cell definition */ short dispsymb; /*!< Display symbol */ unsigned short cclass; /*!< Class bitmap */ unsigned short levels[4]; /*!< Levels used in cell */ char description[28]; /*!< Description */ } DGNElemCellLibrary;/** * Shared Cell Definition. * * The core.stype code is DGNST_SHARED_CELL_DEFN. * * Returned for DGNT_SHARED_CELL_DEFN(2). */typedef struct { DGNElemCore core; int totlength; /*!< Total length of cell in words, excluding the first 19 words (header + totlength field) */ // FIXME: Most of the contents of this element type is currently // unknown. Please get in touch with the authors if you have // information about how to decode this element.} DGNElemSharedCellDefn;typedef union { char *string; GInt32 integer; double real; } tagValueUnion;/** * Tag Value. * * The core.stype code is DGNST_TAG_VALUE. * * Returned for DGNT_TAG_VALUE(37). */typedef struct { DGNElemCore core; int tagType; /*!< Tag type indicator, DGNTT_* */ int tagSet; /*!< Which tag set does this relate to? */ int tagIndex; /*!< Tag index within tag set. */ int tagLength; /*!< Length of tag information (text) */ tagValueUnion tagValue; /*!< Textual value of tag */} DGNElemTagValue;/** * Tag definition. * * Structure holding definition of one tag within a DGNTagSet. */typedef struct _DGNTagDef { char *name; /*!< Name of this tag. */ int id; /*!< Tag index/identifier. */ char *prompt; /*!< User prompt when requesting value. */ int type; /*!< Tag type (one of DGNTT_STRING(1), DGNTT_INTEGER(3) or DGNTT_FLOAT(4). */ tagValueUnion defaultValue; /*!< Default tag value */} DGNTagDef;#define DGNTT_STRING 1#define DGNTT_INTEGER 3#define DGNTT_FLOAT 4/** * Tag Set. * * The core.stype code is DGNST_TAG_SET. * * Returned for DGNT_APPLICATION_ELEM(66), Level: 24. */typedef struct { DGNElemCore core; int tagCount; /*!< Number of tags in tagList. */ int tagSet; /*!< Tag set index. */ int flags; /*!< Tag flags - not too much known. */ char *tagSetName; /*!< Tag set name. */ DGNTagDef *tagList; /*!< List of tag definitions in this set. */} DGNElemTagSet;/** * Cone element * * The core.stype code is DGNST_CONE. * * Used for: DGNT_CONE(23) */typedef struct { DGNElemCore core; short unknown; /*!< Unknown data */ int quat[4]; /*!< Orientation quaternion */ DGNPoint center_1; /*!< center of first circle */ double radius_1; /*!< radius of first circle */ DGNPoint center_2; /*!< center of second circle */ double radius_2; /*!< radius of second circle */} DGNElemCone;/** * Text Node Header. * * The core.stype code is DGNST_TEXT_NODE. * * Used for DGNT_TEXT_NODE (7). * First fields (up to numelems) are compatible with DGNT_COMPLEX_HEADER (7), * \sa DGNAddRawAttrLink() */typedef struct { DGNElemCore core; int totlength; /*!< Total length of the node (bytes = totlength * 2 + 38) */ int numelems; /*!< Number of text strings */ int node_number; /*!< text node number */ short max_length; /*!< maximum length allowed, characters */ short max_used; /*!< maximum length used */ short font_id; /*!< text font used */ short justification; /*!< justification type, see DGNJ_ */ long line_spacing; /*!< spacing between text strings */ double length_mult; /*!< length multiplier */ double height_mult; /*!< height multiplier */ double rotation; /*!< rotation angle (2d)*/ DGNPoint origin; /*!< Snap origin (as defined by user) */} DGNElemTextNode;/** * B-Spline Surface Header element * * The core.stype code is DGNST_BSPLINE_SURFACE_HEADER. * * Used for: DGNT_BSPLINE_SURFACE_HEADER(24) */typedef struct { DGNElemCore core; long desc_words; /*!< Total length of B-Spline surface in words, excluding the first 20 words (header + desc_words field) */ unsigned char curve_type; /*!< curve type */ unsigned char u_order; /*!< B-spline U order: 2-15 */ unsigned short u_properties; /*!< surface U properties: ORing of DGNBSC_ flags */ short num_poles_u; /*!< number of poles */ short num_knots_u; /*!< number of knots */ short rule_lines_u; /*!< number of rule lines */ unsigned char v_order; /*!< B-spline V order: 2-15 */ unsigned short v_properties; /*!< surface V properties: Oring of DGNBSS_ flags */ short num_poles_v; /*!< number of poles */ short num_knots_v; /*!< number of knots */ short rule_lines_v; /*!< number of rule lines */ short num_bounds; /*!< number of boundaries */} DGNElemBSplineSurfaceHeader;/** * B-Spline Curve Header element * * The core.stype code is DGNST_BSPLINE_CURVE_HEADER. * * Used for: DGNT_BSPLINE_CURVE_HEADER(27) */typedef struct { DGNElemCore core; long desc_words; /*!< Total length of B-Spline curve in words, excluding the first 20 words (header + desc_words field) */ unsigned char order; /*!< B-spline order: 2-15 */ unsigned char properties; /*!< Properties: ORing of DGNBSC_ flags */ unsigned char curve_type; /*!< curve type */ short num_poles; /*!< number of poles, max. 101 */ short num_knots; /*!< number of knots */} DGNElemBSplineCurveHeader;/** * B-Spline Surface Boundary element * * The core.stype code is DGNST_BSPLINE_SURFACE_BOUNDARY * * Used for: DGNT_BSPLINE_SURFACE_BOUNDARY(25) */typedef struct { DGNElemCore core; short number; /*!< boundary number */ short numverts; /*!< number of boundary vertices */ DGNPoint vertices[1]; /*!< Array of 1 or more 2D boundary vertices (in UV space) */} DGNElemBSplineSurfaceBoundary;/** * B-Spline Knot/Weight element * * The core.stype code is DGNST_KNOT_WEIGHT * * Used for: DGNT_BSPLINE_KNOT(26), DGNT_BSPLINE_WEIGHT_FACTOR(28) */typedef struct { DGNElemCore core; float array[1]; /*!< array (variable length). Length is given in the corresponding B-Spline header. */} DGNElemKnotWeight;/* -------------------------------------------------------------------- *//* Structure types *//* -------------------------------------------------------------------- *//** DGNElemCore style: Element uses DGNElemCore structure */#define DGNST_CORE 1 /** DGNElemCore style: Element uses DGNElemMultiPoint structure */#define DGNST_MULTIPOINT 2 /** DGNElemCore style: Element uses DGNElemColorTable structure */#define DGNST_COLORTABLE 3 /** DGNElemCore style: Element uses DGNElemTCB structure */#define DGNST_TCB 4 /** DGNElemCore style: Element uses DGNElemArc structure */#define DGNST_ARC 5 /** DGNElemCore style: Element uses DGNElemText structure */#define DGNST_TEXT 6 /** DGNElemCore style: Element uses DGNElemComplexHeader structure */#define DGNST_COMPLEX_HEADER 7/** DGNElemCore style: Element uses DGNElemCellHeader structure */#define DGNST_CELL_HEADER 8/** DGNElemCore style: Element uses DGNElemTagValue structure */#define DGNST_TAG_VALUE 9/** DGNElemCore style: Element uses DGNElemTagSet structure */#define DGNST_TAG_SET 10/** DGNElemCore style: Element uses DGNElemCellLibrary structure */#define DGNST_CELL_LIBRARY 11/** DGNElemCore style: Element uses DGNElemCone structure */#define DGNST_CONE 12/** DGNElemCore style: Element uses DGNElemTextNode structure */#define DGNST_TEXT_NODE 13/** DGNElemCore style: Element uses DGNElemBSplineSurfaceHeader structure */#define DGNST_BSPLINE_SURFACE_HEADER 14/** DGNElemCore style: Element uses DGNElemBSplineCurveHeader structure */#define DGNST_BSPLINE_CURVE_HEADER 15/** DGNElemCore style: Element uses DGNElemBSplineSurfaceBoundary structure */#define DGNST_BSPLINE_SURFACE_BOUNDARY 16/** DGNElemCore style: Element uses DGNElemKnotWeight structure */#define DGNST_KNOT_WEIGHT 17/** DGNElemCore style: Element uses DGNElemSharedCellDefn structure */#define DGNST_SHARED_CELL_DEFN 18/* -------------------------------------------------------------------- *//* Element types *//* -------------------------------------------------------------------- */#define DGNT_CELL_LIBRARY 1#define DGNT_CELL_HEADER 2#define DGNT_LINE 3#define DGNT_LINE_STRING 4#define DGNT_GROUP_DATA 5#define DGNT_SHAPE 6#define DGNT_TEXT_NODE 7#define DGNT_DIGITIZER_SETUP 8#define DGNT_TCB 9
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?