Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

87 lines
2.0 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TGGeDbPolyline 类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TGGeDbPolyline 定义
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#include "StdAfx.h"
#include "TGGeDbPolyline.h"
#include "TchGlobalCurveFunc.h"
TGGeDbPolyline::TGGeDbPolyline(const TGGePoly2D &poly,double lw)
: m_poly(poly),m_nLineWeight(lw)
{
}
TGGeDbPolyline::TGGeDbPolyline(const AcDbPolyline &pline)
{
m_poly.SetAcDbCurve((AcDbPolyline*)&pline);
m_nLineWeight = 0;
pline.getConstantWidth(m_nLineWeight);
}
AcDbEntity *TGGeDbPolyline::CreateAcDbEntity()const
{
AcDbPolyline *pline = new AcDbPolyline;
PolyConvert(m_poly, *pline);
pline->setConstantWidth(m_nLineWeight);
return pline;
}
void TGGeDbPolyline::CutBy(const TGGePoly2D &poly,TDPtrList<TGGeDbCurveEntity>&lstIn,TDPtrList<TGGeDbCurveEntity>&lstOut,TDPtrList<TGGeDbCurveEntity>&lstEdge)const
{
TDPtrList<TGGeCurveSegment> lstSeg,lstIn0,lstOut0,lstEdge0;
ExplodePoly2D(m_poly,lstSeg);
PolyClip(lstSeg,poly,lstIn0,lstOut0,lstEdge0);
for (long i = 0; i < lstIn0.Length(); i++)
{
TGGePoly2D poly1;
lstIn0[i]->AsPoly2D(poly1);
lstIn.Append(new TGGeDbPolyline(poly1,m_nLineWeight));
}
for (i = 0; i < lstOut0.Length(); i++)
{
TGGePoly2D poly1;
lstOut0[i]->AsPoly2D(poly1);
lstOut.Append(new TGGeDbPolyline(poly1,m_nLineWeight));
}
for (i = 0; i < lstEdge0.Length(); i++)
{
TGGePoly2D poly1;
lstEdge0[i]->AsPoly2D(poly1);
lstEdge.Append(new TGGeDbPolyline(poly1,m_nLineWeight));
}
}
TGGePoly2D TGGeDbPolyline::GetPoly() const
{
return m_poly;
}
void TGGeDbPolyline::SetPoly(const TGGePoly2D poly)
{
m_poly = poly;
}
double TGGeDbPolyline::GetLineWeight()const
{
return m_nLineWeight;
}
void TGGeDbPolyline::SetLineWeight(const double dLineWeight)
{
m_nLineWeight = dLineWeight;
}