//-----------------------------------------------------------------------------+ // 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 lstIn, lstOut, lstEdge; PolyClip(m_lstCurves, poly, lstIn, lstOut, lstEdge); m_lstCurves.Reset(); *this << lstOut; *this << lstEdge; } void XCurveStream::ClipOut(const XPoly2D &poly) //外裁剪 { DList 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(); }