#include "StdAfx.h" #include "ItemPointCrossAdd.h" #include "SigmaDoc.h" #include "SigmaView.h" #include "DCHelp.h" CItemPointCrossAdd::CItemPointCrossAdd(CSigmaDoc * ppDoc) : CItemPointAdd(ppDoc) { this->SetType(ITEM_CROSSPOINT); } CItemPointCrossAdd::~CItemPointCrossAdd(void) { ClearDisplayPoint(); } void CItemPointCrossAdd::UpdateOne(COne* pOne) { CPointCrossName* pPoint = (CPointCrossName*)pOne->GetValue(); pPoint->x0 = m_pt.x0; pPoint->y0 = m_pt.y0; pPoint->angle = m_angle; pPoint->m_name1.SetName(m_name1); pPoint->m_name2.SetName(m_name2); pPoint->m_name3.SetName(m_name3); pPoint->m_name4.SetName(m_name4); } void CItemPointCrossAdd::ClearDisplayPoint(void) { m_pt.x0 = m_pt.y0 = 0.0; m_angle = 0; m_name1.Empty(); m_name2.Empty(); m_name3.Empty(); m_name4.Empty(); //m_pointName.Empty(); if (m_pCurOne == NULL) return; delete m_pCurOne; m_pCurOne = NULL; } void CItemPointCrossAdd::SetName1(CString name1) { m_name1 = name1; //UpdateDraw(); } void CItemPointCrossAdd::SetName2(CString name2) { m_name2 = name2; //UpdateDraw(); } void CItemPointCrossAdd::SetName3(CString name3) { m_name3 = name3; //UpdateDraw(); } void CItemPointCrossAdd::SetName4(CString name4) { m_name4 = name4; //UpdateDraw(); } COne* CItemPointCrossAdd::CreateOne() { CPointCrossName* pt = new CPointCrossName; pt->x0 = m_pt.x0; pt->y0 = m_pt.y0; pt->angle = m_angle; //pt->SetName(m_pointName); pt->m_name1.SetName(m_name1); pt->m_name2.SetName(m_name2); pt->m_name3.SetName(m_name3); pt->m_name4.SetName(m_name4); return m_pDoc->GetDraw()->CreateOne(pt, DOUBLEFOX_CROSSPOINT); } void CItemPointCrossAdd::AddPoint(CPoint3D & point) { CPoint2D pt = GetDC()->GetReal(point); m_pt.x0 = pt.x0; m_pt.y0 = pt.y0; m_pt.z0 = point.z0; CPointCrossName * ptNameEx = CreateCrossPoint(); AddElement(ptNameEx, DOUBLEFOX_CROSSPOINT); CPointCrossName * ptTmp = CreateCrossPoint(); COne* pOne = m_pDoc->GetDraw()->CreateOne(ptTmp, DOUBLEFOX_CROSSPOINT); CRect rect = m_client; CDC* pDC = m_pScreenDC; GetDC()->Create(pDC); pOne->Draw(*GetDC()); m_pDoc->GetDraw()->RemoveAt(pOne); if (pOne != nullptr) { delete pOne; pOne = nullptr; } } CPointCrossName* CItemPointCrossAdd::CreateCrossPoint(void) { CPointCrossName* pPoint = new CPointCrossName; pPoint->x0 = m_pt.x0; pPoint->y0 = m_pt.y0; pPoint->angle = m_angle; pPoint->m_name1.SetName(m_name1); pPoint->m_name2.SetName(m_name2); pPoint->m_name3.SetName(m_name3); pPoint->m_name4.SetName(m_name4); return pPoint; }