|
|
|
|
|
/**************************************************************************************
|
|
|
|
|
|
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>FenceBendObj.h
|
|
|
|
|
|
|
|
|
|
|
|
դ״ͼ<EFBFBD><EFBFBD>bend<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳жྮ<EFBFBD>ز<EFBFBD><EFBFBD>ԱȲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
1 void CreateBendLine(BOOL bTop); <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
**************************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
#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<63>ļ<EFBFBD><C4BC><EFBFBD>д
|
|
|
|
|
|
virtual int ReadPCG_Bend(CFile &fr,const short& ver);
|
|
|
|
|
|
virtual int ReadPCG(CFile &fr,const short& ver);
|
|
|
|
|
|
///////// 2014.12.8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void ReComupteControls();
|
|
|
|
|
|
virtual void ComputeBreakRatio();
|
|
|
|
|
|
////////<2F><><EFBFBD><EFBFBD> fSlope<70><65>fConstant<6E><74>pointCenter<65><72>pointBorder<65><72>ֵ
|
|
|
|
|
|
virtual void ComputeSlopeAndConstant();
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
////// 2014.12.15
|
|
|
|
|
|
double m_EndBreakXRatio;////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE>ı<EFBFBD><C4B1><EFBFBD>
|
|
|
|
|
|
double m_EndYRatio; ///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>xRightλ<74>õ<EFBFBD>yֵ<79><D6B5><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD><EFBFBD>µı<C2B5><C4B1><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
virtual void CreateBendLine(BOOL bTop);
|
|
|
|
|
|
//<2F><><EFBFBD>²<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//virtual void CreateBendLinePointArr(BOOL bTop,CPointArr &ptArrControl,CPointArr &ptArrLeft,CPointArr &ptArrRight);
|
|
|
|
|
|
virtual void CreateBendLinePointArr(BOOL bTop, std::vector<dfPoint> &ptArrControl, CPointArr &ptArrLeft, CPointArr &ptArrRight);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>
|
|
|
|
|
|
//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);//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void BendLithoBreak(CString str,CPointArr &ptArrControl,CInTrackDepthSegment* pLayerThin,CInTrackDepthSegment* pLayerThick);//xΪ<78>ϲ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٷֱ<D9B7>,yΪ<79>²<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٷֱ<D9B7>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int ReadPCG_Bend(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|