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.4 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 ".\sectionmath.h"
#include "MxnFormat/SeisBuilder3D.h"
//<2F><><EFBFBD><EFBFBD>COtherDraw::Exchange(int message,char *Data);<3B><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʾ״̬
//message=1,DataΪdouble[2],<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD>ߺŵ<DFBA><C5B5>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD>1e20Ϊʵ<CEAA><CAB5>ֵ
//message=2,<2C><><EFBFBD>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>Data˳<61><CBB3><EFBFBD><EFBFBD>ӦΪx,y,CDC *,SCreen *
//message=3,ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>DataΪCCurve *
//message=4,<2C>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>DataΪCString *,Ϊ<>µĽ<C2B5><C4BD><EFBFBD><EFBFBD>ļ<EFBFBD>
//message=5,<2C><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>(CString *m_result)
//message=6,(int stepx,int stepy,int width,int steprx,int stepry,int IsQuick) get
//message=7,(int stepx,int stepy,int width,int steprx,int stepry,int IsQuick) write
//message=8,(double m,double n) return x=m,n=y;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ<CDBC>ؽӿ<D8BD>
#define OtherDraw_FMN 202 //<2F><><EFBFBD><EFBFBD>f(m,n)ͼ<>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD>x=x(m,n),y=y(m,n),z=z(m,n)<29><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><E6B7BD>
#define OtherDraw_OffsetX 204 //COffset
class AFX_EXT_CLASS COtherDraw
{
public:
COtherDraw(void);
virtual ~COtherDraw(void);
int m_type;
void* pValue;
CString name;
CColorBase *pColor;
virtual void Serialize(CArchive& ar);
virtual int Read(CFile& fr, CString str);
virtual int Write(CFile& fw);
virtual int Draw(CDC* pDC, CScreenXY& sr,void DrawCurve(CCurve &curve));
virtual int IsInRange(double& xmin, double& xmax, double& ymin, double& ymax);
virtual void GetRange(double& xmin, double& xmax, double& ymin, double& ymax);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
//<2F><><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD>͹<EFBFBD><CDB9><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>µ<EFBFBD><C2B5><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
bool FmnToSeisIndex3D(OUT CSeisBuilder3D& cubeBuilder);
static int IsOtherType(CString str);
static int IsOtherType(int type);
void GetRange(double& zmin, double& zmax);
void *Exchange(int message,char *Data);
void Clear(void);
void Offset(double dx, double dy);
void operator=(const COtherDraw& od);
void ScaleCoor(double xs, double ys, double dx, double dy);
void ScaleProperty(double sx, double sy);
};
class AFX_EXT_CLASS CGlobalFun
{
public:
CGlobalFun() {}
static int DeleteResult(CString m_result,CString m_xf,CString m_yf,CCurve *pCurve);
static int GetMN(double &x,double &y,CString m_fx,CString m_fy);
static void SetBeginLineCdp(int bline,int bcdp);
static void GetBeginLineCdp(int &bline,int &bcdp);
};