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.
kev/Drawer/SSBase/VoronoiMap/PolygonTreeInterface.h

69 lines
1.5 KiB
C

1 month ago
#pragma once
#ifndef AFX_EXT_CLASS
#define AFX_EXT_CLASS Q_DECL_IMPORT
#endif
#include <vector>
#include <set>
#include "InterfaceElements.h"
#include "GObjects/mycurve.h"
#include "GObjects/Con2Pgn.h"
using std::vector;
using std::set;
//using namespace GObjects;
/*@file: PolygonTree.h
* @desc: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>״ͼ,<EFBFBD>˽ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>opencv<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD>ٹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @date: 2023.3.11
*/
//<2F><><EFBFBD><EFBFBD><EFBFBD>β㼶<CEB2><E3BCB6>ϵ<EFBFBD><CFB5> vector<int><3E><><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>Ԫ<EFBFBD><D4AA> <20><>ʾ 0<><30><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ǰһ<C7B0><D2BB><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
using MyHierarchy = vector< vector<int> >;
//class GObjects::CMyCurve;
//class GObjects::CPolygonTree;
class AFX_EXT_CLASS CPolygonTreeInterface
{
public:
CPolygonTreeInterface(void);
~CPolygonTreeInterface(void);
//vector<CPolyline*>& GetPolygons(void);
//MyHierarchy& GetHierarchy(void);
void Create(float filterArea = -1);
void AddPolygon(CPolyline* pc);
void SetPolygons(vector<CPolyline*>& pgns);
//<2F><><EFBFBD>ò㼶<C3B2><E3BCB6>ϵ
void SetHierarchy(MyHierarchy& hier);
//<2F><><EFBFBD><EFBFBD> m_polygons <20><>m_hierarchy
void Clear(void);
vector<CPolyline*>& GetResultPolygons(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߺϲ<DFBA><CFB2><EFBFBD>һ<EFBFBD><D2BB>
CPolyline* CombineResultContoursToOne(void);
protected:
//<2F>ɲ㼶<C9B2><E3BCB6>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>,<2C><><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
int CreateWithHierarchy(float filterArea);
//m_pgnTree<65><65><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߺϳ<DFBA>һ<EFBFBD><D2BB>
CMyCurve* m_virtualRoot; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
vector<CMyCurve*> m_srcPolygons; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MyHierarchy m_hierarchy; //<2F><EFBFBD><E3BCB6>ϵ
//CPolyline m_combinedPolygon; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κϲ<CEBA><CFB2><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vector<CPolyline*> m_rstPolygons; //<2F><><EFBFBD>ɵĽ<C9B5><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private:
CPolygonTree* m_pgnTree;
};