|
|
#pragma once
|
|
|
#include "FGrid\FNetGenerator.h"
|
|
|
|
|
|
|
|
|
class CFUISheet;
|
|
|
|
|
|
class AFX_EXT_CLASS CFGridUI
|
|
|
{
|
|
|
public:
|
|
|
CFGridUI();
|
|
|
~CFGridUI();
|
|
|
/** @brief 生成属性sheet,选择属性页模式*/
|
|
|
BOOL Play(BOOL page_Input=TRUE , BOOL page_Grid=TRUE , BOOL page_Precision =TRUE,
|
|
|
BOOL page_Smooth =TRUE, BOOL page_Output=TRUE);
|
|
|
|
|
|
/** @brief 设置数据输入路径 */
|
|
|
bool SetDataPath(CString strInput);
|
|
|
/** @brief 设置断层路径 */
|
|
|
bool SetFltPath(CString strFlt);
|
|
|
/** @brief 设置边界路径 */
|
|
|
bool SetOutline(CString strBorder);
|
|
|
/** @brief 查看结果*/
|
|
|
void ViewResult();
|
|
|
/** @brief 返回网格矩形框*/
|
|
|
bool GetRangeXY(CRect8& rect);
|
|
|
/** @brief 返回Z值极大极小值*/
|
|
|
bool GetRangeZ(double& zmin, double& zmax);
|
|
|
|
|
|
CFPoints& GetPoints() { return m_net.m_points; }
|
|
|
CFNet* GetFNet() { return m_net.GetNet(); }
|
|
|
|
|
|
/** @brief 由网格参数生成网格,必须提前设置好各项参数*/
|
|
|
bool CreateGrid();
|
|
|
|
|
|
/** @breif 得到断层链表*/
|
|
|
CPtrList* GetFltList();
|
|
|
/** @brief 得到断层路径*/
|
|
|
CString GetFltPath();
|
|
|
/** @brief 得到边界链表*/
|
|
|
CPtrList* GetOutlineList();
|
|
|
/** @brief 得到边界文件路径*/
|
|
|
CString GetOutlinePath();
|
|
|
|
|
|
private:
|
|
|
/** @brief 从属性sheet中的到网格化参数*/
|
|
|
bool GetGridParameters(CFUISheet* psheet);
|
|
|
void ClearCurvePtrList(CPtrList& list);
|
|
|
/** @brief 是否显示结果*/
|
|
|
BOOL IsDisplay(CFUISheet* psheet);
|
|
|
|
|
|
public:
|
|
|
double m_xmin;
|
|
|
double m_ymin;
|
|
|
double m_zmin;
|
|
|
double m_xmax;
|
|
|
double m_ymax;
|
|
|
double m_zmax;
|
|
|
int m_numx; ///< 初始网格数目
|
|
|
int m_numy;
|
|
|
int m_times; ///< 网格化加密次数
|
|
|
int m_timeflt; ///< 第几次考虑断层
|
|
|
int m_smooth; ///< 平滑度
|
|
|
double m_precision;///< 最大误差
|
|
|
|
|
|
BOOL m_bDisplay;
|
|
|
|
|
|
CFNetGenerator m_net;
|
|
|
|
|
|
//members
|
|
|
private:
|
|
|
CPtrList m_flt_list,m_outline_list;
|
|
|
CString m_strDataInput; ///< 散点输入路径
|
|
|
CString m_strFlt; ///< 断层输入路径
|
|
|
CString m_strOutline; ///< 边界输入路径
|
|
|
CString m_strGridOutput;///< 网格输出路径
|
|
|
|
|
|
}; |