//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : 全局结构体,定义 头文件 // = Version : ver2.0 // = Author : lfy // = CreateDate : 2002-09-09 // = Description: 全局结构体,定义 头文件 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _TCHGELIB_H_ #define _TCHGELIB_H_ #ifndef _TADSPRINTF_H_ #include "TADSPrintf.h" #endif #include "accmd.h" #include //class TArchAppDocGlobals; 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 TchGeLib { extern GEOAPI BOOL g_bSaveProxyGraph; //默认不存储Proxy的图像 extern GEOAPI BOOL g_bLayoutRotate; //布图旋转 // extern TArchAppDocGlobals *g_pTArchAppDocGlobals; extern AcDbObjectId g_idViewportLayer; // 0--非法使用; 1--硬锁; 2--正式网卡号; 3--正式硬盘分区系列号; 4--特权码(不用了) // 5--在初始时间内使用; 6--试用网卡号; 7--试用硬盘分区系列号; 8--网络网卡号(网络版);9--高教版 extern GEOAPI int g_nProtectCode1;//始终与g_nProtectCode1相等,For 6.5 extern GEOAPI double g_nUseHours; //非法使用的小时 extern GEOAPI int g_nArchType; // 1--零售版; 2-- ; 3--插件; 4--学习版 // extern GEOAPI int g_nLicenseMode;//0:试用版;1单机版;2网络版;3高教网络版 extern GEOAPI BOOL g_szArxContext;//tch_initstart.arx是否与tchinit.bin一致,加密 extern GEOAPI BOOL g_bValidLicense1; extern GEOAPI BOOL g_bValidLicense2; extern GEOAPI BOOL g_bValidLicense3; extern GEOAPI BOOL g_bValidLicense4; extern GEOAPI BOOL g_bValidLicense5; extern GEOAPI BOOL g_bValidLicense6; extern GEOAPI BOOL g_bValidLicense7; extern GEOAPI BOOL g_bValidLicense8; extern GEOAPI BOOL g_bValidLicense9; extern GEOAPI BOOL g_bValidLicense10; extern GEOAPI BOOL g_bValidLicense11; extern GEOAPI BOOL g_bValidLicense12; extern GEOAPI BOOL g_bValidLicense13; extern GEOAPI BOOL g_bValidLicense14; extern GEOAPI BOOL g_bValidLicense15; extern GEOAPI BOOL g_bValidLicense16; extern GEOAPI BOOL g_bValidLicense17; extern GEOAPI BOOL g_bValidLicense18; extern GEOAPI BOOL g_bValidLicense19; extern GEOAPI BOOL g_bValidLicense20; 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 TADSPrintf 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; // 保存控制,TArch3,TArch5,TArch6,TArch7,TArch8,TArch9 extern GEOAPI BOOL g_bCtrlToggle; extern GEOAPI BOOL g_bCtrlToggle1[]; // 数组中,下一个可以使用的元素为11 extern GEOAPI TCHAR g_sDwbPath[]; extern GEOAPI TCHAR g_sAppPath[]; extern GEOAPI BOOL g_bSlabThickPolyline; //TArch6.5-日照,把含厚度的闭合多段线视为平板 extern GEOAPI BOOL g_bEnableAcis; // 用于加密的变量 extern GEOAPI int g_nProtectCode; extern GEOAPI BOOL g_bMakeBlock; extern int g_nMaxCirDivNum; extern GEOAPI BOOL g_bUpdateMViewBlock; //add by xlc on 120424 控制墙内线图案填充裁剪特殊处理 extern GEOAPI BOOL g_bWallLinepatClip; } using namespace TchGeLib; typedef ads_real ads_vector[3]; typedef struct resbuf rbtype; typedef ads_real (* MatrixPointer)[4]; typedef struct STBinary { short length; char *buffer; }*STBINARY,*PSTBINARY; struct STExtern_fun { const TCHAR *cmdname; int (*cmdfunc)(); }; struct STArxCommandTable { const TCHAR *szCmdGlobal; AcRxFunctionPtr pFun; int nCmdFlag; }; struct STPlanePara { double A, B, C, D; }; struct STIniStruct { TCHAR *desc_handle; TCHAR *desc_value; struct STIniStruct *next; }; struct STColorRGB { ads_real red, blue, green; }; struct STCatalogue { //幻灯库的目录结构 char itemName[32]; long addr; public: STCatalogue() { for (int i = 0; i< 32; i++) { itemName[i] = 0; } addr = 0; } }; typedef struct { short l; short r; unsigned char k; } STPACKTREE; //internal use in PackFile() typedef struct { short p; unsigned char k; } STUNPACKTREE; //internal use in UnPackFile() struct STDate { int da_year; /* current year */ TCHAR da_day; /* day of the month */ TCHAR da_mon; /* month (1 = Jan) */ }; #endif