重构: AecXData 类型标签改用枚举 AecXData::EType
- 在 AecXData 内新增 enum EType,取值直接采用 wtypes.h 的 VARENUM(VT_*), 与原实现逐位一致(nVt 会序列化进 DWG/DXF/XData,数值必须保持不变)。 - 各模块共 303 处 nVt 判断由裸 VT_* 改为 AecXData::kTypeXxx,涉及 18 个文件; 仅调试打印用的字符串字面量保持原样。 - AecDbObjXDataMap.h 增加 #include <wtypes.h>(EType 引用 VT_*)。
This commit is contained in:
1 parent
9d9077a03e
commit
0467086e65
18 files changed
+602
-723
No files matched your search
@@ -937,12 +937,12 @@ BOOL AecDbAssembleWell::CalValue(const CString &sExp,double& dRes) const
|
||||
break;
|
||||
|
||||
//替换
|
||||
if (cVal.nVt == VT_I4)
|
||||
if (cVal.nVt == AecXData::kTypeInt)
|
||||
{
|
||||
cal.SetVariableData(sKey, 1.0 * cVal.nVal);
|
||||
}
|
||||
|
||||
if (cVal.nVt == VT_R8)
|
||||
if (cVal.nVt == AecXData::kTypeDouble)
|
||||
{
|
||||
cal.SetVariableData(sKey, cVal.dVal[0]);
|
||||
}
|
||||
|
||||
@@ -1756,7 +1756,7 @@ Acad::ErrorStatus AecDbEwPipe::TransformHole(const AcGeMatrix3d& xform)
|
||||
for (; it != end;)
|
||||
{
|
||||
if (!m_mapSpecXData.GetNext(it, sKey, cVal)) break;
|
||||
if (sKey.Find(_T("$H")) != -1 && cVal.nVt == VT_BSTR)//可能的实体句柄
|
||||
if (sKey.Find(_T("$H")) != -1 && cVal.nVt == AecXData::kTypeString)//可能的实体句柄
|
||||
{
|
||||
AcDbHandle handle(cVal.pszVal);
|
||||
|
||||
|
||||
@@ -1661,7 +1661,7 @@ void AecDbEwPipeBase::GetAssocHandleObjs(AcDbObjectIdArray& arIds)
|
||||
for (; it != end;)
|
||||
{
|
||||
if (!m_mapSpecXData.GetNext(it, sKey,cVal)) break;
|
||||
if ( sKey.Find(_T("$H")) != -1 && cVal.nVt == VT_BSTR )//可能的实体句柄
|
||||
if ( sKey.Find(_T("$H")) != -1 && cVal.nVt == AecXData::kTypeString )//可能的实体句柄
|
||||
{
|
||||
AcDbHandle handle(cVal.pszVal);
|
||||
|
||||
@@ -1826,7 +1826,7 @@ Acad::ErrorStatus AecDbEwPipeBase::subTransformBy(const AcGeMatrix3d& xform)
|
||||
for (; it != end;)
|
||||
{
|
||||
if (!m_mapSpecXData.GetNext(it, sKey, cVal)) break;
|
||||
if (sKey.Find(_T("$H")) != -1 && cVal.nVt == VT_BSTR)//可能的实体句柄
|
||||
if (sKey.Find(_T("$H")) != -1 && cVal.nVt == AecXData::kTypeString)//可能的实体句柄
|
||||
{
|
||||
AcDbHandle handle(cVal.pszVal);
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ void HlrCutOption::ProcessHlrResult(const AcDbEntity *pE
|
||||
std::vector<CString> strs;
|
||||
for (AecDbObjXDataMap::It it = testData.Begin(); it != testData.End(); ++it)
|
||||
{
|
||||
if (it->second.nVt == (VT_BYREF | VT_R8 + 5))
|
||||
if (it->second.nVt == AecXData::kTypeBinary)
|
||||
strs.push_back(it->first);
|
||||
}
|
||||
for (size_t i(0); i < strs.size(); ++i)
|
||||
|
||||
@@ -875,12 +875,12 @@ BOOL AecDbPipeHanger::CLC(CString &sTxt)
|
||||
for (; it != end; )
|
||||
{
|
||||
m_mapSpecXData.GetNext(it, sKey, xData);
|
||||
if (xData.nVt == VT_UI4 ||
|
||||
xData.nVt == VT_I4)
|
||||
if (xData.nVt == AecXData::kTypeSoftId ||
|
||||
xData.nVt == AecXData::kTypeInt)
|
||||
{
|
||||
cal.SetVariableData(sKey, 1.0 * xData.nVal);
|
||||
}
|
||||
else if (xData.nVt == VT_R8)
|
||||
else if (xData.nVt == AecXData::kTypeDouble)
|
||||
{
|
||||
cal.SetVariableData(sKey, xData.dVal[0]);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user