|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>࣬<EFBFBD><E0A3AC>Ҫ<EFBFBD><D2AA>Ϊ<EFBFBD>˷<EFBFBD>װCDimension3D<33><44>CFunction2D<32><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <09><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2011-12-8
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "Dimension3D.h"
|
|
|
|
|
|
#include "Function2D.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NContour
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CMeshBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CMeshBase(void);
|
|
|
|
|
|
~CMeshBase(void);
|
|
|
|
|
|
|
|
|
|
|
|
CGrid* GetMesh() { return m_pMesh; }
|
|
|
|
|
|
CDimension3D* GetDfg() { return (CDimension3D*)m_pMesh; }
|
|
|
|
|
|
CFunction2D* GetFun() { return (CFunction2D*) m_pMesh; }
|
|
|
|
|
|
|
|
|
|
|
|
CSize size(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int GetDimension(void) { return GetMesh()->n; } //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>
|
|
|
|
|
|
double x(int i) { return GetMesh()->x(i); }
|
|
|
|
|
|
double y(int j) { return GetMesh()->y(j); }
|
|
|
|
|
|
CRect8 GetRect() { return GetMesh()->GetRect(); }
|
|
|
|
|
|
void operator =(CMeshBase& mb);
|
|
|
|
|
|
|
|
|
|
|
|
double GetValue(double x0, double y0) { return m_pMesh->Value(x0, y0); }
|
|
|
|
|
|
inline double GetValue(int i, int j) { return m_pMesh->Value(i, j); }
|
|
|
|
|
|
inline void SetValue(int i, int j, double v) { return m_pMesh->SetValue(i, j, v);}
|
|
|
|
|
|
|
|
|
|
|
|
virtual void ClearMesh(); //<2F><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
virtual void Empty();
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
enum EMeshType
|
|
|
|
|
|
{
|
|
|
|
|
|
typeERR = 0,
|
|
|
|
|
|
typeDFG = 1, //CDimension3D<33><44><EFBFBD><EFBFBD><F3A3ACBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
typeFXY = 2 //CFunction2D<32><44><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
bool CreateMesh(EMeshType mt); //<2F><><EFBFBD>ɶ<EFBFBD>Ӧ<EFBFBD><D3A6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3ACB2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Attach(CGrid* pMesh, EMeshType mt);
|
|
|
|
|
|
CGrid* Detach();
|
|
|
|
|
|
EMeshType GetMeshType() { return m_eMeshType; }
|
|
|
|
|
|
void SetMeshType(EMeshType mt) { m_eMeshType = mt; }
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bRealTimeDraw;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//Ϊ<><CEAA>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A3ACB2><EFBFBD>CMesh<73><68><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>ͳһ<CDB3><D2BB><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ɵ<EFBFBD>CDimension3D<33><44><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1>ΪCDimension2D
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><E2BBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CFunction2D<32><44><EFBFBD><EFBFBD>
|
|
|
|
|
|
CGrid* m_pMesh;
|
|
|
|
|
|
EMeshType m_eMeshType;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
}//namespace
|
|
|
|
|
|
|