//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : 全局结构体,定义 头文件 // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: 全局结构体,定义 头文件 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _ADSXRX_H_ #define _ADSXRX_H_ #ifndef _XADSOSTREAM_H_ #include "XAdsOStream.h" #endif #include "accmd.h" #include static const signed char sizeOfType[]={ 0, //RTNONE 5000 /* No result */ sizeof(ads_real), //RTREAL 5001 /* Real number */ sizeof(ads_point), //RTPOINT 5002 /* 2D point X and Y only */ sizeof(short ), //RTSHORT 5003 /* Short integer */ sizeof(ads_real), //RTANG 5004 /* Angle */ sizeof(TCHAR *), //RTSTR 5005 /* String */ !!Bugs may occure sizeof(ads_name), //RTENAME 5006 /* Entity name */ sizeof(ads_name), //RTPICKS 5007 /* Pick set */ sizeof(ads_real), //RTORINT 5008 /* Orientation */ sizeof(ads_point), //RT3DPOINT 5009 /* 3D point - X, Y, and Z, Mod by Z*/ sizeof(long), //RTLONG 5010 /* Long integer */ 0, //RTSTRUCT 5011 // Bug may exist }; enum FormatType { WS_CHAR, WS_INT, WS_DOUBLE, WS_STRING, WS_FORMAT }; enum CurveType { CURVE_LINE, CURVE_ARC, CURVE_CIRCLE }; enum ShapeType { SHAPE_UNKNOWN, SHAPE_CIRCLE, SHAPE_RECTANGLE, SHAPE_POLY }; //线段类型 enum BLType { BLINESEG, //直线段 BARCSEG //圆弧段 }; //extern "C" //{ // extern HINSTANCE _hdllInstance; //} namespace XGeLib { extern GEOAPI BOOL g_bSaveProxyGraph; //默认不存储Proxy的图像 extern GEOAPI BOOL g_bLayoutRotate; //布图旋转 extern AcDbObjectId g_idViewportLayer; extern GEOAPI BOOL g_bSnapCurveBase;//是否捕捉曲线对象的基线 // 在位编辑支持 extern GEOAPI BOOL g_bExplodeSubText; extern GEOAPI double g_nCirDeviation; extern GEOAPI BOOL g_bExplodeMesh; extern GEOAPI const ads_point org_point; extern GEOAPI BOOL g_bWblockMaterial; extern GEOAPI BOOL g_bMonitorDbAction; extern GEOAPI BOOL g_bFindExtSpace; extern GEOAPI double g_nAcadVer; extern GEOAPI BOOL g_bFastCalMode; extern GEOAPI BOOL g_bEchoSearch; extern GEOAPI int g_iPackMode; extern GEOAPI double g_nExtWidth; extern GEOAPI double g_nIntWidth; extern GEOAPI double g_nIntWallWidth; extern GEOAPI BOOL g_bSubEntity;//子对象处理状态 extern GEOAPI BOOL g_bStetchEntity;//是否正在拉伸 extern GEOAPI BOOL g_bSnapCurveBas;//是否捕捉曲线对象的基线 extern GEOAPI int (*g_ptrCodePageConvert)(const TCHAR *); extern BOOL g_bPrinting; extern double g_globleSnap; extern TCHAR g_cKeyword; extern ads_matrix ads_identmat; extern GEOAPI BOOL g_bQuickCalWallExtent; extern GEOAPI bool g_bIsWBlock; extern GEOAPI const TCHAR *LZW_EXT; extern GEOAPI const TCHAR *JPG_EXT; extern GEOAPI const TCHAR *BMB_TITLE; extern GEOAPI const TCHAR *JPB_TITLE; extern unsigned _stklen; extern GEOAPI ads_real _distSnap, _angSnap,_DIST_SNAP; extern GEOAPI double g_fZero; extern GEOAPI double g_distZero; extern GEOAPI double g_angleZero; extern GEOAPI XAdsOStream adsout; extern GEOAPI const TCHAR *DWB_TITLE; extern GEOAPI const TCHAR *SLD_EXT; extern GEOAPI const TCHAR *SLB_TITLE; // 所有自定义实体的基类 extern GEOAPI BOOL g_bOsnapExpl; extern GEOAPI BOOL g_bGetExtents; extern GEOAPI AcDbDatabase* g_pCurrentDb; extern GEOAPI BOOL g_bDynInput; extern GEOAPI int g_iMaxDynDimNum;//最多动态数量 extern GEOAPI int g_nSaveTArchVer; // 保存控制 extern GEOAPI BOOL g_bCtrlToggle; extern GEOAPI BOOL g_bCtrlToggle1[]; extern GEOAPI TCHAR g_sDwbPath[]; extern GEOAPI TCHAR g_sAppPath[]; extern GEOAPI BOOL g_bSlabThickPolyline; //把含厚度的闭合多段线视为平板 extern GEOAPI BOOL g_bEnableAcis; // 用于加密的变量 extern GEOAPI int g_nProtectCode; extern GEOAPI BOOL g_bMakeBlock; extern int g_nMaxCirDivNum; extern GEOAPI BOOL g_bUpdateMViewBlock; } using namespace XGeLib; typedef ads_real ads_vector[3]; typedef struct resbuf rbtype; typedef ads_real (* MatrixPointer)[4]; typedef struct Binary { short length; char *buffer; }*STBINARY,*PSTBINARY; struct extern_fun { const TCHAR *cmdname; int (*cmdfunc)(); }; struct ArxCommandTable { const TCHAR *szCmdGlobal; AcRxFunctionPtr pFun; int nCmdFlag; }; struct plan_para { double A, B, C, D; }; struct INI_struct { TCHAR *desc_handle; TCHAR *desc_value; struct INI_struct *next; }; struct r_g_b { ads_real red, blue, green; }; struct Catalogue { //幻灯库的目录结构 char itemName[32]; long addr; public: Catalogue() { for (int i = 0; i< 32; i++) { itemName[i] = 0; } addr = 0; } }; typedef struct { short l; short r; unsigned char k; } PACKTREE; //internal use in pack() typedef struct { short p; unsigned char k; } UNPACKTREE; //internal use in unpack() struct STDate { int da_year; /* current year */ TCHAR da_day; /* day of the month */ TCHAR da_mon; /* month (1 = Jan) */ }; #endif