|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<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 ".\fmnfrommapping.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CSectionBase;
|
|
|
|
|
|
class AFX_EXT_CLASS CDrawExchange
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CDrawExchange(void);
|
|
|
|
|
|
virtual ~CDrawExchange(void);
|
|
|
|
|
|
|
|
|
|
|
|
int CreateDrawExchange(CString name,CString m_3dv);
|
|
|
|
|
|
int CreateDrawExchangeMapping(CString sfx,CString sfy);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Initialize(void);
|
|
|
|
|
|
virtual void* SetDrawExchange(int IsDepth);
|
|
|
|
|
|
|
|
|
|
|
|
virtual double V(double x, double y, double t);
|
|
|
|
|
|
virtual double Exchange(double& x, double& y); //y=time
|
|
|
|
|
|
virtual BOOL IsCanExchange(void);
|
|
|
|
|
|
virtual BOOL IsDrawExchange();
|
|
|
|
|
|
virtual void Clear(void);
|
|
|
|
|
|
|
|
|
|
|
|
double Exchange(double& m, double& n, double &t); //<2F><><EFBFBD><EFBFBD>ʱtΪ<74><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
|
double DrawExchange(double &x,double &y);
|
|
|
|
|
|
BOOL IsX(void);
|
|
|
|
|
|
BOOL IsY(void);
|
|
|
|
|
|
BOOL IsAny(void);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ٶȳ<D9B6><C8B3>Ƿ<EFBFBD><C7B7><EFBFBD>XY<58><59>ʽ<EFBFBD><CABD>
|
|
|
|
|
|
BOOL IsExchangeWidthXY(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return pDrawExchangeMapping==NULL ? FALSE:TRUE;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int GetLineSel(void);
|
|
|
|
|
|
void SetLineSel(int nXYorAny); //0<><30>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>1<EFBFBD><31>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void GetMN(double& x, double& y);
|
|
|
|
|
|
void SetLineName(int nLineName); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DrawExchangeXY
|
|
|
|
|
|
void SetLineName(CString lpszLineName); //<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DrawExchangeXY<58><59>m_nLineSelect
|
|
|
|
|
|
|
|
|
|
|
|
void SetSection(CSectionBase* pSection);
|
|
|
|
|
|
CSectionBase* GetSection(void);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xΪCDP<44>ţ<EFBFBD>yΪ<79><CEAA><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱyΪʱ<CEAA>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ֵ
|
|
|
|
|
|
double ExchangeToTime(double& x, double& y);
|
|
|
|
|
|
void* GetExchangeToTime(void);
|
|
|
|
|
|
BOOL CreateExchangeToTime(int numx, int numy, double* cdp);
|
|
|
|
|
|
|
|
|
|
|
|
//BEGIN <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>Ϊ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD>ƽ
|
|
|
|
|
|
CCurve* m_pDragCurve; //<2F><><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽָ<C6BD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double d0; //<2F><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
void ToDragFlat(CCurve* pCurve);
|
|
|
|
|
|
void SetDragCurve(CCurve* pCurve, double bd);
|
|
|
|
|
|
double GetOffsetOfDragFlat(double x0);
|
|
|
|
|
|
BOOL IsDragFlat(void);
|
|
|
|
|
|
//END
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
double DrawExchangeWidthMN(double &m,double &n,double &t);
|
|
|
|
|
|
double DrawExchangeWidthXY(double &m,double &n,double &t);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CSectionBase *pSectionBase;
|
|
|
|
|
|
CDimension3D *pDrawExchange3D;
|
|
|
|
|
|
CDimension3D *pDrawExchange3DOld;
|
|
|
|
|
|
CFmnFromMapping* pDrawExchangeMapping;
|
|
|
|
|
|
void* pExchangeToTime; //<2F><><EFBFBD>ݣ<EFBFBD>CDP<44><50>H<EFBFBD><48><EFBFBD><EFBFBD>ֵ<EFBFBD>ٶ<EFBFBD>V,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊʱ<CEAA><CAB1>
|
|
|
|
|
|
|
|
|
|
|
|
int m_nLineSelect; //0<><30>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>1<EFBFBD><31>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double DrawExchangeXY;
|
|
|
|
|
|
CFileMapping MappingFxy;
|
|
|
|
|
|
|
|
|
|
|
|
int m_nSel; //-1Ϊȱʡ<C8B1><CAA1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>0Ϊʱ<CEAA><CAB1><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD>ʽ<EFBFBD><CABD>1Ϊ<31><CEAA>ά<EFBFBD><CEAC><EFBFBD>߷<EFBFBD>ʽ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CDrawExchangeCurve : public CDrawExchange
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CDrawExchangeCurve(void);
|
|
|
|
|
|
virtual ~CDrawExchangeCurve(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Clear(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void Initialize(void);
|
|
|
|
|
|
virtual void* SetDrawExchange(int IsDepth);
|
|
|
|
|
|
virtual double Exchange(double& x, double& y);
|
|
|
|
|
|
virtual BOOL IsCanExchange(void);
|
|
|
|
|
|
virtual BOOL IsDrawExchange();
|
|
|
|
|
|
|
|
|
|
|
|
int CreateDrawExchangeCurve(CString tv_curve_file);
|
|
|
|
|
|
double DrawExchangeWidthCurve(double& x, double& y);
|
|
|
|
|
|
BOOL IsCurveExchange(void);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>߱任<DFB1><E4BBBB>ʽ
|
|
|
|
|
|
CCurve* m_pCurve, *m_pCurveOld;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CDrawExchange2D : public CDrawExchangeCurve
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CDrawExchange2D(void);
|
|
|
|
|
|
virtual ~CDrawExchange2D(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual double Exchange(double& x, double& y); //xΪCDP<44>ţ<EFBFBD>yΪʱ<CEAA><CAB1>
|
|
|
|
|
|
virtual BOOL IsDrawExchange();
|
|
|
|
|
|
void SetCurve2D(CCurve* pCurve);
|
|
|
|
|
|
BOOL IsExchange2D(void);
|
|
|
|
|
|
int SetCurve2D(CString strCurveFile);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
double m_prevCDP;
|
|
|
|
|
|
double m_prevX;
|
|
|
|
|
|
double m_prevY;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//CDrawExchange2D* GetDrawExchange(void);
|
|
|
|
|
|
//double DrawExchangeToDepth(double &x,double &y);
|
|
|
|
|
|
|