|
|
|
|
#pragma once
|
|
|
|
|
#include "ObjBase.h"
|
|
|
|
|
#include "ObjContainer.h"
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>
|
|
|
|
|
class CObjComposite :public CObjBase
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CObjComposite(void);
|
|
|
|
|
CObjComposite(CObjComposite &rhs);
|
|
|
|
|
virtual ~CObjComposite(void);
|
|
|
|
|
virtual CObjComposite * Clone(){return new CObjComposite(*this);};
|
|
|
|
|
virtual CString GetStr(){return "<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD>";};
|
|
|
|
|
virtual OBJ_TYPE GetType(){return _TYPE_COMPOSITE;};
|
|
|
|
|
virtual void WriteWorkFileExt(vector<CLab> &LabVec);
|
|
|
|
|
virtual void ReadWorkFileExt(CLabVecRang &LabVecRang);
|
|
|
|
|
|
|
|
|
|
virtual void CreatExt(){};
|
|
|
|
|
virtual void Draw(CDC* pDC,CPen &Pen);
|
|
|
|
|
virtual bool IsInRect(DbRect rect,bool bNeedAllIn);
|
|
|
|
|
virtual void SetSelected(bool bSelected);
|
|
|
|
|
virtual void Operate(SObjOperatePar &par);
|
|
|
|
|
virtual DbRect GetRect();
|
|
|
|
|
virtual void GetPtData(vector<vector<Dbxy>> &vec);
|
|
|
|
|
virtual void GetLineInRect(DbRect &rect,vector<DbLine> &DataPtLineVec,bool bGetCatchNode = true);
|
|
|
|
|
public:
|
|
|
|
|
void AddPt(CDataPoint pt,bool bNewLine);
|
|
|
|
|
void Creat();
|
|
|
|
|
void SetPosition(Dbxy pt);//<2F><><EFBFBD>û<EFBFBD><EFBFBD><D7BC>
|
|
|
|
|
protected:
|
|
|
|
|
void UpdateSelState();
|
|
|
|
|
private:
|
|
|
|
|
void SavePar(SObjOperatePar &par);
|
|
|
|
|
protected:
|
|
|
|
|
CObjContainer m_ObjContainer;//<2F><><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
|
|
|
|
|
Dbxy m_BasePt1;//<2F><><EFBFBD><EFBFBD>object <20><>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB>
|
|
|
|
|
Dbxy m_BasePt2;//<2F><><EFBFBD><EFBFBD>object <20><>ǰ<EFBFBD><C7B0>λ<EFBFBD><CEBB>(<28><><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><C2BC>ת)
|
|
|
|
|
double m_Distance;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|