179 lines
4.3 KiB
C++
179 lines
4.3 KiB
C++
#include "stdafx.h"
|
|
#include "AecDbConnectDoghouse.h"
|
|
|
|
Adesk::UInt32 AecDbConnectDoghouse::kCurrentVersionNumber = 1;
|
|
static const Adesk::UInt16 kColorByBlock = 0;
|
|
static const Adesk::UInt16 kRed = 1;
|
|
static const Adesk::UInt16 kYellow = 2;
|
|
static const Adesk::UInt16 kGreen = 3;
|
|
static const Adesk::UInt16 kCyan = 4;
|
|
static const Adesk::UInt16 kBlue = 5;
|
|
static const Adesk::UInt16 kMagenta = 6;
|
|
static const Adesk::UInt16 kWhite = 7;
|
|
static const Adesk::UInt16 kColorByLayer = 256;
|
|
|
|
ACRX_DXF_DEFINE_MEMBERS (AecDbConnectDoghouse, AecDbPortRoom,
|
|
AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent,
|
|
AcDbProxyEntity::kNoOperation | AcDbProxyEntity::kDisableProxyWarning,
|
|
AEC_CNTDOGHS,
|
|
"AecDbConnectDoghouse"
|
|
"|Product Desc: shanghua earthworm app obj"
|
|
"|Company: shanghua inc"
|
|
"|WEB Address: www.shanghuasoft.com")
|
|
|
|
AecDbConnectDoghouse::AecDbConnectDoghouse(void)
|
|
{
|
|
m_ptLast.set(0,0,0);
|
|
m_vtDirLast.set(0,0,0);
|
|
m_ptNext.set(0,0,0);
|
|
m_vtDirNext.set(0,0,0);
|
|
}
|
|
|
|
AecDbConnectDoghouse::~AecDbConnectDoghouse(void)
|
|
{
|
|
}
|
|
|
|
void AecDbConnectDoghouse::SetData(int nType,double dChamfL,LPCTSTR pszEWScript)
|
|
{
|
|
assertWriteEnabled();
|
|
m_fncNode.nFlag = nType;
|
|
m_fncNode.fNodeDef[0] = (float)dChamfL;
|
|
|
|
if (pszEWScript != NULL)
|
|
_tcscpy(m_fncNode.szNodeDefSpec,pszEWScript);
|
|
}
|
|
|
|
void AecDbConnectDoghouse::SetLastDir(const AcGePoint3d& ptEnd,const AcGeVector3d& vtDir)
|
|
{
|
|
assertWriteEnabled();
|
|
m_ptLast = ptEnd;
|
|
m_vtDirLast = vtDir;
|
|
}
|
|
|
|
void AecDbConnectDoghouse::SetNextDir(const AcGePoint3d& ptSta,const AcGeVector3d& vtDir)
|
|
{
|
|
assertWriteEnabled();
|
|
m_ptNext = ptSta;
|
|
m_vtDirNext = vtDir;
|
|
}
|
|
|
|
bool AecDbConnectDoghouse::GetLastDir(AcDbRay& vLast) const
|
|
{
|
|
assertReadEnabled();
|
|
if (!m_vtDirLast.isZeroLength())
|
|
{
|
|
vLast.setUnitDir(m_vtDirLast);
|
|
vLast.setBasePoint(m_ptLast);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool AecDbConnectDoghouse::GetNextDir(AcDbRay& vNext) const
|
|
{
|
|
assertReadEnabled();
|
|
if (!m_vtDirNext.isZeroLength())
|
|
{
|
|
vNext.setBasePoint(m_ptNext);
|
|
vNext.setUnitDir(m_vtDirNext);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
Adesk::Boolean AecDbConnectDoghouse::GetDraw2d(AcDbVoidPtrArray& arEntPtrs,int nSectionDrawStyle) const
|
|
{
|
|
return Adesk::kTrue;
|
|
}
|
|
|
|
Adesk::Boolean AecDbConnectDoghouse::GetDraw3d(AcDbVoidPtrArray& arEntPtrs,bool bWriteBimInfo) const
|
|
{
|
|
assertReadEnabled();
|
|
|
|
if (!m_vtDirLast.isZeroLength() && !m_vtDirNext.isZeroLength())
|
|
{
|
|
AcDbRay ray1,ray2;
|
|
GetLastDir(ray1);
|
|
GetNextDir(ray2);
|
|
|
|
|
|
}
|
|
return Adesk::kTrue;
|
|
}
|
|
|
|
Acad::ErrorStatus AecDbConnectDoghouse::Draw2d(AcGiDraw &dc) const
|
|
{
|
|
assertReadEnabled();
|
|
return Acad::eOk;
|
|
}
|
|
|
|
Acad::ErrorStatus AecDbConnectDoghouse::Draw3d(AcGiDraw &dc) const
|
|
{
|
|
assertReadEnabled();
|
|
|
|
|
|
|
|
|
|
return Acad::eOk;
|
|
}
|
|
|
|
Acad::ErrorStatus AecDbConnectDoghouse::dwgInFields (AcDbDwgFiler* pFiler)
|
|
{
|
|
assertWriteEnabled();
|
|
|
|
//----- Read parent class information first.
|
|
Acad::ErrorStatus es = AecDbPortRoom::dwgInFields (pFiler) ;
|
|
if ( es != Acad::eOk )
|
|
return (es) ;
|
|
|
|
//----- Object version number needs to be read first
|
|
Adesk::UInt32 version =0 ;
|
|
if ( (es =pFiler->readUInt32 (&version)) != Acad::eOk )
|
|
return (es) ;
|
|
if ( version > AecDbConnectDoghouse::kCurrentVersionNumber )
|
|
return (Acad::eMakeMeProxy) ;
|
|
|
|
pFiler->readPoint3d(&m_ptLast);
|
|
pFiler->readVector3d(&m_vtDirLast);
|
|
|
|
pFiler->readPoint3d(&m_ptNext);
|
|
pFiler->readVector3d(&m_vtDirNext);
|
|
|
|
UpdateDraw();
|
|
return (pFiler->filerStatus ()) ;
|
|
|
|
return Acad::eOk;
|
|
}
|
|
|
|
Acad::ErrorStatus AecDbConnectDoghouse::dwgOutFields(AcDbDwgFiler* pFiler) const
|
|
{
|
|
assertReadEnabled ();
|
|
//----- Save parent class information first.
|
|
Acad::ErrorStatus es = AecDbEntityBase::dwgOutFields (pFiler) ;
|
|
if ( es != Acad::eOk )
|
|
return (es) ;
|
|
|
|
//----- Object version number needs to be saved first
|
|
if ( (es =pFiler->writeUInt32 (AecDbPortRoom::kCurrentVersionNumber)) != Acad::eOk )
|
|
return (es) ;
|
|
|
|
pFiler->writePoint3d(m_ptLast);
|
|
pFiler->writeVector3d(m_vtDirLast);
|
|
|
|
pFiler->writePoint3d(m_ptNext);
|
|
pFiler->writeVector3d(m_vtDirNext);
|
|
|
|
return (pFiler->filerStatus ()) ;
|
|
}
|
|
|
|
Acad::ErrorStatus AecDbConnectDoghouse::dxfInFields (AcDbDxfFiler* pFiler)
|
|
{
|
|
assertWriteEnabled();
|
|
return Acad::eOk;
|
|
}
|
|
|
|
Acad::ErrorStatus AecDbConnectDoghouse::dxfOutFields(AcDbDxfFiler* pFiler) const
|
|
{
|
|
assertReadEnabled ();
|
|
return Acad::eOk;
|
|
} |