⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dgnlib.h

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 H
📖 第 1 页 / 共 2 页
字号:
    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;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;/* -------------------------------------------------------------------- *//*      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/* -------------------------------------------------------------------- *//*      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#define DGNT_LEVEL_SYMBOLOGY      10#define DGNT_CURVE                11#define DGNT_COMPLEX_CHAIN_HEADER 12#define DGNT_COMPLEX_SHAPE_HEADER 14#define DGNT_ELLIPSE              15#define DGNT_ARC                  16#define DGNT_TEXT                 17#define DGNT_3DSURFACE_HEADER     18#define DGNT_3DSOLID_HEADER       19#define DGNT_BSPLINE              21#define DGNT_CONE                 23#define DGNT_SHARED_CELL_DEFN     34#define DGNT_SHARED_CELL_ELEM     35#define DGNT_TAG_VALUE            37#define DGNT_APPLICATION_ELEM     66/* -------------------------------------------------------------------- *//*      Line Styles                                                     *//* -------------------------------------------------------------------- */#define DGNS_SOLID              0#define DGNS_DOTTED             1#define DGNS_MEDIUM_DASH        2#define DGNS_LONG_DASH          3#define DGNS_DOT_DASH           4#define DGNS_SHORT_DASH         5#define DGNS_DASH_DOUBLE_DOT    6#define DGNS_LONG_DASH_SHORT_DASH 7/* -------------------------------------------------------------------- *//*      3D Surface Types                                                *//* -------------------------------------------------------------------- */#define DGNSUT_SOLID                    0#define DGNSUT_BOUNDED_PLANE            1#define DGNSUT_BOUNDED_PLANE2           2#define DGNSUT_RIGHT_CIRCULAR_CYLINDER  3#define DGNSUT_RIGHT_CIRCULAR_CONE      4#define DGNSUT_TABULATED_CYLINDER       5#define DGNSUT_TABULATED_CONE           6#define DGNSUT_CONVOLUTE                7#define DGNSUT_SURFACE_OF_REVOLUTION    8#define DGNSUT_WARPED_SURFACE           9/* -------------------------------------------------------------------- *//*      3D Solid Types                                                  *//* -------------------------------------------------------------------- */#define DGNSOT_VOLUME_OF_PROJECTION     0#define DGNSOT_VOLUME_OF_REVOLUTION     1#define DGNSOT_BOUNDED_VOLUME           2/* -------------------------------------------------------------------- *//*      Class                                                           *//* -------------------------------------------------------------------- */#define DGNC_PRIMARY                    0#define DGNC_PATTERN_COMPONENT          1#define DGNC_CONSTRUCTION_ELEMENT       2#define DGNC_DIMENSION_ELEMENT          3#define DGNC_PRIMARY_RULE_ELEMENT       4#define DGNC_LINEAR_PATTERNED_ELEMENT   5#define DGNC_CONSTRUCTION_RULE_ELEMENT  6/* -------------------------------------------------------------------- *//*      Group Data level numbers.                                       *//*                                                                      *//*      These are symbolic values for the typ 5 (DGNT_GROUP_DATA)       *//*      level values that have special meanings.                        *//* -------------------------------------------------------------------- */#define DGN_GDL_COLOR_TABLE     1#define DGN_GDL_NAMED_VIEW      3#define DGN_GDL_REF_FILE        9/* -------------------------------------------------------------------- *//*      Word 17 property flags.                                         *//* -------------------------------------------------------------------- */#define DGNPF_HOLE         0x8000#define DGNPF_SNAPPABLE    0x4000#define DGNPF_PLANAR       0x2000#define DGNPF_ORIENTATION  0x1000#define DGNPF_ATTRIBUTES   0x0800#define DGNPF_MODIFIED     0x0400#define DGNPF_NEW          0x0200#define DGNPF_LOCKED       0x0100#define DGNPF_CLASS        0x000f/* -------------------------------------------------------------------- *//*      DGNElementInfo flag values.                                     *//* -------------------------------------------------------------------- */#define DGNEIF_DELETED     0x01#define DGNEIF_COMPLEX     0x02/* -------------------------------------------------------------------- *//*      Justifications                                                  *//* -------------------------------------------------------------------- */#define DGNJ_LEFT_TOP           0#define DGNJ_LEFT_CENTER        1#define DGNJ_LEFT_BOTTOM        2#define DGNJ_LEFTMARGIN_TOP     3    /* text node header only */#define DGNJ_LEFTMARGIN_CENTER  4    /* text node header only */#define DGNJ_LEFTMARGIN_BOTTOM  5    /* text node header only */#define DGNJ_CENTER_TOP         6#define DGNJ_CENTER_CENTER      6#define DGNJ_CENTER_BOTTOM      8#define DGNJ_RIGHTMARGIN_TOP    9    /* text node header only */#define DGNJ_RIGHTMARGIN_CENTER 10   /* text node header only */#define DGNJ_RIGHTMARGIN_BOTTOM 11   /* text node header only */#define DGNJ_RIGHT_TOP          12#define DGNJ_RIGHT_CENTER       13#define DGNJ_RIGHT_BOTTOM       14/* -------------------------------------------------------------------- *//*      DGN file reading options.                                       *//* -------------------------------------------------------------------- */#define DGNO_CAPTURE_RAW_DATA   0x01/* -------------------------------------------------------------------- *//*      Known attribute linkage types, including my synthetic ones.     *//* -------------------------------------------------------------------- */#define DGNLT_DMRS              0x0000#define DGNLT_INFORMIX          0x3848#define DGNLT_ODBC              0x5e62#define DGNLT_ORACLE            0x6091#define DGNLT_RIS               0x71FB#define DGNLT_SYBASE            0x4f58#define DGNLT_XBASE             0x1971#define DGNLT_SHAPE_FILL        0x0041#define DGNLT_ASSOC_ID          0x7D2F/* -------------------------------------------------------------------- *//*      File creation options.                                          *//* -------------------------------------------------------------------- */#define DGNCF_USE_SEED_UNITS              0x01#define DGNCF_USE_SEED_ORIGIN             0x02#define DGNCF_COPY_SEED_FILE_COLOR_TABLE  0x04#define DGNCF_COPY_WHOLE_SEED_FILE        0x08/* -------------------------------------------------------------------- *//*      API                                                             *//* -------------------------------------------------------------------- *//** Opaque handle representing DGN file, used with DGN API. */typedef void *DGNHandle;DGNHandle CPL_DLL    DGNOpen( const char *, int );void CPL_DLL         DGNSetOptions( DGNHandle, int );int CPL_DLL          DGNTestOpen( GByte *, int );const DGNElementInfo CPL_DLL *DGNGetElementIndex( DGNHandle, int * );int CPL_DLL          DGNGetExtents( DGNHandle, double * );int CPL_DLL          DGNGetDimension( DGNHandle );DGNElemCore CPL_DLL *DGNReadElement( DGNHandle );void CPL_DLL         DGNFreeElement( DGNHandle, DGNElemCore * );void CPL_DLL         DGNRewind( DGNHandle );int  CPL_DLL         DGNGotoElement( DGNHandle, int );void CPL_DLL         DGNClose( DGNHandle );int  CPL_DLL         DGNLoadTCB( DGNHandle );int  CPL_DLL         DGNLookupColor( DGNHandle, int, int *, int *, int * );int  CPL_DLL         DGNGetShapeFillInfo( DGNHandle, DGNElemCore *, int * );int  CPL_DLL         DGNGetAssocID( DGNHandle, DGNElemCore * );int  CPL_DLL         DGNGetElementExtents( DGNHandle, DGNElemCore *,                                            DGNPoint *, DGNPoint * );void CPL_DLL         DGNDumpElement( DGNHandle, DGNElemCore *, FILE * );const char CPL_DLL  *DGNTypeToName( int );void CPL_DLL  DGNRotationToQuaternion( double, int * );void CPL_DLL  DGNQuaternionToMatrix( int *, float * );int CPL_DLL   DGNStrokeArc( DGNHandle, DGNElemArc *, int, DGNPoint * );int CPL_DLL   DGNStrokeCurve( DGNHandle, DGNElemMultiPoint*, int, DGNPoint * );void CPL_DLL  DGNSetSpatialFilter( DGNHandle hDGN,                                    double dfXMin, double dfYMin,                                    double dfXMax, double dfYMax );int  CPL_DLL  DGNGetAttrLinkSize( DGNHandle, DGNElemCore *, int );unsigned char CPL_DLL *              DGNGetLinkage( DGNHandle hDGN, DGNElemCore *psElement,                              int iIndex, int *pnLinkageType,                             int *pnEntityNum, int *pnMSLink, int *pnLinkSize);/* Write API */    int  CPL_DLL  DGNWriteElement( DGNHandle, DGNElemCore * );int  CPL_DLL  DGNResizeElement( DGNHandle, DGNElemCore *, int );DGNHandle CPL_DLL       DGNCreate( const char *pszNewFilename, const char *pszSeedFile,                  int nCreationFlags,                  double dfOriginX, double dfOriginY, double dfOriginZ,                 int nMasterUnitPerSubUnit, int nUORPerSubUnit,                  const char *pszMasterUnits, const char *pszSubUnits );DGNElemCore CPL_DLL *DGNCloneElement( DGNHandle hDGNSrc, DGNHandle hDGNDst,                                       DGNElemCore *psSrcElement );int CPL_DLL   DGNUpdateElemCore( DGNHandle hDGN, DGNElemCore *psElement,                                  int nLevel, int nGraphicGroup, int nColor,                                  int nWeight, int nStyle );int CPL_DLL   DGNUpdateElemCoreExtended( DGNHandle hDGN,                                          DGNElemCore *psElement );DGNElemCore CPL_DLL *              DGNCreateMultiPointElem( DGNHandle hDGN, int nType,                                        int nPointCount, DGNPoint*pasVertices );DGNElemCore CPL_DLL  *              DGNCreateArcElem2D( DGNHandle hDGN, int nType,                                   double dfOriginX, double dfOriginY,                                  double dfPrimaryAxis, double dfSecondaryAxis,                                  double dfRotation,                                   double dfStartAngle, double dfSweepAngle );DGNElemCore CPL_DLL  *              DGNCreateArcElem( DGNHandle hDGN, int nType,                                 double dfOriginX, double dfOriginY,                                double dfOriginZ,                                 double dfPrimaryAxis, double dfSecondaryAxis,                                double dfStartAngle, double dfSweepAngle,                                double dfRotation, int *panQuaternion );DGNElemCore CPL_DLL  *              DGNCreateConeElem( DGNHandle hDGN,                                 double center_1X, double center_1Y,                                 double center_1Z, double radius_1,                                 double center_2X, double center_2Y,                                 double center_2Z, double radius_2,                                 int *panQuaternion );DGNElemCore CPL_DLL *             DGNCreateTextElem( DGNHandle hDGN, const char *pszText,                                 int nFontId, int nJustification,                                 double dfLengthMult, double dfHeightMult,                                 double dfRotation, int *panQuaternion,                       double dfOriginX, double dfOriginY, double dfOriginZ );DGNElemCore CPL_DLL *            DGNCreateColorTableElem( DGNHandle hDGN, int nScreenFlag,                                      GByte abyColorInfo[256][3] );DGNElemCore *DGNCreateComplexHeaderElem( DGNHandle hDGN, int nType, int nSurfType,                             int nTotLength, int nNumElems );DGNElemCore *DGNCreateComplexHeaderFromGroup( DGNHandle hDGN, int nType, int nSurfType,                                 int nNumElems, DGNElemCore **papsElems );DGNElemCore CPL_DLL  *DGNCreateCellHeaderElem( DGNHandle hDGN, int nTotLength, const char *pszName,                          short nClass, short *panLevels,                          DGNPoint *psRangeLow, DGNPoint *psRangeHigh,                          DGNPoint *psOrigin, double dfXScale, double dfYScale,                         double dfRotation );                     DGNElemCore *DGNCreateCellHeaderFromGroup( DGNHandle hDGN, const char *pszName,                               short nClass, short *panLevels,                               int nNumElems, DGNElemCore **papsElems,                              DGNPoint *psOrigin,                              double dfXScale, double dfYScale,                              double dfRotation );int CPL_DLL DGNAddMSLink( DGNHandle hDGN, DGNElemCore *psElement,                           int nLinkageType, int nEntityNum, int nMSLink );int CPL_DLL DGNAddRawAttrLink( DGNHandle hDGN, DGNElemCore *psElement,                                int nLinkSize, unsigned char *pabyRawLinkData );int CPL_DLL DGNAddShapeFillInfo( DGNHandle hDGN, DGNElemCore *psElement,                                  int nColor );int CPL_DLL DGNElemTypeHasDispHdr( int nElemType );CPL_C_END#endif /* ndef _DGNLIB_H_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -