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.
24 lines
909 B
C++
24 lines
909 B
C++
#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;//一组线段的容器
|
|
SFillPar m_FillPar;//填充参数
|
|
};
|
|
|