chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
This commit is contained in:
1 parent
2b0c2055ff
commit
164968b62e
6171 files changed
+191244
-191243
No files matched your search
@@ -1,10 +1,10 @@
|
||||
//-----------------------------------------------------------------------------+
|
||||
//-----------------------------------------------------------------------------+
|
||||
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
||||
// = FileName : CPloyLine.cpp
|
||||
// = Version : ver2.0
|
||||
// = Author : zjq
|
||||
// = CreateDate : 2002-09-09
|
||||
// = Description: 类的定义
|
||||
// = Description: 类的定义
|
||||
// = Maintainers:
|
||||
//
|
||||
//-----------------------------------------------------------------------------+
|
||||
@@ -219,7 +219,7 @@ BOOL CPloyLine::InsertBLineInto(CBNode* pNode,CPloyLine* pBLine,BOOL LinkEdgeUnv
|
||||
}
|
||||
CBNode* pNodeHereNew = new CBNode(pNodeHere);
|
||||
pNodeHereNew->m_bVisible = bNextVisible;
|
||||
tempList.AddTail(pNodeHereNew);//多增加一个结点
|
||||
tempList.AddTail(pNodeHereNew);//多增加一个结点
|
||||
}
|
||||
}
|
||||
m_BNodeList.RemoveAll();
|
||||
@@ -369,7 +369,7 @@ void CPloyLine::MergeCoArc(double tol)
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{//末端点
|
||||
{//末端点
|
||||
delete pNode->m_pArc;
|
||||
pNode->m_pArc = NULL;
|
||||
}
|
||||
@@ -377,7 +377,7 @@ void CPloyLine::MergeCoArc(double tol)
|
||||
}
|
||||
pNodePrev = pNode;
|
||||
}
|
||||
if ((m_BNodeList.GetCount() > 2) && IsClosed())//去除首尾处多余的点。
|
||||
if ((m_BNodeList.GetCount() > 2) && IsClosed())//去除首尾处多余的点。
|
||||
{
|
||||
CBNode* pNode = m_BNodeList.GetHead();
|
||||
POSITION pos = m_BNodeList.GetTailPosition();
|
||||
@@ -452,7 +452,7 @@ void CPloyLine::MergeCoLine(double tol)
|
||||
}
|
||||
|
||||
if (pNodePrev == NULL && pNodeNext != NULL && m_bClosed)
|
||||
{//第一接点且封闭
|
||||
{//第一接点且封闭
|
||||
CBNode* pNodePrevPrev = NULL;
|
||||
POSITION pos1 = m_BNodeList.GetTailPosition();
|
||||
if (pos1 != NULL)
|
||||
@@ -613,7 +613,7 @@ CPloyLine& CPloyLine::Reverse()
|
||||
pNodePre = m_BNodeList.GetAt(pos);
|
||||
}
|
||||
if (pNodePre != NULL)
|
||||
{//不是第一点
|
||||
{//不是第一点
|
||||
pNode->m_s = totLength-pNode->m_s;
|
||||
|
||||
if (pNodePre->m_eType == BLINESEG)
|
||||
@@ -647,14 +647,14 @@ CPloyLine& CPloyLine::Reverse()
|
||||
}
|
||||
}
|
||||
else
|
||||
{//原来的第一点
|
||||
{//原来的第一点
|
||||
pNode->m_s = totLength;
|
||||
pNode->m_eType = BLINESEG;
|
||||
pNode->m_pArc = NULL;
|
||||
}
|
||||
tempList.AddTail(pNode);
|
||||
}
|
||||
//在链表中的位置反向
|
||||
//在链表中的位置反向
|
||||
m_BNodeList.RemoveAll();
|
||||
m_BNodeList.AddTail(&tempList);
|
||||
tempList.RemoveAll();
|
||||
@@ -722,7 +722,7 @@ int CPloyLine::IsWhere(CPloyLine* pBLine)
|
||||
{
|
||||
if (bInternal0 == 0 && bInternal == 1 || bInternal0 == 1 && bInternal == 0)
|
||||
{
|
||||
return 3;//相交
|
||||
return 3;//相交
|
||||
}
|
||||
bInternal0 = bInternal;
|
||||
if (bInternal0 == 1)
|
||||
@@ -736,11 +736,11 @@ int CPloyLine::IsWhere(CPloyLine* pBLine)
|
||||
}
|
||||
}
|
||||
if (HasOnePointOut)
|
||||
{//BLine在THIS外部
|
||||
{//BLine在THIS外部
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{//BLine在THIS内部
|
||||
{//BLine在THIS内部
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -765,13 +765,13 @@ BOOL CPloyLine::Create(const XPolygonEx& polySrc)
|
||||
}
|
||||
CBNode* pNode = new CBNode(BLINESEG,SLength,pt1);
|
||||
|
||||
//zjq临时注释,3d炸碎崩
|
||||
//zjq临时注释,3d炸碎崩
|
||||
pNode->m_bVisible = *(poly.GetVisibleFlag()[i]);
|
||||
m_BNodeList.AddTail(pNode);
|
||||
pNodePrevious = pNode;
|
||||
}
|
||||
|
||||
//封闭最后一点和第一点
|
||||
//封闭最后一点和第一点
|
||||
pt1 = (*poly[0]).AsAcGePoint3d();
|
||||
SLength += pNodePrevious->m_pt.distanceTo(pt1);
|
||||
|
||||
@@ -787,7 +787,7 @@ BOOL CPloyLine::Create(const XPolygonEx& polySrc)
|
||||
|
||||
BOOL CPloyLine::Create(const XPoly2D& poly)
|
||||
{
|
||||
//方法2:直接转换(高效率),缺点是不考虑poly的弧度
|
||||
//方法2:直接转换(高效率),缺点是不考虑poly的弧度
|
||||
int nCount = poly.Length();
|
||||
if (nCount < 2)
|
||||
{
|
||||
@@ -809,7 +809,7 @@ BOOL CPloyLine::Create(const XPoly2D& poly)
|
||||
pNodePrevious = pNode;
|
||||
}
|
||||
|
||||
//封闭最后一点和第一点
|
||||
//封闭最后一点和第一点
|
||||
if(poly.IsClosed())
|
||||
{
|
||||
AcGePoint3d pt1 = poly[0];
|
||||
@@ -823,7 +823,7 @@ BOOL CPloyLine::Create(const XPoly2D& poly)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//新增函数,支持LINE,PLINE,CIRCLE,TRACE
|
||||
//新增函数,支持LINE,PLINE,CIRCLE,TRACE
|
||||
BOOL CPloyLine::Create(const AcDbEntity* pEntity)
|
||||
{
|
||||
if (pEntity == NULL)
|
||||
@@ -857,7 +857,7 @@ BOOL CPloyLine::Create(const AcDbEntity* pEntity)
|
||||
AcGePoint3d cent = pArc->center();
|
||||
double startAng = pArc->startAngle();
|
||||
double endAng = pArc->endAngle();
|
||||
//圆心角
|
||||
//圆心角
|
||||
double EntcAng;
|
||||
if (endAng >= startAng)
|
||||
{
|
||||
@@ -891,9 +891,9 @@ BOOL CPloyLine::Create(const AcDbEntity* pEntity)
|
||||
AcDbCircle *pCircle = AcDbCircle::cast(pEntity);
|
||||
if (pCircle != NULL)
|
||||
{
|
||||
//当是圆时,需要指定UCS起始角。
|
||||
//当是圆时,需要指定UCS起始角。
|
||||
AcGePoint3d cent = pCircle->center();
|
||||
//圆心角
|
||||
//圆心角
|
||||
double EntcAng = 2 * PI;
|
||||
m_bClosed = 1;
|
||||
CBArc* pBLArc = new CBArc(cent,pCircle->radius(),startUCSAng,EntcAng);
|
||||
@@ -1153,14 +1153,14 @@ BOOL CPloyLine::Create(const AcDbEntity* pEntity)
|
||||
FirstPt = pVertex->position();
|
||||
}
|
||||
|
||||
double Bulge = pVertex->bulge();//凸度
|
||||
double Bulge = pVertex->bulge();//凸度
|
||||
AcGePoint3d pt1,pt2;
|
||||
|
||||
pt1 = pVertex->position();//ECS
|
||||
pVertex->close();
|
||||
pVertIter->step();
|
||||
if (!pVertIter->done())
|
||||
{//不是最后一点
|
||||
{//不是最后一点
|
||||
AcDbObjectId vertxId2 = pVertIter->objectId();
|
||||
AcDb2dVertex *pVertex2 = NULL;
|
||||
if (acdbOpenObject(pVertex2, vertxId2,AcDb::kForRead) != Acad::eOk)
|
||||
@@ -1387,8 +1387,8 @@ BOOL CPloyLine::Create(AcDbObjectId& objId)
|
||||
CString strLineType = pEntity->isA()->dxfName();
|
||||
int isParal = IsZParalECSAndUcs(objId);
|
||||
if (!isParal && strLineType != _T("LINE"))
|
||||
{//判断实体坐标系与用户坐标系的Z轴是否平行
|
||||
AfxMessageBox(_T("ECS与UCS的Z轴不平行!"));
|
||||
{//判断实体坐标系与用户坐标系的Z轴是否平行
|
||||
AfxMessageBox(_T("ECS与UCS的Z轴不平行!"));
|
||||
pEntity->close();
|
||||
return 0;
|
||||
}
|
||||
@@ -1413,7 +1413,7 @@ BOOL CPloyLine::Create(AcDbObjectId& objId)
|
||||
AcGePoint3d cent = pArc->center();
|
||||
double startAng = pArc->startAngle();
|
||||
double endAng = pArc->endAngle();
|
||||
double EntcAng; //圆心角
|
||||
double EntcAng; //圆心角
|
||||
if (endAng >= startAng)
|
||||
{
|
||||
EntcAng = endAng - startAng;
|
||||
@@ -1424,10 +1424,10 @@ BOOL CPloyLine::Create(AcDbObjectId& objId)
|
||||
}
|
||||
if (isParal == 2)
|
||||
{
|
||||
EntcAng = -EntcAng;//反向
|
||||
EntcAng = -EntcAng;//反向
|
||||
}
|
||||
double radius = pArc->radius();
|
||||
WCS2ECS(cent,objId);//先从WCS到ECS
|
||||
WCS2ECS(cent,objId);//先从WCS到ECS
|
||||
CBArc* pArcTemp = new CBArc(cent,radius,startAng,EntcAng);//ECS
|
||||
AcGePoint3d ptStart = pArcTemp->GetStartPoint();//ECS
|
||||
AcGePoint3d ptEnd = pArcTemp->GetEndPoint();//ECS
|
||||
@@ -1449,11 +1449,11 @@ BOOL CPloyLine::Create(AcDbObjectId& objId)
|
||||
m_BNodeList.AddTail(pNode);
|
||||
}
|
||||
else if (strLineType == _T("CIRCLE"))
|
||||
{//当是圆时,需要指定UCS起始角。
|
||||
{//当是圆时,需要指定UCS起始角。
|
||||
AcDbCircle* pCircle = (AcDbCircle*)(pEntity);
|
||||
AcGePoint3d cent = pCircle->center();
|
||||
WCS2UCS(cent);
|
||||
double EntcAng = 2 * PI;//圆心角
|
||||
double EntcAng = 2 * PI;//圆心角
|
||||
m_bClosed = 1;
|
||||
CBArc* pBLArc = new CBArc(cent,pCircle->radius(),startUCSAng,EntcAng);
|
||||
CBNode* pNode = new CBNode(BARCSEG,0.0,pBLArc->GetStartPoint(),pBLArc);
|
||||
@@ -1723,15 +1723,15 @@ BOOL CPloyLine::Create(AcDbObjectId& objId)
|
||||
}
|
||||
if (vertexNumber == 0) FirstPt = pVertex->position();
|
||||
|
||||
double Bulge = pVertex->bulge();//凸度
|
||||
if (isParal == 2) Bulge = -Bulge;//UCS与ECS的Z轴反向平行
|
||||
double Bulge = pVertex->bulge();//凸度
|
||||
if (isParal == 2) Bulge = -Bulge;//UCS与ECS的Z轴反向平行
|
||||
AcGePoint3d pt1,pt2;
|
||||
|
||||
pt1 = pVertex->position();//ECS
|
||||
pVertex->close();
|
||||
pVertIter->step();
|
||||
if (!pVertIter->done())
|
||||
{//不是最后一点
|
||||
{//不是最后一点
|
||||
AcDbObjectId vertxId2 = pVertIter->objectId();
|
||||
AcDb2dVertex *pVertex2 = NULL;
|
||||
if (acdbOpenObject(pVertex2, vertxId2,AcDb::kForRead) != Acad::eOk)
|
||||
@@ -1986,9 +1986,9 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
|
||||
if (((len - s) >= TOL) && pNodePre != NULL)
|
||||
{
|
||||
//等分点处于两拐点之间
|
||||
//pNodePre == NULL则len一定为0
|
||||
//从结点pNodePre处的相对S坐标
|
||||
//等分点处于两拐点之间
|
||||
//pNodePre == NULL则len一定为0
|
||||
//从结点pNodePre处的相对S坐标
|
||||
double relatedS = s - pNodePre->m_s;
|
||||
if (pNodePre->m_eType == BLINESEG)
|
||||
{
|
||||
@@ -2005,7 +2005,7 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
pDivNode->m_pt = pNodePre->m_pArc->GetPtAtS(relatedS);
|
||||
double ang = AngleToX(pNodePre->m_pArc->m_centPt,pDivNode->m_pt);
|
||||
if (pNodePre->m_pArc->m_centAngle<0)
|
||||
{//顺时针
|
||||
{//顺时针
|
||||
pDivNode->m_angTng = ang - PI / 2.;
|
||||
while (pDivNode->m_angTng < 0)
|
||||
{
|
||||
@@ -2034,14 +2034,14 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
}
|
||||
else if (fabs(s - len) < TOL)
|
||||
{
|
||||
//等分点处于基线拐点上
|
||||
//等分点处于基线拐点上
|
||||
CBNode* pNodeNext = NULL;
|
||||
if (pos != NULL)
|
||||
{
|
||||
pNodeNext = m_BNodeList.GetNext(pos);
|
||||
}
|
||||
if (pNodePre == NULL)
|
||||
{//处于第一点
|
||||
{//处于第一点
|
||||
if (pNode->m_eType == BLINESEG)
|
||||
{
|
||||
if (pNodeNext == NULL)
|
||||
@@ -2058,7 +2058,7 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
pDivNode->m_pt = pNode->m_pt;
|
||||
double ang = AngleToX(pNode->m_pArc->m_centPt,pDivNode->m_pt);
|
||||
if (pNode->m_pArc->m_centAngle < 0)
|
||||
{//顺时针
|
||||
{//顺时针
|
||||
pDivNode->m_angTng = ang - PI / 2.;
|
||||
while (pDivNode->m_angTng < 0)
|
||||
{
|
||||
@@ -2086,7 +2086,7 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
return 1;
|
||||
}
|
||||
else if (pNodeNext == NULL)
|
||||
{//处于最后一个结点上pNodeFirst
|
||||
{//处于最后一个结点上pNodeFirst
|
||||
if (pNodePre == NULL)
|
||||
{
|
||||
return 0;
|
||||
@@ -2102,7 +2102,7 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
pDivNode->m_pt = pNode->m_pt;
|
||||
double ang = AngleToX(pNodePre->m_pArc->m_centPt,pDivNode->m_pt);
|
||||
if (pNodePre->m_pArc->m_centAngle < 0)
|
||||
{//顺时针
|
||||
{//顺时针
|
||||
pDivNode->m_angTng = ang - PI / 2.;
|
||||
while (pDivNode->m_angTng < 0)
|
||||
{
|
||||
@@ -2130,7 +2130,7 @@ BOOL CPloyLine::GetDNode(double s,CDNode* pDivNode)
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{//处于中间结点上
|
||||
{//处于中间结点上
|
||||
if (pNode->m_eType == BLINESEG)
|
||||
{
|
||||
double angIn;
|
||||
@@ -2216,7 +2216,7 @@ double CPloyLine::GetActAngOfArcIn(CBNode* pNode)
|
||||
return 0.;
|
||||
}
|
||||
if (pNode->m_pArc->m_centAngle >= 0)
|
||||
{//逆时针
|
||||
{//逆时针
|
||||
double ang = pNode->m_pArc->m_startAngle + PI / 2.;
|
||||
while (ang >= 2*PI)
|
||||
{
|
||||
@@ -2242,7 +2242,7 @@ double CPloyLine::GetActAngOfArcOut(CBNode* pNode)
|
||||
return 0.;
|
||||
}
|
||||
if (pNode->m_pArc->m_centAngle >= 0)
|
||||
{//逆时针
|
||||
{//逆时针
|
||||
double ang = pNode->m_pArc->m_startAngle + PI/2. + pNode->m_pArc->m_centAngle;
|
||||
while (ang >= 2*PI)
|
||||
{
|
||||
@@ -2321,7 +2321,7 @@ void CPloyLine::LinearizePLine(int nSegs)
|
||||
}
|
||||
|
||||
void CPloyLine::DivideByAng(const double detaAng)
|
||||
{//按角度,只划分圆弧
|
||||
{//按角度,只划分圆弧
|
||||
if (IsEmpty())
|
||||
{
|
||||
return;
|
||||
@@ -2364,11 +2364,11 @@ void CPloyLine::DivideByAng(const double detaAng)
|
||||
CBNode* pNodeNext = NULL;
|
||||
if (posTemp != NULL)
|
||||
{
|
||||
pNodeNext = m_BNodeList.GetNext(posTemp);//得到下一结点但不增加pos
|
||||
pNodeNext = m_BNodeList.GetNext(posTemp);//得到下一结点但不增加pos
|
||||
}
|
||||
double s = pNode->m_s;//结点S坐标
|
||||
double s = pNode->m_s;//结点S坐标
|
||||
if (pNode->m_eType == BLINESEG)
|
||||
{//直线
|
||||
{//直线
|
||||
CDNode* pDieNode = new CDNode;
|
||||
if (GetDNode(s,pDieNode))
|
||||
{
|
||||
@@ -2377,21 +2377,21 @@ void CPloyLine::DivideByAng(const double detaAng)
|
||||
}
|
||||
}
|
||||
else
|
||||
{//圆弧
|
||||
{//圆弧
|
||||
if (pNodeNext != NULL)
|
||||
{//不是最后一点
|
||||
{//不是最后一点
|
||||
if (pNode->m_pArc != NULL)
|
||||
{
|
||||
double s0 = pNode->m_s;
|
||||
double len = pNodeNext->m_s - s0; //线段长度
|
||||
int nSeg = abs((int)(pNode->m_pArc->m_centAngle / detaAng + 0.5));//等分数
|
||||
double len = pNodeNext->m_s - s0; //线段长度
|
||||
int nSeg = abs((int)(pNode->m_pArc->m_centAngle / detaAng + 0.5));//等分数
|
||||
if (nSeg == 0)
|
||||
{
|
||||
nSeg = 1;
|
||||
}
|
||||
double detaS = len / nSeg;
|
||||
if (detaS > TOL)
|
||||
{//等分
|
||||
{//等分
|
||||
for (int i = 0; i < nSeg; i++)
|
||||
{
|
||||
CDNode* pDieNode = new CDNode;
|
||||
@@ -2405,7 +2405,7 @@ void CPloyLine::DivideByAng(const double detaAng)
|
||||
}
|
||||
}
|
||||
else
|
||||
{//最后一点
|
||||
{//最后一点
|
||||
CDNode* pDieNode = new CDNode;
|
||||
if (GetDNode(s,pDieNode))
|
||||
{
|
||||
@@ -2459,18 +2459,18 @@ void CPloyLine::DivideBySegs(const int nSegs,BOOL flag)
|
||||
CBNode* pNodeNext = NULL;
|
||||
if (posTemp != NULL)
|
||||
{
|
||||
pNodeNext = m_BNodeList.GetNext(posTemp);//得到下一结点但不增加pos
|
||||
pNodeNext = m_BNodeList.GetNext(posTemp);//得到下一结点但不增加pos
|
||||
}
|
||||
double s = pNode->m_s;//结点S坐标
|
||||
double s = pNode->m_s;//结点S坐标
|
||||
if (pNode->m_eType == BLINESEG)
|
||||
{
|
||||
if (flag && pNodeNext != NULL)
|
||||
{//不是最后一个结点
|
||||
{//不是最后一个结点
|
||||
double s0 = pNode->m_s;
|
||||
double len = pNodeNext->m_s - s0; //线段长度
|
||||
double len = pNodeNext->m_s - s0; //线段长度
|
||||
double detaS = len / nSegs;
|
||||
if (detaS > TOL)
|
||||
{//等分
|
||||
{//等分
|
||||
for (int i = 0; i < nSegs; i++)
|
||||
{
|
||||
CDNode* pDieNode = new CDNode;
|
||||
@@ -2483,7 +2483,7 @@ void CPloyLine::DivideBySegs(const int nSegs,BOOL flag)
|
||||
}
|
||||
}
|
||||
else
|
||||
{//不等分直线或pNodeNext == NULL(最后一点)
|
||||
{//不等分直线或pNodeNext == NULL(最后一点)
|
||||
CDNode* pDieNode = new CDNode;
|
||||
if (GetDNode(s,pDieNode))
|
||||
{
|
||||
@@ -2493,14 +2493,14 @@ void CPloyLine::DivideBySegs(const int nSegs,BOOL flag)
|
||||
}
|
||||
}
|
||||
else
|
||||
{//圆弧
|
||||
{//圆弧
|
||||
if (pNodeNext != NULL)
|
||||
{//不是最后一点
|
||||
{//不是最后一点
|
||||
double s0 = pNode->m_s;
|
||||
double len = pNodeNext->m_s - s0; //线段长度
|
||||
double len = pNodeNext->m_s - s0; //线段长度
|
||||
double detaS = len / nSegs;
|
||||
if (detaS > TOL)
|
||||
{//等分
|
||||
{//等分
|
||||
for (int i = 0;i < nSegs; i++)
|
||||
{
|
||||
CDNode* pDieNode = new CDNode;
|
||||
@@ -2513,7 +2513,7 @@ void CPloyLine::DivideBySegs(const int nSegs,BOOL flag)
|
||||
}
|
||||
}
|
||||
else
|
||||
{//最后一点
|
||||
{//最后一点
|
||||
CDNode* pDieNode = new CDNode;
|
||||
if (GetDNode(s,pDieNode))
|
||||
{
|
||||
@@ -2829,20 +2829,20 @@ BOOL CPloyLine::IsPtInPolygon(AcGePoint3d& pt) const
|
||||
AcGePoint3d pt1 = pt;
|
||||
pt1.x += 100;
|
||||
|
||||
AcGeRay3d rayLine(pt,pt1); //以pt为起点的水平射线
|
||||
AcGeRay3d rayLine(pt,pt1); //以pt为起点的水平射线
|
||||
POSITION pos = pNew->m_BNodeList.GetHeadPosition();
|
||||
CBNode* pNodePre = NULL;
|
||||
int nTotpt = 0; //射线与多边形的交点数
|
||||
int nTotpt = 0; //射线与多边形的交点数
|
||||
while (pos != NULL)
|
||||
{
|
||||
CBNode* pNode = pNew->m_BNodeList.GetNext(pos);
|
||||
if (pNodePre != NULL)
|
||||
{
|
||||
AcGeLineSeg3d line3d(pNodePre->m_pt,pNode->m_pt); //得到直线段
|
||||
AcGeLineSeg3d line3d(pNodePre->m_pt,pNode->m_pt); //得到直线段
|
||||
AcGePoint3d secPt;
|
||||
if (line3d.isOn(pt,tol))
|
||||
{
|
||||
return 2; //点在边上
|
||||
return 2; //点在边上
|
||||
}
|
||||
if (IsOverlap(pt,pt1,pNodePre->m_pt,pNode->m_pt))
|
||||
{
|
||||
@@ -3010,7 +3010,7 @@ int CPloyLine::IsZParalECSAndUcs(AcDbObjectId& objId)
|
||||
ads_name_set(pEntName,from.resval.rlname); //ECS
|
||||
to.restype = RTSHORT;
|
||||
to.resval.rint = 1; //UCS
|
||||
acedTrans(ads_pt,&from,&to,1,ads_ret); //按矢量转换
|
||||
acedTrans(ads_pt,&from,&to,1,ads_ret); //按矢量转换
|
||||
|
||||
double tol = TOL;
|
||||
if (fabs(ads_ret[X]) < TOL && fabs(ads_ret[Y]) < TOL && ads_ret[Z] >= 0.)
|
||||
|
||||
Reference in new issue
Block a user