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.
67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//文件 CurveTV5.h
|
|
//主要功能:
|
|
//
|
|
//程序编写: 2005-12-07
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
#include "curvetv.h"
|
|
|
|
//x与y的数据模式, 使用SetDataMode设置
|
|
#define TV_TIME 0 //时间
|
|
#define TV_RMS 1 //均方根速度
|
|
#define TV_INTERVAL 2 //层速度
|
|
#define TV_AVERAGE 3 //平均速度
|
|
#define TV_DEPTH 4 //深度
|
|
#define TV_STACKING 5 //叠加速度
|
|
#define TV_GRADIENT 6 //速度梯度
|
|
|
|
#define TV_OFFSET_NONE 0x0001 //不偏移
|
|
#define TV_OFFSET_LOCATION 0x0002 //按桩号偏移
|
|
#define TV_OFFSET_CUSTOM 0x0004 //自定义偏移距
|
|
|
|
#define TV_DRAW_LINE 0x0100 //画曲线
|
|
#define TV_DRAW_CROSSPOINT 0x0200 //画交点
|
|
|
|
namespace NTV
|
|
{
|
|
|
|
|
|
class AFX_EXT_CLASS CCurveTV5 :
|
|
public CCurveTV
|
|
{
|
|
public:
|
|
CCurveTV5(void);
|
|
virtual ~CCurveTV5(void);
|
|
|
|
virtual void Clear(void);
|
|
virtual int Read(CFile &fr, const short& ver);
|
|
virtual void Write(CFile& fw, const short& ver, double dRedundantError=-1.0);
|
|
virtual BOOL SetPoints(CPointList &dp, int nnPoint, BOOL IsAutoLocation=TRUE);
|
|
virtual void GetRange(CRect8& range,void *HowToViewCurve=NULL);
|
|
virtual BOOL IsInRange(CRect8& range,void *HowToViewCurve=NULL);
|
|
|
|
double GetOffset(void);
|
|
void Redix(int xMode, int yMode, int nIndex); //重新计算指定索引处的DIX值,根据其中一速度值反算其它速度值
|
|
void Dix();
|
|
void DixOne(int i);
|
|
void CreateA(void);
|
|
void SetDataMode(int xMode, int yMode);
|
|
void operator=(CCurveTV5& curve);
|
|
DWORD GetStyle(void);
|
|
void SetStyle(DWORD style);
|
|
double** GetA(void);
|
|
|
|
protected:
|
|
//0时间;1均方根速度;2层速度;3平均速度;4深度;
|
|
double** A;
|
|
double VR5(int nIndex);
|
|
virtual double Dix(int nIndex);
|
|
double VA(int i, int j);
|
|
DWORD m_style;
|
|
};
|
|
|
|
}//namespace
|
|
|