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

📄 ad2.h

📁 这是树上的代码
💻 H
📖 第 1 页 / 共 5 页
字号:
/* C:\ICADDEV\THIRDPARTY\MARCOMP\AD2.H
 * Copyright (C) 1988-1998 Visio Corporation. All rights reserved.
 *
 * Abstract
 *
 * <TODO : Add Abstract here>
 *
 */

  /* ad2.h */
  /* include file for OpenDWG Toolkit */
#ifndef AD2HINCLUDED
#define AD2HINCLUDED

#ifndef VMSTUFFDEFINED
#define VMSTUFFDEFINED
typedef char * AD_VMADDR;
#define AD_VMNULL NULL
#endif


  /* these are the equates for the constants which define the version of
     the drawing being processed */

#define AD_ACAD25 0  /* ac1002 */
#define AD_ACAD26 1  /* ac1003 */
#define AD_ACAD9  2  /* ac1004 */
#define AD_ACAD10 3  /* ac1006 */
#define AD_ACAD11 4  /* ac1009 */
#define AD_ACAD13 5  /* ac1012 */
#define AD_ACAD14 6
#define AD_ACAD2000 7
#define AD_MAXACADVER AD_ACAD2000

#define AD_ENT_LINE       1
#define AD_ENT_POINT      2
#define AD_ENT_CIRCLE     3
#define AD_ENT_SHAPE      4
#define AD_ENT_ELLIPSE    5
#define AD_ENT_SPLINE     6
#define AD_ENT_TEXT       7
#define AD_ENT_ARC        8
#define AD_ENT_TRACE      9
#define AD_ENT_REGION    10
#define AD_ENT_SOLID     11
#define AD_ENT_BLOCK     12
#define AD_ENT_ENDBLK    13
#define AD_ENT_INSERT    14
#define AD_ENT_ATTDEF    15
#define AD_ENT_ATTRIB    16
#define AD_ENT_SEQEND    17
#define AD_ENT_POLYLINE  19
#define AD_ENT_VERTEX    20
#define AD_ENT_LINE3D    21
#define AD_ENT_FACE3D    22
#define AD_ENT_DIMENSION 23
#define AD_ENT_VIEWPORT  24
#define AD_ENT_SOLID3D   25
#define AD_ENT_RAY       26
#define AD_ENT_XLINE     27
#define AD_ENT_MTEXT     28
#define AD_ENT_LEADER    29
#define AD_ENT_TOLERANCE 30
#define AD_ENT_MLINE     31
#define AD_OBJ_DICTIONARY 32
#define AD_OBJ_MLINESTYLE 33
#define AD_OBJ_CLASS      34
#define AD_ENT_BODY       35
#define AD_OBJ_GROUP      36
#define AD_OBJ_PROXY     100
#define AD_OBJ_XRECORD   101
#define AD_OBJ_IDBUFFER  102
#define AD_OBJ_PLOTSETTINGS 103

#define AD_GRENT_CIRCLE           2
#define AD_GRENT_CIRCLE3PT        3
#define AD_GRENT_CIRCULARARC      4
#define AD_GRENT_CIRCULARARC3PT   5
#define AD_GRENT_POLYLINE         6
#define AD_GRENT_POLYGON          7
#define AD_GRENT_MESH             8
#define AD_GRENT_SHELL            9
#define AD_GRENT_TEXT            10
#define AD_GRENT_TEXT2           11
#define AD_GRENT_XLINE           12
#define AD_GRENT_RAY             13
#define AD_GRENT_SUBENT_COLOR    14
#define AD_GRENT_SUBENT_LAYER    16
#define AD_GRENT_SUBENT_LINETYPE 18
#define AD_GRENT_SUBENT_MARKER   19
#define AD_GRENT_SUBENT_FILLON   20



#define AD_XD_STRING         1000
#define AD_XD_APPOBJHANDLE   1001
#define AD_XD_CONTROL        1002
#define AD_XD_LAYEROBJHANDLE 1003
#define AD_XD_BINDATA        1004
#define AD_XD_OBJHANDLE      1005
#define AD_XD_REALS          1010
#define AD_XD_WORLDPOS       1011
#define AD_XD_WORLDDISP      1012
#define AD_XD_WORLDDIR       1013
#define AD_XD_REAL           1040
#define AD_XD_DIST           1041
#define AD_XD_SCALE          1042
#define AD_XD_INT            1070
#define AD_XD_LONG           1071

#define AD_IS_A_PROXYENT(a)  (a>=0x1F2)
#define AD_IS_A_GENERIC_PROXYENT(a)  (a==0x1F2)
#define AD_IS_A_GENERIC_PROXYOBJ(a)  (a==0x1F3)
#define AD_ITEM_CLASS_PROXY_ENTITY 0x1F2
#define AD_ITEM_CLASS_PROXY_OBJECT 0x1F3

#define AD_PROXYCAP_NONE                    0
#define AD_PROXYCAP_ERASEOK                 1
#define AD_PROXYCAP_TRANSFORMOK             2
#define AD_PROXYCAP_COLORCHANGEOK           4
#define AD_PROXYCAP_LAYERCHANGEOK           8
#define AD_PROXYCAP_LINETYPECHANGEOK       16
#define AD_PROXYCAP_LINETYPESCALECHANGEOK  32
#define AD_PROXYCAP_VISIBLITYCHANGEOK      64
#define AD_PROXYCAP_ALLBUTCLONINGOK       127
#define AD_PROXYCAP_CLONINGOK             128
#define AD_PROXYCAP_ALLOK                 255
#define AD_PROXYCAP_R13FORMATPROXY      32768

#define AD_VPENT_STATUS_PERSPECTIVEMODE      1
#define AD_VPENT_STATUS_FRONTCLIP            2
#define AD_VPENT_STATUS_BACKCLIP             4
#define AD_VPENT_STATUS_UCSFOLLOW            8
#define AD_VPENT_STATUS_NOTATEYE            16
#define AD_VPENT_STATUS_UCSICON             32
#define AD_VPENT_STATUS_UCSATORIGIN         64
#define AD_VPENT_STATUS_FASTZOOM           128
#define AD_VPENT_STATUS_SNAPON             256
#define AD_VPENT_STATUS_GRIDON             512
#define AD_VPENT_STATUS_SNAPSTYLEISO      1024
#define AD_VPENT_STATUS_HIDDENINPLOT      2048
#define AD_VPENT_STATUS_SNAPISOPAIRTOP    4096
#define AD_VPENT_STATUS_SNAPISOPAIRRIGHT  8192
#define AD_VPENT_STATUS_ZOOMLOCKING      16384 
#define AD_VPENT_STATUS_ALWAYS           32768 
#define AD_VPENT_STATUS_NONRECTCLIP      65536 
#define AD_VPENT_STATUS_OFF             131072 

#define adHasPrimTraits(a)         (a & 0xFFFFL)
#define adPrimsHaveColors(a)       (a & 0x0001L)
#define adPrimsHaveLayers(a)       (a & 0x0002L)
#define adPrimsHaveLinetypes(a)    (a & 0x0004L)
#define adPrimsHaveMarkers(a)      (a & 0x0020L)
#define adPrimsHaveVisibilities(a) (a & 0x0040L)
#define adPrimsHaveNormals(a)      (a & 0x0080L)
#define adPrimsHaveOrientation(a)  (a & 0x0400L)

#define adSetPrimsHaveColors(a)       (a |= 0x0001L)
#define adSetPrimsHaveLayers(a)       (a |= 0x0002L)
#define adSetPrimsHaveLinetypes(a)    (a |= 0x0004L)
#define adSetPrimsHaveMarkers(a)      (a |= 0x0020L)
#define adSetPrimsHaveVisibilities(a) (a |= 0x0040L)
#define adSetPrimsHaveNormals(a)      (a |= 0x0080L)
#define adSetPrimsHaveOrientation(a)  (a |= 0x0400L)

#define AD_DWG 0
#define AD_DXF 1
#define AD_BDXF 2

#define AD_MAX_STRLEN 512
#define AD_MAX_TRUNC_NAMELEN 26
#define AD_MAX_XREF_TRUNC_NAMELEN 4

#define AD_EXPORT_AS_UPPERCASE    0
#define AD_EXPORT_AS_LOWERCASE    1
#define AD_EXPORT_AS_CURRENT_CASE 2

#define AD_PAPERSPACE_HANDLE 0
#define AD_MODELSPACE_HANDLE 1

#define AD_TTF_OUTLINE     0x01
#define AD_TTF_FILL        0x02
#define AD_TTF_FREE_MEMORY 0x04

#define AD_MAXVPORTS 49
#define AD_VPMSKSIZE 8
typedef struct advpmskstru {
  unsigned char data[AD_VPMSKSIZE];
} ADVPMSK;

typedef unsigned char AD_OBJHANDLE[8];
typedef void * AD_DB_HANDLE;

#define AD_ARBITRARY_HANDLE   0
#define AD_SOFT_POINTER_HANDLE 1
#define AD_HARD_POINTER_HANDLE 2
#define AD_SOFT_OWNER_HANDLE   3
#define AD_HARD_OWNER_HANDLE   4

#define NULLOBJHANDLE "\0\0\0\0\0\0\0\0"

#define AD_DELETE_BLOBS 1
#define AD_LEAVE_BLOBS 0

#define AD_VERBOSITY_NONE 0
#define AD_VERBOSITY_QUIET 1
#define AD_VERBOSITY_VERBOSE 2

#define AD_UNSAFEMODE 0
#define AD_SAFEMODE 1

#define AD_CRITERR_FILEREADERROR  1
#define AD_CRITERR_MALLOCERROR    2
#define AD_CRITERR_DISKFULL       3
#define AD_CRITERR_WRITEABORT     4
#define AD_CRITERR_BUFFEROVERRUN  5
#define AD_CRITERR_BADDATA        6

#define AD_DISKFULL_CALLWRITEABORT 0
#define AD_DISKFULL_RETRY          1
#define AD_DISKFULL_STOPWRITING    2

#define BLKCTRL 0
#define LAYERCTRL 1
#define SHPFILECTRL 2
#define LTYPECTRL 3
#define VIEWCTRL 4
#define UCSCTRL 5
#define VPORTCTRL 6
#define REGAPPCTRL 7
#define DIMSTYLECTRL 8
#define VPENTCTRL 9

#define MLINEDICSHADOW 0
#define GROUPDICSHADOW 1
#define DICTIONARYSHADOW 2
#define MSPACEBLKSHADOW 3
#define PSPACEBLKSHADOW 4
#define BYBLOCKLTPSHADOW 5
#define BYLAYERLTPSHADOW 6
#define MSPACEBLKENTSHADOW 7
#define MSPACEENDBLKENTSHADOW 8
#define PSPACEBLKENTSHADOW 9
#define PSPACEENDBLKENTSHADOW 10
#define CONTINUOUSLTPSHADOW 11
#define LAYOUTDICSHADOW 12
#define PLOTSETTINGSDICSHADOW 13
#define PLOTSTYLEDICSHADOW 14

#define AD_DXF_HEADER_PRESENT              1L
#define AD_DXF_LTYPE_TABLE_PRESENT         2L
#define AD_DXF_LAYER_TABLE_PRESENT         4L
#define AD_DXF_SHAPEFILE_TABLE_PRESENT     8L
#define AD_DXF_VIEW_TABLE_PRESENT         16L
#define AD_DXF_VPORT_TABLE_PRESENT        32L
#define AD_DXF_REGAPP_TABLE_PRESENT       64L
#define AD_DXF_DIMSTYLE_TABLE_PRESENT    128L
#define AD_DXF_UCS_TABLE_PRESENT         256L
#define AD_DXF_BLKREC_TABLE_PRESENT      512L

/* minimalheader1 is extents and version, 2 is extents only */
#define AD_DXF_COMPLETE       0
#define AD_DXF_MINIMALHEADER1 1
#define AD_DXF_MINIMALHEADER2 2
#define AD_DXF_ENTITIESONLY   4

#ifndef TYPEDOBJHANDLESTRUDEFINED
#define TYPEDOBJHANDLESTRUDEFINED
typedef struct typedobjhandlestru {
  AD_OBJHANDLE typedhandle;
  char handletype;
} AD_TYPEDOBJHANDLE,*PAD_TYPEDOBJHANDLE;
#endif

#define adHancpy(a,b)  memcpy(a,b,8)
#define adHanclear(a)  memset(a,0,8)
#ifdef AD_MEMCMPISSIGNED
/* SUNOS4 ONLY */
#define adHancmp(a,b)  adHancmp(a,b)
#else
#define adHancmp(a,b)  memcmp(a,b,8)
#endif
#define adHansame(a,b) (!adHancmp(a,b))

#define AD_PAPERSPACE_ENT      1
#define AD_EXTRUSION_INFO_VALID 2
#define AD_INVISIBLE          4


#define adEntIsInPaperspace(a) (a & AD_PAPERSPACE_ENT)
#define adEntHasExtrusion(a)   (a & AD_EXTRUSION_INFO_VALID)
#define adEntIsInvisible(a)    (a & AD_INVISIBLE)

#define adSetEntIsInPaperspace(a) (a |= AD_PAPERSPACE_ENT)
#define adSetEntHasExtrusion(a)   (a |= AD_EXTRUSION_INFO_VALID)
#define adSetEntIsInvisible(a)    (a |= AD_INVISIBLE)

#define adSetEntIsInModelspace(a) (a &= ~AD_PAPERSPACE_ENT)
#define adSetEntHasNoExtrusion(a) (a &= ~AD_EXTRUSION_INFO_VALID)
#define adSetEntIsNotInvisible(a) (a &= ~AD_INVISIBLE)

#define AD_PRELOAD_ALL 1
#define AD_PRELOAD_PARTIAL 2

/* flag "anders"  & other constants */
#define AD_FACE3D_FACE1INVIS           1
#define AD_FACE3D_FACE2INVIS           2
#define AD_FACE3D_FACE3INVIS           4
#define AD_FACE3D_FACE4INVIS           8
#define AD_ATTDEF_INVIS                1
#define AD_ATTDEF_CONST                2
#define AD_ATTDEF_VERIFY               4
#define AD_ATTDEF_PRESET               8
#define AD_ATTRIB_INVIS                1
#define AD_ATTRIB_CONST                2
#define AD_ATTRIB_VERIFY               4
#define AD_ATTRIB_PRESET               8
#define AD_DIMTYPE_ROTATED             0
#define AD_DIMTYPE_ALIGNED             1
#define AD_DIMTYPE_ANGULAR             2
#define AD_DIMTYPE_DIAMETER            3
#define AD_DIMTYPE_RADIUS              4
#define AD_DIMTYPE_ANGULAR3PT          5
#define AD_DIMTYPE_ORDINATE            6
#define AD_DIMTYPE_XORDDIM            64
#define AD_DIMTYPE_TEXTPOS           128
#define AD_MTEXT_ATTACH_TOPLEFT        1
#define AD_MTEXT_ATTACH_TOPCENTER      2
#define AD_MTEXT_ATTACH_TOPRIGHT       3
#define AD_MTEXT_ATTACH_MIDDLELEFT     4
#define AD_MTEXT_ATTACH_MIDDLECENTER   5
#define AD_MTEXT_ATTACH_MIDDLERIGHT    6
#define AD_MTEXT_ATTACH_BOTTOMLEFT     7
#define AD_MTEXT_ATTACH_BOTTOMCENTER   8
#define AD_MTEXT_ATTACH_BOTTOMRIGHT    9
#define AD_MTEXT_ATTACH_TOLERANCE     10
#define AD_MTEXT_DRAWDIR_LTOR          1
#define AD_MTEXT_DRAWDIR_RTOL          2
#define AD_MTEXT_DRAWDIR_TTOB          3
#define AD_MTEXT_DRAWDIR_BTOT          4
#define AD_PLINE_CLOSED                1
#define AD_PLINE_CURVEFIT              2
#define AD_PLINE_SPLINEFIT             4
#define AD_PLINE_3DPLINE               8
#define AD_PLINE_3DMESH               16
#define AD_PLINE_CLOSEDN              32
#define AD_PLINE_POLYFACEMESH         64
#define AD_PLINE_CONTINUELT          128
#define AD_PLINE_SURFTYPE_NONE         0
#define AD_PLINE_SURFTYPE_QUAD         5
#define AD_PLINE_SURFTYPE_CUBIC        6
#define AD_PLINE_SURFTYPE_BEZIER       8
#define AD_TEXT_GEN_BACKWARD           2
#define AD_TEXT_GEN_UPSIDEDOWN         4
#define AD_TEXT_JUST_LEFT              0
#define AD_TEXT_JUST_CENTER            1
#define AD_TEXT_JUST_RIGHT             2
#define AD_TEXT_JUST_ALIGNED           3
#define AD_TEXT_JUST_MIDDLE            4
#define AD_TEXT_JUST_FIT               5
#define AD_TEXT_VALIGN_BASELINE        0
#define AD_TEXT_VALIGN_BOTTOM          1
#define AD_TEXT_VALIGN_MIDDLE          2
#define AD_TEXT_VALIGN_TOP             3
#define AD_VERTEX_FROMFIT              1
#define AD_VERTEX_HASTANGENT           2
#define AD_VERTEX_SPLINEVERTEX         8
#define AD_VERTEX_SPLINEFRAME         16
#define AD_VERTEX_3DPLINE             32
#define AD_VERTEX_3DMESHVERT          64
#define AD_VERTEX_FACELIST           128
#define AD_LEADER_PATH_STRAIGHT        0
#define AD_LEADER_PATH_SPLINE          1
#define AD_LEADER_ANNO_TEXT            0
#define AD_LEADER_ANNO_TOLERANCE       1
#define AD_LEADER_ANNO_BLOCK           2
#define AD_LEADER_ANNO_NONE            3
#define AD_SPLINE_CLOSED               1
#define AD_SPLINE_PERIODIC             2
#define AD_SPLINE_RATIONAL             4
#define AD_SPLINE_PLANAR               8
#define AD_SPLINE_LINEAR              16
#define AD_MLINE_JUST_TOP              0
#define AD_MLINE_JUST_ZERO             1
#define AD_MLINE_JUST_BOTTOM           2
#define AD_MLINE_LOCKED                1
#define AD_MLINE_CLOSED                2
#define AD_MLINE_SUPPRESS_START_CAPS   4
#define AD_MLINE_SUPPRESS_END_CAPS     8

#define AD_ENTRY_XREF_DEPENDENT        16
#define AD_XREF_RESOLVED               32
#define AD_REFERENCED                  64
#define AD_BLOCK_ANONYMOUS             1
#define AD_BLOCK_HASATTRIBUTES         2
#define AD_BLOCK_XREF                  4
#define AD_LAYER_OFF                   0
#define AD_LAYER_ON                    1
#define AD_LAYER_THAWED                0
#define AD_LAYER_FROZEN                1
#define AD_LAYER_VPFROZEN              2
#define AD_LAYER_LOCKED                4
#define AD_LAYER_NOCHANGE              -1
#define AD_SHAPEFILE_SHAPES            1
#define AD_SHAPEFILE_VERTICAL          4
#define AD_SHAPEFILE_GEN_BACKWARD      2
#define AD_SHAPEFILE_GEN_UPSIDEDOWN    4
#define AD_VIEW_ISPAPERSPACE           1
#define AD_MLSTYLE_FILL_ON             1
#define AD_MLSTYLE_SHOW_MITERS         2
#define AD_MLSTYLE_START_SQUARE        16
#define AD_MLSTYLE_START_INNER_ARC     32
#define AD_MLSTYLE_START_ROUND         64
#define AD_MLSTYLE_END_SQUARE          256
#define AD_MLSTYLE_END_INNER_ARC       512
#define AD_MLSTYLE_END_ROUND           1024
#define AD_LWPLINE_HAS_CONSTANT_WIDTH  4
#define AD_LWPLINE_HAS_BULGES          16
#define AD_LWPLINE_HAS_WIDTHS          32
#define AD_LWPLINE_PLINEGEN            256
#define AD_LWPLINE_IS_CLOSED           512
#define AD_HATCH_PATHTYPE_LINE         1
#define AD_HATCH_PATHTYPE_CIRCARC      2
#define AD_HATCH_PATHTYPE_ELLIPARC     3
#define AD_HATCH_PATHTYPE_SPLINE       4
#define AD_HATCH_STYLE_NORMAL          0
#define AD_HATCH_STYLE_OUTER           1
#define AD_HATCH_STYLE_IGNORE          2
#define AD_HATCH_PATHFLAG_DEFAULT      0
#define AD_HATCH_PATHFLAG_EXTERNAL     1
#define AD_HATCH_PATHFLAG_POLYLINE     2
#define AD_HATCH_PATHFLAG_DERIVED      4
#define AD_HATCH_PATHFLAG_TEXTBOX      8
#define AD_HATCH_PATHFLAG_OUTERMOST   16
#define AD_HATCH_PATTERNTYPE_USER       0
#define AD_HATCH_PATTERNTYPE_PREDEFINED 1
#define AD_HATCH_PATTERNTYPE_CUSTOM     2
#define AD_IMAGE_CLIPBOUND_RECT        1
#define AD_IMAGE_CLIPBOUND_POLYGON     2
#define AD_IMAGE_DISPPROPS_SHOWIMAGE      1
#define AD_IMAGE_DISPPROPS_SHOWNONALIGNED 2
#define AD_IMAGE_DISPPROPS_USECLIP        4
#define AD_IMAGE_DISPPROPS_TRANSON        8
#define AD_ISDIMTYPE_ROTATED(a)             ((a & 7)==0)
#define AD_ISDIMTYPE_ALIGNED(a)             ((a & 7)==1)
#define AD_ISDIMTYPE_ANGULAR(a)             ((a & 7)==2)
#define AD_ISDIMTYPE_DIAMETER(a)            ((a & 7)==3)
#define AD_ISDIMTYPE_RADIUS(a)              ((a & 7)==4)
#define AD_ISDIMTYPE_ANGULAR3PT(a)          ((a & 7)==5)
#define AD_ISDIMTYPE_ORDINATE(a)            ((a & 7)==6)
#define AD_ISDIMTYPE_XORDDIM(a)             (a & 64)

#define AD_COLOR_RED                   1
#define AD_COLOR_YELLOW                2
#define AD_COLOR_GREEN                 3

⌨️ 快捷键说明

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