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.

70 lines
1.9 KiB
C

1 month ago
#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--
};
}