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.

77 lines
1.8 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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;///< 网格输出路径
};