//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : CBNode.cpp // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: ÀàµÄ¶¨Òå // = Maintainers: // //-----------------------------------------------------------------------------+ #include "StdAfx.h" #include "CBNode.h" CBNode::CBNode(BLType eType,double len,const AcGePoint3d& pt,CBArc* pAr) { m_eType = eType; m_s = len; m_pt = pt; m_pArc = pAr; m_bVisible = 1; } CBNode::CBNode() { m_pArc = NULL; m_bVisible = 1; } CBNode::CBNode(CBNode* pNode) { m_eType = pNode->m_eType; m_s = pNode->m_s; m_pt = pNode->m_pt; if (pNode->m_pArc != NULL) { m_pArc = new CBArc; *m_pArc = *(pNode->m_pArc); } else { m_pArc = NULL; } m_bVisible = pNode->m_bVisible; } CBNode::~CBNode() { if (m_pArc != NULL) { delete m_pArc; } } CBNode& CBNode::operator = (const CBNode& bLineNode) { m_eType = bLineNode.m_eType; m_s = bLineNode.m_s; m_pt = bLineNode.m_pt; m_bVisible = bLineNode.m_bVisible; if (m_pArc != NULL) { delete m_pArc; } if (bLineNode.m_pArc != NULL) { m_pArc = new CBArc; *m_pArc = *(bLineNode.m_pArc); } else { m_pArc = NULL; } return *this; }