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.

42 lines
1.4 KiB
C

#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>
};