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.

54 lines
2.0 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**************************************************************************************
文 件 名FenceBendObj.h
栅状图中bend连层继承多井地层对比层连接类
主要函数列表:
1 void CreateBendLine(BOOL bTop); 创建上下层位线
**************************************************************************************/
#ifndef FENCEBENDOBJ_H
#define FENCEBENDOBJ_H
#pragma once
class AFX_EXT_CLASS CFenceBendObj : public CBendObj
{
public:
CFenceBendObj(void);
~CFenceBendObj(void);
public:
virtual void Serialize(CArchive& ar, const short &ver);
virtual void MoveTo(CRect8& position);
//pcg文件读写
virtual int ReadPCG_Bend(CFile &fr,const short& ver);
virtual int ReadPCG(CFile &fr,const short& ver);
///////// 2014.12.8 计算控制点坐标
virtual void ReComupteControls();
virtual void ComputeBreakRatio();
////////计算 fSlopefConstantpointCenterpointBorder的值
virtual void ComputeSlopeAndConstant();
public:
////// 2014.12.15
double m_EndBreakXRatio;////尖灭层尖灭结束点横坐标距左右井的比例
double m_EndYRatio; ///尖灭层连层控制点所在直线在xRight位置的y值距右井上下的比例
protected:
//创建上下层位线
virtual void CreateBendLine(BOOL bTop);
//上下层位线数组点
//virtual void CreateBendLinePointArr(BOOL bTop,CPointArr &ptArrControl,CPointArr &ptArrLeft,CPointArr &ptArrRight);
virtual void CreateBendLinePointArr(BOOL bTop, std::vector<dfPoint> &ptArrControl, CPointArr &ptArrLeft, CPointArr &ptArrRight);
//变形函数
//virtual void BreakTransform(CPointArr &ptArrControl,CPointArr &ptArrControlOriginal,CPointArr &ptArrCurve,BOOL bTop,BOOL bLith=0);//
virtual void BreakTransform(std::vector<dfPoint> &ptArrControl, CPointArr &ptArrControlOriginal, CPointArr &ptArrCurve, BOOL bTop, BOOL bLith = 0);//
//求岩性尖灭线
virtual void BendLithoBreak(CString str,CPointArr &ptArrControl,CInTrackDepthSegment* pLayerThin,CInTrackDepthSegment* pLayerThick);//x为上层位线岩性尖灭点百分比,y为下层位线岩性尖灭点百分比
public:
virtual int ReadPCG_Bend(CKXmlParse& xp, const short& ver);
virtual int ReadPCG(CKXmlParse& xp, const short& ver);
};
#endif