/************************************************************************************** 文 件 名: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(); ////////计算 fSlope,fConstant,pointCenter,pointBorder的值 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 &ptArrControl, CPointArr &ptArrLeft, CPointArr &ptArrRight); //变形函数 //virtual void BreakTransform(CPointArr &ptArrControl,CPointArr &ptArrControlOriginal,CPointArr &ptArrCurve,BOOL bTop,BOOL bLith=0);// virtual void BreakTransform(std::vector &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