You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#pragma once
|
|
|
|
|
#include "SequentialPoint.h"
|
|
|
|
|
#include "SFillPar.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CObjFill
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CObjFill(vector<CSequentialPoint> &Vec);
|
|
|
|
|
virtual ~CObjFill(void);
|
|
|
|
|
void CreatFill(vector<vector<Dbxy>> &PtVec,DbRect rect);
|
|
|
|
|
void SetPar(SFillPar Par){m_FillPar = Par;};
|
|
|
|
|
private:
|
|
|
|
|
void FillCloseArea(vector<Dbxy> &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<Dbxy> &IntersectionVec);
|
|
|
|
|
void SaveScanResult(vector<Dbxy> &IntersectionVec);
|
|
|
|
|
bool GetIntersection(vector<vector<Dbxy>> &LinesVec,Dbxy pt1,Dbxy pt2,vector<Dbxy> &IntersectionVec,DbRect rect);
|
|
|
|
|
private:
|
|
|
|
|
vector<CSequentialPoint> &m_SequentialPointVec;//һ<><D2BB><EFBFBD>߶ε<DFB6><CEB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SFillPar m_FillPar;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|