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.

38 lines
1.4 KiB
C++

#pragma once
#include "ObjBase.h"
class CModule;
class CObjCircle :public CObjBase
{
public:
CObjCircle(void);
~CObjCircle(void);
virtual CObjCircle * Clone(){return new CObjCircle(*this);};
virtual CString GetStr();
virtual OBJ_TYPE GetType(){return _TYPE_CIRCLE;};
virtual CMFCPropertyGridProperty *CreatSpecialGridProperty(CModule *pModule);
virtual void OnSpecialPropertyChanged();
virtual void WriteWorkFileExt(vector<CLab> &LabVec);
virtual void ReadWorkFileExt(CLabVecRang &LabVecRang);
virtual void CreatByRadius(double Radius,Dbxy CenterPt,int EdgeCnt);
virtual void Draw(CDC* pDC,CPen &Pen);
virtual void GetPtData(vector<vector<Dbxy>> &vec);
virtual void DrawPtCoord(CDC* pDC);
void Creat(CCirclePar ObjCirclePar);
void ReCreat(double Radius,int DEdgeCnt);
void OnlyDrawCenterPt(){m_bOnlyDrawCenterPt = true;};
private:
double m_OldRadius;//半径(用来判断是否变化了)
double m_OldDiameter;//直径(用来判断是否变化了)
int m_OldEdgeCnt;//边数(用来判断是否变化了)
double m_Radius;//半径
double m_Diameter;//直径
int m_EdgeCnt;//边数
bool m_bOnlyDrawCenterPt;//只绘制圆心十字
};