Files
envi-code/SourceCode/Code2026/AdsXRx/XCurveStream.cpp
T
2026-09-28 15:28:50 +08:00

63 lines
1.4 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : XCurveStream 类
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
// = Description: XCurveStream 定义
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#include "StdAfx.h"
#include "XCurveStream.h"
#include "XGlobalCurveFunc.h"
XCurveStream::XCurveStream()
{
}
void XCurveStream::DrawXCurve(const XCurveSegment &cv,double nThick)
{
m_lstCurves.Append(new XCurveSegment(cv));
}
// 拷贝到另一个Dc去
void XCurveStream::CopyTo(XDcStream &toDc) const
{
for(int i = 0; i < m_lstCurves.Length(); i++)
{
toDc << m_lstCurves[i];
}
}
void XCurveStream::ClipIn(const XPoly2D &poly) //内裁剪
{
DList<XCurveSegment> lstIn, lstOut, lstEdge;
PolyClip(m_lstCurves, poly, lstIn, lstOut, lstEdge);
m_lstCurves.Reset();
*this << lstOut;
*this << lstEdge;
}
void XCurveStream::ClipOut(const XPoly2D &poly) //外裁剪
{
DList<XCurveSegment> lstIn, lstOut, lstEdge;
PolyClip(m_lstCurves, poly, lstIn, lstOut, lstEdge);
m_lstCurves.Reset();
*this << lstOut;
*this << lstEdge;
}
const TCHAR * XCurveStream::Descriptor()
{
return _T("XCurveStream");
}
const TCHAR * XCurveStream::Desc()
{
return Descriptor();
}