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 + -
显示快捷键?