30 #ifndef DGNLIB_H_INCLUDED 31 #define DGNLIB_H_INCLUDED 33 #undef STRICT_CPLERRORNUM_TYPE 39 #define CPLE_DGN_ERROR_BASE 40 #define CPLE_ElementTooBig CPLE_DGN_ERROR_BASE+1 212 GByte color_info[256][3];
217 unsigned char levels[8];
220 double transmatrx[9];
222 unsigned long activez;
251 char master_units[3];
273 unsigned short levels[4];
306 unsigned short levels[4];
308 char description[28];
365 #define DGNTT_STRING 1 366 #define DGNTT_INTEGER 3 367 #define DGNTT_FLOAT 4 527 #define DGNST_MULTIPOINT 2 530 #define DGNST_COLORTABLE 3 542 #define DGNST_COMPLEX_HEADER 7 545 #define DGNST_CELL_HEADER 8 548 #define DGNST_TAG_VALUE 9 551 #define DGNST_TAG_SET 10 554 #define DGNST_CELL_LIBRARY 11 557 #define DGNST_CONE 12 560 #define DGNST_TEXT_NODE 13 563 #define DGNST_BSPLINE_SURFACE_HEADER 14 566 #define DGNST_BSPLINE_CURVE_HEADER 15 569 #define DGNST_BSPLINE_SURFACE_BOUNDARY 16 572 #define DGNST_KNOT_WEIGHT 17 575 #define DGNST_SHARED_CELL_DEFN 18 580 #define DGNT_CELL_LIBRARY 1 581 #define DGNT_CELL_HEADER 2 583 #define DGNT_LINE_STRING 4 584 #define DGNT_GROUP_DATA 5 586 #define DGNT_TEXT_NODE 7 587 #define DGNT_DIGITIZER_SETUP 8 589 #define DGNT_LEVEL_SYMBOLOGY 10 590 #define DGNT_CURVE 11 591 #define DGNT_COMPLEX_CHAIN_HEADER 12 592 #define DGNT_COMPLEX_SHAPE_HEADER 14 593 #define DGNT_ELLIPSE 15 596 #define DGNT_3DSURFACE_HEADER 18 597 #define DGNT_3DSOLID_HEADER 19 598 #define DGNT_BSPLINE_POLE 21 599 #define DGNT_POINT_STRING 22 600 #define DGNT_BSPLINE_SURFACE_HEADER 24 601 #define DGNT_BSPLINE_SURFACE_BOUNDARY 25 602 #define DGNT_BSPLINE_KNOT 26 603 #define DGNT_BSPLINE_CURVE_HEADER 27 604 #define DGNT_BSPLINE_WEIGHT_FACTOR 28 606 #define DGNT_SHARED_CELL_DEFN 34 607 #define DGNT_SHARED_CELL_ELEM 35 608 #define DGNT_TAG_VALUE 37 609 #define DGNT_APPLICATION_ELEM 66 615 #define DGNS_DOTTED 1 616 #define DGNS_MEDIUM_DASH 2 617 #define DGNS_LONG_DASH 3 618 #define DGNS_DOT_DASH 4 619 #define DGNS_SHORT_DASH 5 620 #define DGNS_DASH_DOUBLE_DOT 6 621 #define DGNS_LONG_DASH_SHORT_DASH 7 626 #define DGNSUT_SURFACE_OF_PROJECTION 0 627 #define DGNSUT_BOUNDED_PLANE 1 628 #define DGNSUT_BOUNDED_PLANE2 2 629 #define DGNSUT_RIGHT_CIRCULAR_CYLINDER 3 630 #define DGNSUT_RIGHT_CIRCULAR_CONE 4 631 #define DGNSUT_TABULATED_CYLINDER 5 632 #define DGNSUT_TABULATED_CONE 6 633 #define DGNSUT_CONVOLUTE 7 634 #define DGNSUT_SURFACE_OF_REVOLUTION 8 635 #define DGNSUT_WARPED_SURFACE 9 640 #define DGNSOT_VOLUME_OF_PROJECTION 0 641 #define DGNSOT_VOLUME_OF_REVOLUTION 1 642 #define DGNSOT_BOUNDED_VOLUME 2 647 #define DGNC_PRIMARY 0 648 #define DGNC_PATTERN_COMPONENT 1 649 #define DGNC_CONSTRUCTION_ELEMENT 2 650 #define DGNC_DIMENSION_ELEMENT 3 651 #define DGNC_PRIMARY_RULE_ELEMENT 4 652 #define DGNC_LINEAR_PATTERNED_ELEMENT 5 653 #define DGNC_CONSTRUCTION_RULE_ELEMENT 6 661 #define DGN_GDL_COLOR_TABLE 1 662 #define DGN_GDL_NAMED_VIEW 3 663 #define DGN_GDL_REF_FILE 9 668 #define DGNPF_HOLE 0x8000 669 #define DGNPF_SNAPPABLE 0x4000 670 #define DGNPF_PLANAR 0x2000 671 #define DGNPF_ORIENTATION 0x1000 672 #define DGNPF_ATTRIBUTES 0x0800 673 #define DGNPF_MODIFIED 0x0400 674 #define DGNPF_NEW 0x0200 675 #define DGNPF_LOCKED 0x0100 676 #define DGNPF_CLASS 0x000f 681 #define DGNEIF_DELETED 0x01 682 #define DGNEIF_COMPLEX 0x02 687 #define DGNJ_LEFT_TOP 0 688 #define DGNJ_LEFT_CENTER 1 689 #define DGNJ_LEFT_BOTTOM 2 690 #define DGNJ_LEFTMARGIN_TOP 3 691 #define DGNJ_LEFTMARGIN_CENTER 4 692 #define DGNJ_LEFTMARGIN_BOTTOM 5 693 #define DGNJ_CENTER_TOP 6 694 #define DGNJ_CENTER_CENTER 7 695 #define DGNJ_CENTER_BOTTOM 8 696 #define DGNJ_RIGHTMARGIN_TOP 9 697 #define DGNJ_RIGHTMARGIN_CENTER 10 698 #define DGNJ_RIGHTMARGIN_BOTTOM 11 699 #define DGNJ_RIGHT_TOP 12 700 #define DGNJ_RIGHT_CENTER 13 701 #define DGNJ_RIGHT_BOTTOM 14 706 #define DGNO_CAPTURE_RAW_DATA 0x01 711 #define DGNLT_DMRS 0x0000 712 #define DGNLT_INFORMIX 0x3848 713 #define DGNLT_ODBC 0x5e62 714 #define DGNLT_ORACLE 0x6091 715 #define DGNLT_RIS 0x71FB 716 #define DGNLT_SYBASE 0x4f58 717 #define DGNLT_XBASE 0x1971 718 #define DGNLT_SHAPE_FILL 0x0041 719 #define DGNLT_ASSOC_ID 0x7D2F 725 #define DGNCF_USE_SEED_UNITS 0x01 726 #define DGNCF_USE_SEED_ORIGIN 0x02 727 #define DGNCF_COPY_SEED_FILE_COLOR_TABLE 0x04 728 #define DGNCF_COPY_WHOLE_SEED_FILE 0x08 733 #define DGNBSC_CURVE_DISPLAY 0x10 734 #define DGNBSC_POLY_DISPLAY 0x20 735 #define DGNBSC_RATIONAL 0x40 736 #define DGNBSC_CLOSED 0x80 741 #define DGNBSS_ARC_SPACING 0x40 742 #define DGNBSS_CLOSED 0x80 771 void CPL_DLL DGNRotationToQuaternion(
double,
int * );
772 void CPL_DLL DGNQuaternionToMatrix(
int *,
float * );
776 double dfXMin,
double dfYMin,
777 double dfXMax,
double dfYMax );
779 unsigned char CPL_DLL *
781 int iIndex,
int *pnLinkageType,
782 int *pnEntityNum,
int *pnMSLink,
int *pnLinkSize);
789 DGNCreate(
const char *pszNewFilename,
const char *pszSeedFile,
791 double dfOriginX,
double dfOriginY,
double dfOriginZ,
792 int nMasterUnitPerSubUnit,
int nUORPerSubUnit,
793 const char *pszMasterUnits,
const char *pszSubUnits );
797 int nLevel,
int nGraphicGroup,
int nColor,
798 int nWeight,
int nStyle );
799 int CPL_DLL DGNUpdateElemCoreExtended(
DGNHandle hDGN,
804 int nPointCount,
DGNPoint*pasVertices );
806 DGNCreateArcElem2D(
DGNHandle hDGN,
int nType,
807 double dfOriginX,
double dfOriginY,
808 double dfPrimaryAxis,
double dfSecondaryAxis,
810 double dfStartAngle,
double dfSweepAngle );
814 double dfOriginX,
double dfOriginY,
816 double dfPrimaryAxis,
double dfSecondaryAxis,
817 double dfStartAngle,
double dfSweepAngle,
818 double dfRotation,
int *panQuaternion );
822 double center_1X,
double center_1Y,
823 double center_1Z,
double radius_1,
824 double center_2X,
double center_2Y,
825 double center_2Z,
double radius_2,
826 int *panQuaternion );
830 int nFontId,
int nJustification,
831 double dfLengthMult,
double dfHeightMult,
832 double dfRotation,
int *panQuaternion,
833 double dfOriginX,
double dfOriginY,
double dfOriginZ );
837 GByte abyColorInfo[256][3] );
840 int nTotLength,
int nNumElems );
847 int nBoundElems,
int nTotLength,
int nNumElems );
850 int nBoundElems,
int nNumElems,
855 short nClass,
short *panLevels,
857 DGNPoint *psOrigin,
double dfXScale,
double dfYScale,
862 short nClass,
short *panLevels,
865 double dfXScale,
double dfYScale,
869 int nLinkageType,
int nEntityNum,
int nMSLink );
872 int nLinkSize,
unsigned char *pabyRawLinkData );
int raw_bytes
Definition: dgnlib.h:107
long uor_per_subunit
Definition: dgnlib.h:248
DGNElemCore CPL_DLL * DGNCreateComplexHeaderElem(DGNHandle hDGN, int nType, int nTotLength, int nNumElems)
Definition: dgnwrite.cpp:1614
int CPL_DLL DGNGetExtents(DGNHandle, double *)
Definition: dgnread.cpp:1774
tagValueUnion tagValue
Definition: dgnlib.h:348
short unknown
Definition: dgnlib.h:399
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)
Definition: dgnwrite.cpp:1371
short attindx
Definition: dgnlib.h:299
short max_length
Definition: dgnlib.h:425
double height_mult
Definition: dgnlib.h:431
DGNElemCore CPL_DLL * DGNCreateSolidHeaderElem(DGNHandle hDGN, int nType, int nSurfType, int nBoundElems, int nTotLength, int nNumElems)
Definition: dgnwrite.cpp:1788
DGNElemCore CPL_DLL * DGNReadElement(DGNHandle)
Definition: dgnread.cpp:1133
short dispsymb
Definition: dgnlib.h:304
int stype
Definition: dgnlib.h:92
int totlength
Definition: dgnlib.h:323
const DGNElementInfo CPL_DLL * DGNGetElementIndex(DGNHandle, int *)
Definition: dgnread.cpp:1740
int type
Definition: dgnlib.h:361
int CPL_DLL DGNGetElementExtents(DGNHandle, DGNElemCore *, DGNPoint *, DGNPoint *)
Definition: dgnread.cpp:217
int complex
Definition: dgnlib.h:95
int dimension
Definition: dgnlib.h:242
char * name
Definition: dgnlib.h:358
DGNPoint center_1
Definition: dgnlib.h:401
int justification
Definition: dgnlib.h:166
double startang
Definition: dgnlib.h:147
int font_id
Definition: dgnlib.h:165
DGNPoint center_2
Definition: dgnlib.h:403
DGNElemCore CPL_DLL * DGNCreateSolidHeaderFromGroup(DGNHandle hDGN, int nType, int nSurfType, int nBoundElems, int nNumElems, DGNElemCore **papsElems)
Definition: dgnwrite.cpp:1871
double radius_1
Definition: dgnlib.h:402
int tagLength
Definition: dgnlib.h:347
DGNHandle CPL_DLL DGNOpen(const char *, int)
Definition: dgnopen.cpp:95
short number
Definition: dgnlib.h:498
int numwords
Definition: dgnlib.h:302
int numelems
Definition: dgnlib.h:423
unsigned char type
Definition: dgnlib.h:70
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)
Definition: dgnwrite.cpp:310
DGNPoint origin
Definition: dgnlib.h:433
int CPL_DLL DGNGotoElement(DGNHandle, int)
Definition: dgnread.cpp:67
int level
Definition: dgnlib.h:93
int attr_bytes
Definition: dgnlib.h:104
DGNPoint origin
Definition: dgnlib.h:139
void CPL_DLL DGNSetOptions(DGNHandle, int)
Definition: dgnopen.cpp:181
short numverts
Definition: dgnlib.h:499
double secondary_axis
Definition: dgnlib.h:142
double rotation
Definition: dgnlib.h:432
long subunits_per_master
Definition: dgnlib.h:250
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)
Definition: dgnwrite.cpp:1228
void CPL_DLL DGNDumpElement(DGNHandle, DGNElemCore *, FILE *)
Definition: dgnhelp.cpp:554
double sweepang
Definition: dgnlib.h:148
int CPL_DLL DGNLookupColor(DGNHandle, int, int *, int *, int *)
Definition: dgnhelp.cpp:315
int CPL_DLL DGNElemTypeHasDispHdr(int nElemType)
Definition: dgnread.cpp:1220
int id
Definition: dgnlib.h:359
double height_mult
Definition: dgnlib.h:168
double z
Definition: dgnlib.h:59
void CPL_DLL DGNSetSpatialFilter(DGNHandle hDGN, double dfXMin, double dfYMin, double dfXMax, double dfYMax)
Definition: dgnopen.cpp:214
int style
Definition: dgnlib.h:102
double y
Definition: dgnlib.h:58
tagValueUnion defaultValue
Definition: dgnlib.h:362
short max_used
Definition: dgnlib.h:426
double origin_y
Definition: dgnlib.h:245
unsigned char CPL_DLL * DGNGetLinkage(DGNHandle hDGN, DGNElemCore *psElement, int iIndex, int *pnLinkageType, int *pnEntityNum, int *pnMSLink, int *pnLinkSize)
Definition: dgnhelp.cpp:1243
int CPL_DLL DGNGetAssocID(DGNHandle, DGNElemCore *)
Definition: dgnhelp.cpp:397
struct _DGNTagDef DGNTagDef
int totlength
Definition: dgnlib.h:421
unsigned char flags
Definition: dgnlib.h:72
short justification
Definition: dgnlib.h:428
double length_mult
Definition: dgnlib.h:167
int CPL_DLL DGNAddShapeFillInfo(DGNHandle hDGN, DGNElemCore *psElement, int nColor)
Definition: dgnwrite.cpp:2462
short celltype
Definition: dgnlib.h:298
double rotation
Definition: dgnlib.h:169
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)
Definition: dgnwrite.cpp:1000
double x
Definition: dgnlib.h:57
unsigned char * attr_data
Definition: dgnlib.h:105
void CPL_DLL DGNRewind(DGNHandle)
Definition: dgnread.cpp:1601
DGNElemCore CPL_DLL * DGNCreateMultiPointElem(DGNHandle hDGN, int nType, int nPointCount, DGNPoint *pasVertices)
Definition: dgnwrite.cpp:850
int properties
Definition: dgnlib.h:99
double origin_z
Definition: dgnlib.h:246
double origin_x
Definition: dgnlib.h:244
unsigned short cclass
Definition: dgnlib.h:305
DGNElemCore CPL_DLL * DGNCreateCellHeaderFromGroup(DGNHandle hDGN, const char *pszName, short nClass, short *panLevels, int nNumElems, DGNElemCore **papsElems, DGNPoint *psOrigin, double dfXScale, double dfYScale, double dfRotation)
Definition: dgnwrite.cpp:2175
DGNPoint origin
Definition: dgnlib.h:170
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)
Definition: dgnwrite.cpp:1944
int tagIndex
Definition: dgnlib.h:346
const char CPL_DLL * DGNTypeToName(int)
Definition: dgnhelp.cpp:1066
int type
Definition: dgnlib.h:94
int element_id
Definition: dgnlib.h:91
void * DGNHandle
Definition: dgnlib.h:748
double rotation
Definition: dgnlib.h:144
int deleted
Definition: dgnlib.h:96
int CPL_DLL DGNResizeElement(DGNHandle, DGNElemCore *, int)
Definition: dgnwrite.cpp:72
double radius_2
Definition: dgnlib.h:404
int num_vertices
Definition: dgnlib.h:123
int CPL_DLL DGNAddMSLink(DGNHandle hDGN, DGNElemCore *psElement, int nLinkageType, int nEntityNum, int nMSLink)
Definition: dgnwrite.cpp:2297
unsigned char level
Definition: dgnlib.h:69
int node_number
Definition: dgnlib.h:424
long line_spacing
Definition: dgnlib.h:429
int CPL_DLL DGNUpdateElemCore(DGNHandle hDGN, DGNElemCore *psElement, int nLevel, int nGraphicGroup, int nColor, int nWeight, int nStyle)
Definition: dgnwrite.cpp:701
char * prompt
Definition: dgnlib.h:360
int CPL_DLL DGNLoadTCB(DGNHandle)
Definition: dgnread.cpp:1689
double length_mult
Definition: dgnlib.h:430
int CPL_DLL DGNWriteElement(DGNHandle, DGNElemCore *)
Definition: dgnwrite.cpp:187
int tagSet
Definition: dgnlib.h:345
DGNElemCore CPL_DLL * DGNCreateColorTableElem(DGNHandle hDGN, int nScreenFlag, GByte abyColorInfo[256][3])
Definition: dgnwrite.cpp:1546
double primary_axis
Definition: dgnlib.h:141
int color
Definition: dgnlib.h:100
DGNElemCore CPL_DLL * DGNCreateComplexHeaderFromGroup(DGNHandle hDGN, int nType, int nNumElems, DGNElemCore **papsElems)
Definition: dgnwrite.cpp:1695
void CPL_DLL DGNClose(DGNHandle)
Definition: dgnopen.cpp:284
unsigned char stype
Definition: dgnlib.h:71
int CPL_DLL DGNGetDimension(DGNHandle)
Definition: dgnopen.cpp:304
int CPL_DLL DGNAddRawAttrLink(DGNHandle hDGN, DGNElemCore *psElement, int nLinkSize, unsigned char *pabyRawLinkData)
Definition: dgnwrite.cpp:2367
short font_id
Definition: dgnlib.h:427
int tagType
Definition: dgnlib.h:344
int CPL_DLL DGNGetShapeFillInfo(DGNHandle, DGNElemCore *, int *)
Definition: dgnhelp.cpp:359
unsigned char * raw_data
Definition: dgnlib.h:108
int graphic_group
Definition: dgnlib.h:98
int CPL_DLL DGNTestOpen(GByte *, int)
Definition: dgnopen.cpp:46
int weight
Definition: dgnlib.h:101
long offset
Definition: dgnlib.h:73