#pragma once #include "SequentialPoint.h" #include "SFillPar.h" class CObjFill { public: CObjFill(vector &Vec); virtual ~CObjFill(void); void CreatFill(vector> &PtVec,DbRect rect); void SetPar(SFillPar Par){m_FillPar = Par;}; private: void FillCloseArea(vector &PtVec,Dbxy pt1,Dbxy pt2,Dbxy Offset,int ScanTimes,DbRect rect); void GetScanLine(DbRect rect,Dbxy &Pt1,Dbxy &Pt2,Dbxy &Offset,int &ScanTimes); void SortIntersection(vector &IntersectionVec); void SaveScanResult(vector &IntersectionVec); bool GetIntersection(vector> &LinesVec,Dbxy pt1,Dbxy pt2,vector &IntersectionVec,DbRect rect); private: vector &m_SequentialPointVec;//一组线段的容器 SFillPar m_FillPar;//填充参数 };