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

1 month ago
#pragma once
#include "FGrid\FNetGenerator.h"
class CFUISheet;
class AFX_EXT_CLASS CFGridUI
{
public:
CFGridUI();
~CFGridUI();
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sheet<65><74>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳģʽ*/
BOOL Play(BOOL page_Input=TRUE , BOOL page_Grid=TRUE , BOOL page_Precision =TRUE,
BOOL page_Smooth =TRUE, BOOL page_Output=TRUE);
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7> */
bool SetDataPath(CString strInput);
/** @brief <20><><EFBFBD>öϲ<C3B6>·<EFBFBD><C2B7> */
bool SetFltPath(CString strFlt);
/** @brief <20><><EFBFBD>ñ߽<C3B1>·<EFBFBD><C2B7> */
bool SetOutline(CString strBorder);
/** @brief <20><EFBFBD><E9BFB4><EFBFBD><EFBFBD>*/
void ViewResult();
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>*/
bool GetRangeXY(CRect8& rect);
/** @brief <20><><EFBFBD><EFBFBD><5A><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ*/
bool GetRangeZ(double& zmin, double& zmax);
CFPoints& GetPoints() { return m_net.m_points; }
CFNet* GetFNet() { return m_net.GetNet(); }
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񣬱<EFBFBD><F1A3ACB1><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>úø<C3BA><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
bool CreateGrid();
/** @breif <20>õ<EFBFBD><C3B5>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>*/
CPtrList* GetFltList();
/** @brief <20>õ<EFBFBD><C3B5>ϲ<EFBFBD>·<EFBFBD><C2B7>*/
CString GetFltPath();
/** @brief <20>õ<EFBFBD><C3B5>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD>*/
CPtrList* GetOutlineList();
/** @brief <20>õ<EFBFBD><C3B5>߽<EFBFBD><DFBD>ļ<EFBFBD>·<EFBFBD><C2B7>*/
CString GetOutlinePath();
private:
/** @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sheet<65>еĵ<D0B5><C4B5><EFBFBD><EFBFBD>񻯲<EFBFBD><F1BBAFB2><EFBFBD>*/
bool GetGridParameters(CFUISheet* psheet);
void ClearCurvePtrList(CPtrList& list);
/** @brief <20>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>*/
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; ///< <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
int m_numy;
int m_times; ///< <20><><EFBFBD>񻯼<EFBFBD><F1BBAFBC>ܴ<EFBFBD><DCB4><EFBFBD>
int m_timeflt; ///< <20>ڼ<EFBFBD><DABC>ο<EFBFBD><CEBF>Ƕϲ<C7B6>
int m_smooth; ///< ƽ<><C6BD><EFBFBD><EFBFBD>
double m_precision;///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL m_bDisplay;
CFNetGenerator m_net;
//members
private:
CPtrList m_flt_list,m_outline_list;
CString m_strDataInput; ///< ɢ<><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
CString m_strFlt; ///< <20>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
CString m_strOutline; ///< <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
CString m_strGridOutput;///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
};