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

📄 ad2.h

📁 这是树上的代码
💻 H
📖 第 1 页 / 共 5 页
字号:
  short  dimlwe;
  AD_OBJHANDLE objhandle,shapefileobjhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  AD_VMADDR xdblob;
  long numreactors;
  AD_VMADDR reactorblob;
} AD_DIMSTYLE,*PAD_DIMSTYLE;

typedef struct adgrpstru {
  char str[AD_MAX_STRLEN];
  long numgrouphandles;
  short unnamed,selectable;
  AD_VMADDR entryblob;
} AD_GRP,*PAD_GRP;

typedef struct adlaystru {
  AD_OBJHANDLE ownerobjhandle;
  char   purgedflag;             /* flag indicating entry has been purged */
  short  xrefindex;              /* index of xref from which this item came */
  short  color;                  /* index of layer color */
  char   flag;                   /* layer flag */
  char   name[AD_MAX_STRLEN];               /* name of layer */
  AD_OBJHANDLE linetypeobjhandle;   /* handle of linetype for this layer */
  AD_OBJHANDLE objhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  AD_VMADDR xdblob;
  ADVPMSK vpfrozflags;           /* used internally by display routines */
  void  *ad3reserved2;           /* used internally by display routines */
  void  *ad3reserved3;           /* [ingr 94a] used internally by display routines */
  long numreactors;
  AD_VMADDR reactorblob;
  AD_OBJHANDLE xrefblkhobjhandle;  /* if brought in from an xref, block header
                                      for the xref, else all 0 */
  short plotflag;
  short lineweight;
  AD_OBJHANDLE plotstyleobjhandle;

} AD_LAY,*PAD_LAY;

struct adltpsegstru {
  double val;
  short  complexshapecode;
  double scale;
  double rotang;
  double xoffset;
  double yoffset;
  AD_OBJHANDLE shapeentryobjhandle;
  short shapeflag;
  unsigned short stroffset;
} ;

typedef struct adltpstru {
  AD_OBJHANDLE ownerobjhandle;
  char   purgedflag;             /* flag indicating entry has been purged */
  short  xrefindex;              /* index of xref from which this item came */
  char   name[AD_MAX_STRLEN];               /* name of linetype */
  char   text[512];              /* "picture" of linetype */
  char   alignflag;              /* linetype alignment flag */
  char   flag;                   /* linetype flag */
  short  numlinetypesegs;        /* number of valid entries in segdata array */
                                 /* replaces "numlinetypevals */
  double patternlength;          /* length of linetype pattern */
  struct adltpsegstru segdata[15];
  AD_OBJHANDLE objhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  char   ltypetextstr[256];
  AD_VMADDR xdblob;
  long numreactors;
  AD_VMADDR reactorblob;
  AD_OBJHANDLE xrefblkhobjhandle;  /* if brought in from an xref, block header
                                      for the xref, else all 0 */
  AD_DB_HANDLE dbhandle;
} AD_LTYPE,*PAD_LTYPE;

typedef struct admlstylestru {
  char  name[AD_MAX_STRLEN];
  unsigned short flag;
  char  desc[256];
  unsigned short fillcolor;
  double startang,endang;
  unsigned char linesinstyle;
  AD_VMADDR seginfoblob;
} AD_MLSTYLE,*PAD_MLSTYLE;

typedef struct admlstyleseginfostru {
  short segcolor;
  short ltindex;
  double offset;
} AD_MLSTYLESEGINFO,*PAD_MLSTYLESEGINFO;

typedef struct adshptbstru {
  AD_OBJHANDLE ownerobjhandle;
  char   bigfontname[256];       /* big font filename for text style */
  char   purgedflag;             /* flag indicating entry has been purged */
  short  xrefindex;              /* index of xref from which this item came */
  char   flag2;                  /* secondary shape flag */
  char   flag;                   /* shape flag */
  char   name[AD_MAX_STRLEN];    /* name of shape */
  char   file[256];              /* shape file name */
  double angle;                  /* oblique angle for shape entity */
  double height;                 /* shape height */
  double width;                  /* widthfactor of shape */
  double lastshapeheight;        /* last shape height */
  AD_OBJHANDLE objhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  AD_VMADDR xdblob;
  long numreactors;
  AD_VMADDR reactorblob;
  void  *vshfile,*vbfshfile;     /* internal use -- loaded shapefile data */
  AD_OBJHANDLE xrefblkhobjhandle;  /* if brought in from an xref, block header
                                      for the xref, else all 0 */
} AD_SHPTB,*PAD_SHPTB;

typedef struct aducsstru {
  AD_OBJHANDLE ownerobjhandle;
  char   purgedflag;           /* flag indicating entry has been purged */
  short  xrefindex;            /* index of xref from which this item came */
  char   flag;
  char   name[AD_MAX_STRLEN];
  double org[3];
  double xdir[3];
  double ydir[3];
  AD_OBJHANDLE objhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  AD_VMADDR xdblob;
  long numreactors;
  AD_VMADDR reactorblob;
  short orthoviewtype;
  short orthographictype;
  double elevation;
  AD_OBJHANDLE orthoviewrefobjhandle;
  AD_OBJHANDLE lasthandle;
  double orthovieworigin[3];
} AD_UCS,*PAD_UCS;

typedef struct adviewstru {
  AD_OBJHANDLE ownerobjhandle;
  char   purgedflag;
  short  xrefindex;            /* index of xref from which this item came */
  double backclip;
  double center[2];            /* view center */
  double dir[3];               /* view direction */
  char   flag;
  char   flag2;
  double frontclip;
  double ht;
  double lenslength;
  char   name[AD_MAX_STRLEN];
  double target[3];
  double twist;
  short  viewmode;
  double width;
  short  rendermode;
  short  isassociateducs;
  double ucsorg[3];
  double ucsxdir[3];
  double ucsydir[3];
  short  ucsorthoviewtype;
  double ucselevation;
  AD_OBJHANDLE ucsobjhandle;
  AD_OBJHANDLE baseucsobjhandle;

  AD_OBJHANDLE objhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  AD_VMADDR xdblob;
  long numreactors;
  AD_VMADDR reactorblob;
} AD_VIEW,*PAD_VIEW;

typedef struct advportstru {
  AD_OBJHANDLE ownerobjhandle;
  char   purgedflag;           /* flag indicating entry has been purged */
  short  xrefindex;            /* index of xref from which this item came */
  char   flag;
  char   name[AD_MAX_STRLEN];
  double ll[2];
  double ur[2];
  double snapbase[2];
  double snapdist[2];
  double griddist[2];
  double center[2];
  double viewdir[3];
  double target[3];
  double viewtwist;
  double viewheight;
  short  viewmode;
  short  zoomperc;
  short  fastzoom;
  short  ucsicon;
  double aspect;
  double backclip;
  double frontclip;
  short  gridmode;
  double lenslength;
  short  snapisopair;
  short  snapmode;
  double snaprot;
  short  snapstyle;
  short  rendermode;
  short  ucsvp;
  double ucsorg[3];
  double ucsxdir[3];
  double ucsydir[3];
  short  ucsorthoviewtype;
  double ucselevation;
  AD_OBJHANDLE ucsobjhandle;
  AD_OBJHANDLE baseucsobjhandle;
  AD_OBJHANDLE objhandle;
  AD_OBJHANDLE xdicobjhandle;    /* objh of xdictionary */
  AD_VMADDR xdblob;
  long numreactors;
  AD_VMADDR reactorblob;
} AD_VPORT,*PAD_VPORT;

/* PROXOBJSTUFF */
typedef struct addictionaryvarobjstru {
  short intval;
  char str[256];
} AD_DICTIONARYVAR,*PAD_DICTIONARYVAR;

typedef struct addictionarywdfltobjstru {
  long numitems;
  short cloningflag;
  AD_VMADDR itemblob;
  AD_OBJHANDLE defaultobjectobjhandle;
} AD_DICTIONARYWDFLT,*PAD_DICTIONARYWDFLT;

typedef struct adplaceholderobjstru {
  short unused;
} AD_PLACEHOLDER,*PAD_PLACEHOLDER;

typedef struct advbaprojectobjstru {
  long datalength;
  AD_VMADDR datablob;
} AD_VBAPROJECT, *PAD_VBAPROJECT;

typedef struct adidbufferobjstru {
  long numobjids;
  AD_VMADDR objidblob;
} AD_IDBUFFER,*PAD_IDBUFFER;

typedef struct adimagedefobjstru {
  long classversion;  /* was dxf90 0==R14*/
  char filepath[512];
  double size[2];
  double pixelsize[2];  /* was dxf11 */
  short imageisloaded;  /* 0==unloaded, 1==loaded  was dxf280*/
  short resunits;  /* was dxf281 0==none, 2==cm, 5==in */
} AD_IMAGEDEF,*PAD_IMAGEDEF;

typedef struct adimagedefreactorobjstru {
  long classversion; /* 2==R14 version, was dxf90 */
  AD_VMADDR reactorblob;
} AD_IMAGEDEFREACTOR,*PAD_IMAGEDEFREACTOR;

typedef struct adlayerindexstru {
  long numentries;
  long timestamp1,timestamp2;
  AD_VMADDR datablob;
  AD_VMADDR handleblob;
} AD_LAYERINDEX, *PAD_LAYERINDEX;

typedef struct adplotsettingsobjstru {
  char pagesetupname[AD_MAX_STRLEN];
  char printerorconfigfilename[AD_MAX_STRLEN];
  char papersize[AD_MAX_STRLEN];
  char plotviewname[AD_MAX_STRLEN];
  double leftmargin;
  double bottommargin;
  double rightmargin;
  double topmargin;
  double paperwidth;
  double paperheight;
  double origin[2];
  double windowmin[2];
  double windowmax[2];
  double realworldunits;
  double drawingunits;
  short  plotlayoutflag;
  short  plotpaperunits;
  short plotrotation;
  short plottype;
  char currentstylesheet[AD_MAX_STRLEN];
  short scaletype;
  double scalefactor;
  double paperimageorigin[2];
} AD_PLOTSETTINGS, *PAD_PLOTSETTINGS;

typedef struct adlayoutobjstru {
  char name[AD_MAX_STRLEN];
  short flag;
  short taborder;
  AD_PLOTSETTINGS plotsettings;
  double limmin[2];
  double limmax[2];
  double inspt[3];
  double extmin[3];
  double extmax[3];
  double elev;
  double ucsorg[3];
  double ucsxdir[3];
  double ucsydir[3];
  short  ucsorthoviewtype;
  AD_OBJHANDLE pspaceblockrec;
  AD_OBJHANDLE lastactivevport;
  AD_OBJHANDLE ucsobjhandle;
  AD_OBJHANDLE baseucsobjhandle;
} AD_LAYOUT,*PAD_LAYOUT;

typedef struct adobjectptrstru {
  AD_VMADDR datablob;
  long databits;
} AD_OBJECTPTR, *PAD_OBJECTPTR;

typedef struct adproxyobjstru {
  long databits;
  long numobjids;
  AD_VMADDR datablob;
  AD_VMADDR objidblob;
  long objectdrawingformat;
  short origdataformat;
  long classID;
} AD_PROXYOBJ,*PAD_PROXYOBJ;

typedef struct adrastervariablesobjstru {
  long classversion; /* 0==R14 version, was dxf90 */
  short displayframe;  /* was dxf70 */
  short displayquality;  /* was dxf71 */
  short units;  /* was dxf72 */
} AD_RASTERVARIABLES,*PAD_RASTERVARIABLES;

typedef struct adwipeoutvariablesobjstru {
  short dxf70;
} AD_WIPEOUTVARIABLES,*PAD_WIPEOUTVARIABLES;

typedef struct adsortentstablestru {
  AD_OBJHANDLE owner;
  long numentries;
  AD_VMADDR sorthandleblob,handleblob;
} AD_SORTENTSTABLE, *PAD_SORTENTSTABLE;

typedef struct adspatialindexstru {
  long timestamp1,timestamp2;
  AD_VMADDR datablob;
  long databits;
} AD_SPATIALINDEX, *PAD_SPATIALINDEX;

typedef struct adspatialfilterobjstru {
  unsigned short numpts;
  AD_VMADDR ptblob;
  double extrusion[3];
  double clipboundorigin[3]; /* was dxf11 */
  short displayboundary /* was dxf71 */,frontclipon,backclipon;
  double frontclip,backclip;
  double inverseblocktransmat[4][3],clipboundtransmat[4][3]; /* was dxf40blob */
} AD_SPATIALFILTER, *PAD_SPATIALFILTER;

typedef struct adxrecordobjstru {
  long databits;
  AD_VMADDR datablob;
  short cloningflag;
} AD_XRECORD,*PAD_XRECORD;

typedef struct adttfstrokedatastru
{
  double advance;
  AD_VMADDR *blobs;
  unsigned short numBoundaries;
  unsigned short *counts;
  int strokeFlags;
} AD_TTF_STROKE_DATA, *PAD_TTF_STROKE_DATA;

typedef struct ttfdatastru
{
  char filename[AD_MAX_STRLEN];
  char facename[AD_MAX_STRLEN];
  int  ttFlags;
} AD_TTF_DATA, *PAD_TTF_DATA;

#endif

/* table structures */

#ifndef ADTBSTRUDEFINED
#define ADTBSTRUDEFINED
typedef union adtbunion {
  AD_APP      app;
  AD_BLKH     blkh;
  AD_DIMSTYLE dimst;
  AD_LAY      lay;
  AD_LTYPE    ltype;
  AD_SHPTB    shptb;
  AD_UCS      ucs;
  AD_VIEW     view;
  AD_VPORT    vport;
} AD_TB,*PAD_TB;

typedef struct adobjhdrstru {
  AD_OBJHANDLE  objhandle;
  unsigned short objtype;
  AD_VMADDR     xdblob;
  AD_VMADDR     reactorblob;
  long          numreactors;
  AD_OBJHANDLE  ownerobjhandle;
} AD_OBJ_HDR, *PAD_OBJ_HDR;

typedef union adobjunion {
  AD_DIC        dic;
  AD_DICTIONARYVAR  dictionaryvar;
  AD_GRP        grp;
  AD_IDBUFFER   idbuffer;
  AD_IMAGEDEF   imagedef;
  AD_IMAGEDEFREACTOR imagedefreactor;
  AD_MLSTYLE    mlstyle;
  AD_PROXYOBJ   proxyobj;
  AD_RASTERVARIABLES rastervariables;
  AD_SORTENTSTABLE sortentstable;
  AD_SPATIALFILTER   spatialfilter;
  AD_XRECORD    xrecord;
  AD_OBJECTPTR  objectptr;
  AD_LAYERINDEX layerindex;
  AD_SPATIALINDEX spatialindex;
  AD_PLOTSETTINGS plotsettings;
  AD_DICTIONARYWDFLT dictionarywdflt;
  AD_PLACEHOLDER placeholder;
  AD_LAYOUT layout;
  AD_VBAPROJECT vbaproject;
  AD_WIPEOUTVARIABLES wipeoutvariables;
} AD_OBJ,*PAD_OBJ;
#endif
  /* end of table values */


#define AD_COLOR_BYBLOCK  0
#define AD_COLOR_BYLAYER  256
#define AD_LTP_BYLAYER 32767
#define AD_LTP_BYBLOCK 32766

/* [ingr 94] */
#define AD_WEIGHT_DEFAULT 0xFFFD 
#define AD_WEIGHT_BYBLOCK 0xFFFE
#define AD_WEIGHT_BYLAYER 0xFFFF

#define AD_UNKNOWNSHAPENO 255

/* c++ goes nuts if you don't have the prototypes in place */
#ifdef __cplusplus
#ifndef AD_PROTOTYPES
#define AD_PROTOTYPES
#endif
#endif

#ifdef AD_PROTOTYPES
#define _(a) a
#else

⌨️ 快捷键说明

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