|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: CWellTrack<63>࣬<EFBFBD><E0A3AC><EFBFBD>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <09><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>澮<EFBFBD>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD>
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2012-07-03
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "Point2D.h"
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CWellTrack
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CWellTrack();
|
|
|
|
|
|
virtual ~CWellTrack(void);
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CWellTrackPoint
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CWellTrackPoint(void) { InitPoint(); }
|
|
|
|
|
|
|
|
|
|
|
|
dfPoint point; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double xh; //б<><D0B1>
|
|
|
|
|
|
double vh; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
double bevel; //<2F><>б<EFBFBD><D0B1>
|
|
|
|
|
|
double azimuth; //<2F><>λ<EFBFBD><CEBB>
|
|
|
|
|
|
double dx, dy; //<2F><>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>ƫ<EFBFBD><C6AB>
|
|
|
|
|
|
double dh; //<2F>öε<C3B6>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
void InitPoint(void);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
enum ETrackType //Ϊ<><CEAA><EFBFBD>뵼<EFBFBD><EBB5BC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
|
|
|
|
|
|
{
|
|
|
|
|
|
typeWellOffset = 5, //б<><D0B1><EFBFBD>켣һƫ<D2BB>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢ<EFBFBD><EAA1A2>ƫ<EFBFBD>ơ<EFBFBD><C6A1><EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD>
|
|
|
|
|
|
typeWellAvgAngle1 = 6, //б<><D0B1><EFBFBD>켣<EFBFBD><ECBCA3>ƽ<EFBFBD><C6BD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢб<EAA1A2><EFBFBD><EEA1A2>б<EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD>λ<EFBFBD>ǣ<EFBFBD>
|
|
|
|
|
|
typeWellAvgAngle2 = 7, //б<><D0B1><EFBFBD>켣<EFBFBD><ECBCA3>ƽ<EFBFBD><C6BD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢ<EFBFBD><EAA1A2><EFBFBD><EFBFBD><EEA1A2>б<EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD>λ<EFBFBD>ǣ<EFBFBD>
|
|
|
|
|
|
typeWellMinCurvature = 8, //б<><D0B1><EFBFBD>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ʷ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢб<EAA1A2><EFBFBD><EEA1A2>б<EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD>λ<EFBFBD>ǣ<EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ZֵΪ<D6B5><CEAA><EFBFBD>LֵΪб<CEAA><D0B1>
|
|
|
|
|
|
int CreateTrack(CList<CWellTrackPoint, CWellTrackPoint>& arrPoint, CPointList &out_dp, ETrackType nMode);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x,y,(<28><><EFBFBD><EFBFBD>,б<><D0B1>bevel,<2C><>λ<EFBFBD><CEBB>azimuth----<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void GetCoordinate(CWellTrackPoint& wp);
|
|
|
|
|
|
double ToVerticalDepth(double h, double bevel); //б<>б<EEA3AC><D0B1>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>С<EFBFBD><D0A1><EFBFBD>ʷ<EFBFBD>minimum curvature method
|
|
|
|
|
|
int MinimumCurvatureMethod(CList<CWellTrackPoint, CWellTrackPoint>& arrPoint, CPointList &out_dp);
|
|
|
|
|
|
//ƽ<><C6BD><EFBFBD>Ƿ<EFBFBD>
|
|
|
|
|
|
int AverageAngleMethod(CList<CWellTrackPoint, CWellTrackPoint>& arrPoint, CPointList &out_dp, ETrackType nMode);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
typedef CList<CWellTrack::CWellTrackPoint, CWellTrack::CWellTrackPoint> CWellTrackPointList;
|
|
|
|
|
|
|