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.

70 lines
1.7 KiB
C

1 month ago
#pragma once
#ifndef AFX_EXT_CLASS
#define AFX_EXT_CLASS Q_DECL_IMPORT
#endif
#include <vector>
#include <list>
#include "TBase/TObjectList.h"
#include "InterfaceElements.h"
#include "GObjects/Con2Pgn.h"
#include "GObjects/dfdfilereader.h"
/*@class: CContourFillMap
* @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><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><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
1<EFBFBD><EFBFBD>SetContours(vector<CPolyline*>& vec);
2<EFBFBD><EFBFBD>SetFlts(vector<CPolyline*>& scrFlts);
3<EFBFBD><EFBFBD>SetBorder( CPolyline& border);
4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ//<2F><><EFBFBD>õ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A4>
void SetExtensivePara(double dext);
4<EFBFBD><EFBFBD>//<2F><><EFBFBD>ɵ<EFBFBD>ֵ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>m_resultLines
int CreatePolygons(void); //
* @date: 2023.5.11
*/
class AFX_EXT_CLASS CContourFillMap
{
public:
CContourFillMap();
~CContourFillMap();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Clear(void);
//<2F>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1>ʽ
void ReadFiles(const CString& strContour, const CString StrFlt, const CString strBorder);
void SetContours(vector<CPolyline*>& vec);
void SetFlts(vector<CPolyline*>& scrFlts);
void SetBorder( CPolyline& border);
void SetContours(vector<CMyCurve*>& vec);
void SetFlts(vector<CMyCurve*>& scrFlts);
void SetBorder(CMyCurve& border);
//<2F><><EFBFBD>õ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A4>
void SetExtensivePara(double dext);
//<2F><><EFBFBD>ɵ<EFBFBD>ֵ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>m_resultLines
int CreatePolygons(void); //
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5>ļ<EFBFBD><C4BC><EFBFBD> ,decimalPlaces Ϊ<><CEAA><EFBFBD><EFBFBD><E0B1A3><EFBFBD><EFBFBD>λС<CEBB><D0A1>
void WritePolygons(char* strOutput, int decimalPlaces = 2);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5>ļ<EFBFBD><C4BC>У<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Χ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>,<2C><>','<27>ָ<EFBFBD>
void WritePurePolygons(char* strOutput);
//<2F><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֺϼ<D6BA><CFBC><EFBFBD><EFBFBD><EFBFBD>"1000,1100<30><30>"
std::vector<CMyCurve*>& GetResultPolygons(void);
protected:
std::vector<CPolyline*> m_resultLines;
};