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.

75 lines
2.5 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD>: DFDraw<61><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<CDBC>ؽӿ<D8BD><D3BF><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include ".\sectionany.h"
#include "DrawLocal\FileSegy.h"
class AFX_EXT_CLASS CFMN
{
public:
CFMN(void);
virtual ~CFMN(void);
virtual void Write(CFile& fw);
virtual int Read(CFile& fr);
virtual void Clear(void);
virtual int Create(CString m_fx, CString m_fy);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
int Open(void);
int Close(void);
CDimension3D* pX;
CDimension3D* pY;
CDimension3D* pResult;
double xmin,xmax,ymin,ymax;
CString m_result,m_fx,m_fy;
CFileSegy *m_pfr;
CString m_3dini;
int CreateResult(void);
double XX(double m, double n);
double YY(double m, double n);
double ZZ(double m, double n);
int GetMN(double& x, double& y);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
CDimension2D* pCut;
double cut_point;
int GetCut(int m1,int n1,int m2,int n2, BOOL bCoorXY=FALSE); //<2F><><EFBFBD><EFBFBD>cut_pointָ<74><D6B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
int GetCut(double cutPoint, int m1,int n1,int m2,int n2, BOOL bCoorXY=FALSE);//<2F><><EFBFBD><EFBFBD>cutPointָ<74><D6B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
int GetCut(LPCTSTR lpLayerFileName, double top, double bottom, int mode); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ƭ
int GetCut(LPCTSTR lpLayerFileName1, LPCTSTR lpLayerFileName2, int mode); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ƭ
int GetCut(double beginRange, double endRange, int mode); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>ʾ<EFBFBD><CABE>Ƭ
void SaveCut(CFile& fw, int mode); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
void GetPly(CFile& fw, LPCTSTR lpLayerFileName1, LPCTSTR lpLayerFileName2); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ͺ<EFBFBD><CDBA>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>=<3D><>λ2-<2D><>λ1<CEBB><31>
int GetSwing(int num, double* data, double m, double n); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ߵ<EFBFBD><DFB5>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
class MN_RANGE
{
public:
MN_RANGE(void){m1=n1=m2=n2=0;t1=t2=0;}
int m1,n1,m2,n2;
double t1; //top
double t2; //bottom
};
int GetCut(CSectionCut& cut, double cutPoint, MN_RANGE mr, BOOL bCoorXY=FALSE);//cutPointΪʱ<CEAA><CAB1>ֵ
int GetCut(CSectionCut& cut, LPCTSTR lpLayerFileName, MN_RANGE mr, int mode, BOOL bCoorXY=FALSE); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ƭ
int GetSectionInline(CSectionAny& sec, int n, MN_RANGE mr); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>
int GetSectionCrossline(CSectionAny& sec, int m, MN_RANGE mr); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>
int GetSectionAny(CSectionAny& sec, CCurve* pCurve, MN_RANGE mr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int Delete(CCurve* pCurve); //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>
void GetPlane(CPlane& m_plane,int *m,int *n);
void GetRange();
BOOL IsOpen(void);
};