#pragma once #ifndef AFX_EXT_CLASS #define AFX_EXT_CLASS Q_DECL_IMPORT #endif #include #include #include "TBase/TObjectList.h" #include "InterfaceElements.h" #include "GObjects/Con2Pgn.h" #include "GObjects/dfdfilereader.h" /*@class: CContourFillMap * @desc: 用于生成等值线填充图,及等值线,断层,边界包围区域多边形图 使用方法: -----、文件方式: -----、内存方式: 依次调用 1、SetContours(vector& vec); 2、SetFlts(vector& scrFlts); 3、SetBorder( CPolyline& border); 4、可选//设置等值线延伸长度 void SetExtensivePara(double dext); 4、//生成等值线间多边形,存入m_resultLines int CreatePolygons(void); // * @date: 2023.5.11 */ class AFX_EXT_CLASS CContourFillMap { public: CContourFillMap(); ~CContourFillMap(); //清空类 void Clear(void); //文件读取方式 void ReadFiles(const CString& strContour, const CString StrFlt, const CString strBorder); void SetContours(vector& vec); void SetFlts(vector& scrFlts); void SetBorder( CPolyline& border); void SetContours(vector& vec); void SetFlts(vector& scrFlts); void SetBorder(CMyCurve& border); //设置等值线延伸长度 void SetExtensivePara(double dext); //生成等值线间多边形,存入m_resultLines int CreatePolygons(void); // //输出多边形到文件中 ,decimalPlaces 为最多保留几位小数 void WritePolygons(char* strOutput, int decimalPlaces = 2); //输出纯多边形到文件中,没有颜色等信息,曲线名为包围线的名字集合,由','分割 void WritePurePolygons(char* strOutput); //返回结果多边形, 多边形名字为组成它的曲线名字合集,如"1000,1100," std::vector& GetResultPolygons(void); protected: std::vector m_resultLines; };