Files
envi-code/SourceCode/Code2026/tg_shs/shs_pipebase/TInterface.cpp
T

325 lines
5.8 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#include "stdafx.h"
2026-09-28 15:28:50 +08:00
#include "TInterface.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
TInterface::TInterface()
{
m_ptGePos.set(0,0,0);
m_vtOutDir.set(0,0,0);
m_idConnect.setNull();
m_idOwner.setNull();
m_nCompareRule = 0;
m_nNotCompareRule = 0;
m_pszDescr = NULL;
m_dSize = 0.0f;
m_dSize1 = 0.0f;
m_nType = 0;
}
TInterface::TInterface(const TInterface& iSrc)
{
m_ptGePos = iSrc.m_ptGePos;
m_vtOutDir = iSrc.m_vtOutDir;
m_idConnect = iSrc.m_idConnect;
m_idOwner = iSrc.m_idOwner;
m_nCompareRule = iSrc.m_nCompareRule;
m_nNotCompareRule = iSrc.m_nNotCompareRule;
m_dSize = iSrc.m_dSize;
m_dSize1 = iSrc.m_dSize1;
m_pszDescr = NULL;
m_nType = iSrc.m_nType;
//BEGIN=========================================================
if (iSrc.m_pszDescr != NULL)
{
INT_PTR nLen = 0;
try
{
nLen = _tcslen(iSrc.m_pszDescr) + 1;
m_pszDescr = new TCHAR[nLen];
_tcscpy(m_pszDescr,iSrc.m_pszDescr);
}
catch (...)
{
}
}
2026-10-04 00:04:20 +08:00
//修改时间:2010-02-11
//修改人 :mcl
//修改原因:支持接口描述拷贝
2026-09-28 15:28:50 +08:00
//END===========================================================
}
TInterface::~TInterface()
{
if (m_pszDescr != NULL)
delete [] m_pszDescr;
}
void TInterface::Reset()
{
m_ptGePos.set(0,0,0);
m_vtOutDir.set(0,0,0);
m_idConnect.setNull();
m_idOwner.setNull();
m_nCompareRule = 0;
if (m_pszDescr != NULL)
delete [] m_pszDescr;
m_pszDescr = NULL;
m_dSize = 0.0f;
m_dSize1 = 0.0f;
}
void TInterface::SetPosition(const AcGePoint3d& ptPos)
{
m_ptGePos = ptPos;
}
AcGePoint3d TInterface::GetPosition() const
{
return m_ptGePos;
}
AcGePoint3d& TInterface::GetPosition()
{
return m_ptGePos;
}
void TInterface::SetMidPoint(const AcGePoint3d& ptPos)
{
m_ptGeMid = ptPos;
}
AcGePoint3d TInterface::GetMidPoint() const
{
return m_ptGeMid;
}
AcGePoint3d& TInterface::GetMidPoint()
{
return m_ptGeMid;
}
void TInterface::SetOutDir(const AcGeVector3d& vtDir)
{
m_vtOutDir = vtDir;
}
AcGeVector3d TInterface::GetOutDir() const
{
return m_vtOutDir;
}
AcGeVector3d& TInterface::GetOutDir()
{
return m_vtOutDir;
}
void TInterface::SetConnectObject(const AcDbObjectId& idCon)
{
m_idConnect = idCon;
}
AcDbObjectId TInterface::GetConnectObject() const
{
AcDbObjectId id;
id.setFromOldId(m_idConnect.asOldId());
return id;
}
void TInterface::SetOwnerId(const AcDbObjectId& idOwner)
{
m_idOwner = idOwner;
}
AcDbObjectId TInterface::GetOwnerId() const
{
AcDbObjectId id;
id.setFromOldId(m_idOwner.asOldId());
return id;
}
TInterface& TInterface::operator = (const TInterface& iSrc)
{
if (this != &iSrc)
{
m_ptGePos = iSrc.m_ptGePos;
m_vtOutDir = iSrc.m_vtOutDir;
m_idConnect = iSrc.m_idConnect;
m_idOwner = iSrc.m_idOwner;
m_nCompareRule = iSrc.m_nCompareRule;
m_nNotCompareRule = iSrc.m_nNotCompareRule;
m_dSize = iSrc.m_dSize;
m_dSize1 = iSrc.m_dSize1;
2026-10-04 00:04:20 +08:00
if (m_pszDescr != NULL) // mcl add,2010.02.11
2026-09-28 15:28:50 +08:00
{
delete [] m_pszDescr;
m_pszDescr = NULL;
}
if (iSrc.m_pszDescr != NULL)
{
m_pszDescr = new TCHAR[_tcslen(iSrc.m_pszDescr) + 1];
_tcscpy(m_pszDescr,iSrc.m_pszDescr);
}
m_nType = iSrc.m_nType;
}
return *this;
}
void TInterface::CopyFrom(const TInterface& iSrc)
{
m_ptGePos = iSrc.m_ptGePos;
m_vtOutDir = iSrc.m_vtOutDir;
m_idConnect = iSrc.m_idConnect;
m_idOwner = iSrc.m_idOwner;
m_nCompareRule = iSrc.m_nCompareRule;
m_nNotCompareRule = iSrc.m_nNotCompareRule;
m_dSize = iSrc.m_dSize;
m_dSize1 = iSrc.m_dSize1;
2026-10-04 00:04:20 +08:00
if (m_pszDescr != NULL) // mcl add,2010.02.11
2026-09-28 15:28:50 +08:00
{
delete [] m_pszDescr;
m_pszDescr = NULL;
}
if (iSrc.m_pszDescr != NULL)
{
m_pszDescr = new TCHAR[_tcslen(iSrc.m_pszDescr) + 1];
_tcscpy(m_pszDescr,iSrc.m_pszDescr);
}
m_nType = iSrc.m_nType;
}
void TInterface::TransformBy(const AcGeMatrix3d& xform)
{
m_ptGePos.transformBy(xform);
m_vtOutDir.transformBy(xform);
}
void TInterface::OtherBeforeTransformBy(const TInterfaceModifyMsg& msg)
{
AcDbObjectId idOwner = m_idOwner;
AcDbObjectId idCon = m_idConnect;
AcGeMatrix3d xform = msg.GetTransform();
xform.invert();
AcGePoint3d ptGe = m_ptGePos;
ptGe.transformBy(xform);
AcGeVector3d vtDir = m_vtOutDir;
vtDir.transformBy(xform);
SetOutDir(vtDir);
SetPosition(ptGe);
SetOwnerId(idCon);
SetConnectObject(idOwner);
}
void TInterface::SetCompareRule(int nCompareRule,int nNotCompareRule)
{
m_nCompareRule = nCompareRule;
m_nNotCompareRule = nNotCompareRule;
}
int TInterface::GetNotCompareRule() const
{
return m_nNotCompareRule;
}
int TInterface::GetCompareRule() const
{
return m_nCompareRule;
}
void TInterface::SetSize(double dSize,double dSize1)
{
m_dSize = (float)dSize;
m_dSize1 = (float)dSize1;
}
void TInterface::GetSize(double& dSize,double& dSize1) const
{
dSize = m_dSize;
dSize1 = m_dSize1;
}
void TInterface::SetDescr(LPCTSTR pszDescr)
{
if (pszDescr != NULL)
{
if (m_pszDescr != NULL) delete [] m_pszDescr;
m_pszDescr = new TCHAR[_tcslen(pszDescr) + 1];
_tcscpy(m_pszDescr,pszDescr);
}
else
{
2026-10-04 00:04:20 +08:00
if (m_pszDescr != NULL) // mcl add,2010.02.11
2026-09-28 15:28:50 +08:00
{
delete [] m_pszDescr;
m_pszDescr = NULL;
}
}
}
void TInterface::GetDescr(CString& sDescr) const
{
if (m_pszDescr != NULL)
sDescr = m_pszDescr;
}
void TInterface::SetType(short nType)
{
m_nType = nType;
}
short TInterface::GetType() const
{
return m_nType;
}
TInterfaces::TInterfaces()
{
}
TInterfaces::~TInterfaces()
{
}
int TInterfaces::append( TInterface& value )
{
return (int)m_arInterfaces.Add(value);
}
TInterface TInterfaces::at(int index) const
{
ASSERT(index > -1 && index < m_arInterfaces.GetSize());
return m_arInterfaces.GetAt(index);
}
int TInterfaces::length() const
{
return (int)m_arInterfaces.GetSize();
}
void TInterfaces::removeAt(int iIndex)
{
m_arInterfaces.RemoveAt(iIndex);
}
TInterface TInterfaces::operator[](int nIndex) const
{
return m_arInterfaces.GetAt(nIndex);
}
TInterface& TInterfaces::operator[](int nIndex)
{
return m_arInterfaces[nIndex];
}