|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "item.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NItem
|
|
|
|
|
|
{
|
|
|
|
|
|
class CItemPointAdd :
|
|
|
|
|
|
public CItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
enum POINT_MODE
|
|
|
|
|
|
{
|
|
|
|
|
|
POINT_MODE_SINGLE = 0,
|
|
|
|
|
|
POINT_MODE_CONTINUE
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
enum POINT_TYPE //Ҫ<><D2AA><EFBFBD>ӵĵ<D3B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
POINT_TYPE_COMMON = 0, //<2F><>ͨ<EFBFBD><CDA8>
|
|
|
|
|
|
POINT_TYPE_FRACTIOIN = 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
public:
|
|
|
|
|
|
CItemPointAdd(CSigmaDoc * ppDoc);
|
|
|
|
|
|
virtual ~CItemPointAdd(void);
|
|
|
|
|
|
|
|
|
|
|
|
void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override;
|
|
|
|
|
|
void OnDraw(CXyDC* pDC) override;
|
|
|
|
|
|
virtual void ClearDisplayPoint(void);
|
|
|
|
|
|
bool GetPoint(double * xOut, double * yOut, double* zOut);
|
|
|
|
|
|
void SetMode(POINT_MODE mode);
|
|
|
|
|
|
void SetPointName(CDC* pDC, LPCTSTR pointName);
|
|
|
|
|
|
void SetPointDefaultName(LPCTSTR pointName);
|
|
|
|
|
|
void SetPointDefaultZ(double pointZ);
|
|
|
|
|
|
void SetPointAngle(CDC* pDC, double angle);
|
|
|
|
|
|
void SetPointX(CDC* pDC, double angle);
|
|
|
|
|
|
void SetPointY(CDC* pDC, double angle);
|
|
|
|
|
|
void SetPointZ(CDC* pDC, double z);
|
|
|
|
|
|
void ChangeAngle(double angle);
|
|
|
|
|
|
|
|
|
|
|
|
void SetPointType(POINT_TYPE type);
|
|
|
|
|
|
void SetNumeratorString(CDC* pDC, LPCTSTR numeratorStr); //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
void SetDenominatorString(CDC* pDC, LPCTSTR denominatorStr); //<2F><>ĸ
|
|
|
|
|
|
|
|
|
|
|
|
void UpdateDraw();
|
|
|
|
|
|
virtual void UpdateOne(COne* pOne);
|
|
|
|
|
|
void DrawAssistant(CDC * pDC, int mouseX, int mouseY) override;
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
COne * CreateOne(double x, double y, double z);
|
|
|
|
|
|
virtual COne* CreateOne();
|
|
|
|
|
|
void DrawSinglePoint(CPoint3D & pt);
|
|
|
|
|
|
virtual void AddPoint(CPoint3D & pt);
|
|
|
|
|
|
void SetPoint(CPoint3D pt);
|
|
|
|
|
|
void ChangeAngleOrNameOfCOne();
|
|
|
|
|
|
|
|
|
|
|
|
bool CreateMemDC(CMemoryDC* pMemDC, CRect rect, CDC* pDC);
|
|
|
|
|
|
void FillBackGround(CDC* pDes, CDC* pSrc, CRect rect);
|
|
|
|
|
|
CPointTwoName * GetFractionPoint(void);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
COne * m_pCurOne; //<2F>൱<EFBFBD><E0B5B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʾͼԪ
|
|
|
|
|
|
CPoint3D m_pt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
POINT_MODE m_mode;
|
|
|
|
|
|
CString m_pointName;
|
|
|
|
|
|
CString m_numeratorString; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString m_denominatorString; //<2F><>ĸ
|
|
|
|
|
|
double m_z; // z
|
|
|
|
|
|
double m_angle; //ֵ<>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
POINT_TYPE m_type = POINT_TYPE_COMMON; //0--<2D><>ͨ<EFBFBD><CDA8> 1--
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|