Files
envi-code/SourceCode/Code2026/ThunderProof/ThunderXData.h
T
2026-09-28 15:28:50 +08:00

120 lines
3.9 KiB
C++

// = FileName: CThunderXData.h
// = Version: 1.0
// = Author:
// = Date: 2008/06/10
// = Description: 插入,查看扩展数据
// = Maintainers:
#ifndef __CTHUNDERXDATA_H__
#define __CTHUNDERXDATA_H__
#if _MSC_VER > 1000
#pragma once
#endif
class CThunderXData
{
public:
CThunderXData();
virtual ~CThunderXData();
public:
enum XDataStyle
{
//滚球法
eXDataPinNum = 0, //避雷针编号
eXDataPinHeight = 1, //避雷针高度
eXDataPinRadius = 2, //避雷针保护半径
eXDataPinIs2d = 3, //避雷针显示是否为2d
eXDataBlockScale = 4, //图块系数
eXDataTextHeight = 5, //字体高度
};
enum XFoldStyle
{
//折线法
eXFoldPinNum = 0, //避雷针编号
eXFoldPinHeight = 1, //避雷针高度
eXFoldBlockScale = 2, //图块系数
eXFoldTextHeight = 3, //字体高度
};
enum XDataProHeightIndex
{
eZero = 0,
eOne = 1,
eTwo = 2,
};
public:
// 设置基本数据
bool SetBaseInformationExData(const AcDbObjectId& idEnt, const CStringArray& arsXData, LPCTSTR pszAppName);
// 获取基本数据(使用ID)
bool GetBaseInformationExData(const AcDbObjectId& idEnt, CStringArray& arsXData, LPCTSTR pszAppName);
// 获取基本数据(使用实体指针)
bool GetBaseInformationExData(AcDbEntity* pEnt, CStringArray& arsXData, LPCTSTR pszAppName);
// 获取指定项(使用实体指针)
bool GetIndexOf(AcDbEntity* pEnt, CString& strDes, int iIndex, LPCTSTR pszAppName);
// 获取指定项(使用实体ID)
bool GetIndexOf(AcDbObjectId& entId, CString& strDes, int iIndex, LPCTSTR pszAppName);
// 从扩展数据中获取实体ID
bool GetEntityIdFromExData(const AcDbObjectId& idInput, AcDbObjectIdArray& arIdOutput, LPCTSTR pszAppName);
bool GetEntityIdFromExData(const AcDbObjectId& idInput, AcDbObjectId& idOutput, LPCTSTR pszAppName);
bool GetEntityIdFromExData(AcDbEntity* pEnt, AcDbObjectId& idOutput, LPCTSTR pszAppName);
bool GetEntityIdFromExData(AcDbEntity* pEnt, AcDbObjectIdArray& aridOutput, LPCTSTR pszAppName);
// 由实体ID获取句柄以字符串的形式写入到指定(圆)实体的扩展数据中
bool SetEntityIdToExData(const AcDbObjectIdArray& arIdData, const AcDbObjectId& idGoal, LPCTSTR pszAppName);
BOOL SetProtectHeightToObjEx(const AcDbObjectId& idThunder, const AcGeDoubleArray& arProHeight);
BOOL GetProtectHeightFromObjEx(const AcDbObjectId& idThunder, AcGeDoubleArray& arProHeight);
BOOL GetProtectHeightFromObjEx(AcDbEntity* pEnt, AcGeDoubleArray& arProHeight);
BOOL GetProtectHeightFromReg(AcGeDoubleArray& arProHeight, LPCTSTR pszKey = TEL_THUNDER_MULTIPROHT);
BOOL SetProtectHeightToReg(const AcGeDoubleArray& arProHeight, LPCTSTR pszKey = TEL_THUNDER_MULTIPROHT);
BOOL SplitValue(LPCTSTR pszSrc, LPCTSTR pszSplitCh, AcGeDoubleArray& arValue);
BOOL SplitString(CString& sSrc, LPCTSTR pszSplitCh, CString& sValue);
CString ConvertToCString(const AcGeDoubleArray& arValue, LPCTSTR pszSplitCh);
BOOL SetXData(const AcDbObjectId& id, LPCTSTR pszAppName, LPCTSTR pszXData);
BOOL SetXData(AcDbEntity* pEnt, LPCTSTR pszAppName, LPCTSTR pszXData);
BOOL GetXData(const AcDbObjectId& id, LPCTSTR pszAppName, CString& sXData);
BOOL GetXData(AcDbEntity* pEnt, LPCTSTR pszAppName, CString& sXData);
BOOL SetXData(const AcDbObjectId& idSrc,LPCTSTR pszAppName,const AcDbObjectId& oid);
BOOL SetXData(AcDbEntity* pEnt,LPCTSTR pszAppName,const AcDbObjectId& oid);
BOOL GetXData(const AcDbObjectId& idSrc,LPCTSTR pszAppName,AcDbObjectId& oid);
BOOL GetXData(AcDbEntity* pEnt,LPCTSTR pszAppName,AcDbObjectId& oid);
int GetGroupNO(Entity& ent);
int GetGroupNO(const AcDbObjectId& id);
int GetGroupNO(AcDbEntity* pEnt);
int GetFoldGroupNO(Entity& ent);
int GetFoldGroupNO(const AcDbObjectId& id);
int GetFoldGroupNO(AcDbEntity* pEnt);
BOOL GetFoldProHeightFromObjEx(const AcDbObjectId& idThunder, AcGeDoubleArray& arProHeight);
BOOL GetFoldProHeightFromObjEx(AcDbEntity* pEnt, AcGeDoubleArray& arProHeight);
BOOL SetFoldProHeightToObjEx(const AcDbObjectId& idThunder, const AcGeDoubleArray& arProHeight);
};
#endif // __CThunderXData_H__