318 lines
5.9 KiB
C++
318 lines
5.9 KiB
C++
#include "stdafx.h"
|
|
#include "AECStatusRecord.h"
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[]=__FILE__;
|
|
#define new DEBUG_NEW
|
|
#endif
|
|
|
|
AECStatusRecord::AECStatusRecord()
|
|
{
|
|
m_eAcquire = AECStatusRecord::kDist;
|
|
m_nPlanPos = -1;
|
|
m_szPrompt[0] = _T('\0');
|
|
m_szKeywords[0] = _T('\0');
|
|
m_dVal[0] = m_dVal[1] = m_dVal[2] = 0;
|
|
m_bValSeted = FALSE;
|
|
m_bSegStatFinish = FALSE;
|
|
m_pParentStatus = NULL;
|
|
m_pBackStatus = NULL;
|
|
m_nPos = 0;
|
|
m_bCmdStop = FALSE;
|
|
m_nUndoGoupid = -1;
|
|
m_dRefValue = 0;
|
|
}
|
|
|
|
AECStatusRecord::AECStatusRecord(const AECStatusRecord& src)
|
|
{
|
|
_tcscpy(m_szPrompt,src.m_szPrompt);
|
|
_tcscpy(m_szKeywords,src.m_szKeywords);
|
|
|
|
memcpy(m_dVal,src.m_dVal,sizeof(m_dVal));
|
|
_tcscpy(m_szVal,src.m_szVal);
|
|
memcpy(m_adsEnt,src.m_adsEnt,sizeof(m_adsEnt));
|
|
|
|
m_mapPos2StatusNext = src.m_mapPos2StatusNext;
|
|
m_mapPos2StatusLast = src.m_mapPos2StatusLast;
|
|
|
|
m_mapStatus = src.m_mapStatus;
|
|
m_nPos = src.m_nPos;
|
|
m_eAcquire = src.m_eAcquire;
|
|
m_nPlanPos = src.m_nPlanPos;
|
|
m_bValSeted = src.m_bValSeted;
|
|
m_bCmdStop = src.m_bCmdStop;
|
|
m_eAcquire = src.m_eAcquire;
|
|
m_pParentStatus = src.m_pParentStatus;
|
|
m_pBackStatus = src.m_pBackStatus;
|
|
m_dRefValue = src.m_dRefValue;
|
|
}
|
|
|
|
AECStatusRecord::~AECStatusRecord()
|
|
{
|
|
|
|
}
|
|
|
|
LPCTSTR AECStatusRecord::Prompt()
|
|
{
|
|
return m_szPrompt;
|
|
}
|
|
|
|
void AECStatusRecord::SetPrompt(LPCTSTR pszPrompt)
|
|
{
|
|
if (pszPrompt != NULL)
|
|
{
|
|
_tcscpy(m_szPrompt,pszPrompt);
|
|
}
|
|
}
|
|
|
|
LPCTSTR AECStatusRecord::KeywordList()
|
|
{
|
|
return m_szKeywords;
|
|
}
|
|
|
|
void AECStatusRecord::SetKeywordList(LPCTSTR pszKeys)
|
|
{
|
|
if (pszKeys != NULL)
|
|
{
|
|
_tcscpy(m_szKeywords,pszKeys);
|
|
}
|
|
}
|
|
|
|
void AECStatusRecord::SetNextStatus(AECStatusRecord* pStatus,int nPos)
|
|
{
|
|
m_mapPos2StatusNext[nPos] = pStatus;
|
|
if (pStatus != NULL)
|
|
{
|
|
pStatus->m_mapPos2StatusLast[nPos] = this;
|
|
}
|
|
}
|
|
|
|
AECStatusRecord* AECStatusRecord::GetNextStatus(int nPos)
|
|
{
|
|
if (m_mapPos2StatusNext.find(nPos) != m_mapPos2StatusNext.end())
|
|
return m_mapPos2StatusNext[nPos];
|
|
return NULL;
|
|
}
|
|
|
|
void AECStatusRecord::SetCommandStop(BOOL bStop)
|
|
{
|
|
m_bCmdStop = bStop;
|
|
}
|
|
|
|
BOOL AECStatusRecord::IsCommand2Stop()
|
|
{
|
|
return m_bCmdStop;
|
|
}
|
|
|
|
void AECStatusRecord::SetPos(int nPos)
|
|
{
|
|
m_nPos = nPos;
|
|
}
|
|
|
|
int AECStatusRecord::GetPos()
|
|
{
|
|
return m_nPos;
|
|
}
|
|
|
|
void AECStatusRecord::SetUndoGroupId(int nUndoGoupid)
|
|
{
|
|
m_nUndoGoupid = nUndoGoupid;
|
|
}
|
|
|
|
int AECStatusRecord::GetUndoGroupId()
|
|
{
|
|
return m_nUndoGoupid;
|
|
}
|
|
|
|
AECStatusRecord* AECStatusRecord::GetLastStatus(int nPos)
|
|
{
|
|
if (m_mapPos2StatusLast.find(nPos) != m_mapPos2StatusLast.end())
|
|
return m_mapPos2StatusLast[nPos];
|
|
return NULL;
|
|
}
|
|
|
|
void AECStatusRecord::SetBackStatus(AECStatusRecord* pStatus)
|
|
{
|
|
m_pBackStatus = pStatus;
|
|
}
|
|
|
|
AECStatusRecord* AECStatusRecord::GetBackStatus()
|
|
{
|
|
return m_pBackStatus;
|
|
}
|
|
|
|
void AECStatusRecord::SetKeyStatus(LPCTSTR pszKey,AECStatusRecord* pStatuss)
|
|
{
|
|
if (pszKey != NULL)
|
|
{
|
|
std::pair<CString,AECStatusRecord*> value(pszKey,pStatuss);
|
|
m_mapStatus.insert(value);
|
|
pStatuss->m_pParentStatus = this;
|
|
}
|
|
}
|
|
|
|
AECStatusRecord* AECStatusRecord::GetKeyStatus(LPCTSTR pszKey)
|
|
{
|
|
if (pszKey != NULL)
|
|
{
|
|
if (m_mapStatus.find(pszKey) != m_mapStatus.end())
|
|
{
|
|
return m_mapStatus[pszKey];
|
|
}
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
AECStatusRecord * AECStatusRecord::GetParentStaRec()
|
|
{
|
|
return m_pParentStatus;
|
|
}
|
|
|
|
void AECStatusRecord::SetAcquireDouble(double dVl)
|
|
{
|
|
m_dVal[0] = dVl;
|
|
m_bValSeted = TRUE;
|
|
}
|
|
|
|
double AECStatusRecord::GetAcquireDouble()
|
|
{
|
|
return m_dVal[0];
|
|
}
|
|
|
|
void AECStatusRecord::SetAcquireString(LPCTSTR pszVal)
|
|
{
|
|
if (pszVal != NULL)
|
|
{
|
|
_tcscpy(m_szVal,pszVal);
|
|
m_bValSeted = TRUE;
|
|
}
|
|
}
|
|
|
|
void AECStatusRecord::SetAcquirePoint(const AcGePoint3d& ptGe)
|
|
{
|
|
m_dVal[0] = ptGe.x;
|
|
m_dVal[1] = ptGe.y;
|
|
m_dVal[2] = ptGe.z;
|
|
m_bValSeted = TRUE;
|
|
}
|
|
|
|
AcGePoint3d AECStatusRecord::GetAcquirePoint()
|
|
{
|
|
return AcGePoint3d(m_dVal[0],m_dVal[1],m_dVal[2]);
|
|
}
|
|
|
|
void AECStatusRecord::SetStatusType(EAcquire eType)
|
|
{
|
|
m_eAcquire = eType;
|
|
m_bValSeted = TRUE;
|
|
}
|
|
|
|
AECStatusRecord::EAcquire AECStatusRecord::GetStatusType()
|
|
{
|
|
return m_eAcquire;
|
|
}
|
|
|
|
void AECStatusRecord::SetPlanPosition(int nPos)
|
|
{
|
|
m_nPlanPos = nPos;
|
|
}
|
|
|
|
int AECStatusRecord::GetPlanPosition()
|
|
{
|
|
return m_nPlanPos;
|
|
}
|
|
|
|
LPCTSTR AECStatusRecord::GetAcquireString()
|
|
{
|
|
return m_szVal;
|
|
}
|
|
|
|
void AECStatusRecord::SetAcquireEntity(const AcDbObjectId& id)
|
|
{
|
|
|
|
}
|
|
|
|
void AECStatusRecord::GetAcquireEntity(AcDbObjectId& id)
|
|
{
|
|
|
|
}
|
|
|
|
void AECStatusRecord::SetSegStatusFinish(BOOL bFlag)
|
|
{
|
|
m_bSegStatFinish = bFlag;
|
|
}
|
|
|
|
BOOL AECStatusRecord::IsStatusFinish()
|
|
{
|
|
return m_bSegStatFinish;
|
|
}
|
|
|
|
BOOL AECStatusRecord::IsValSeted()
|
|
{
|
|
return m_bValSeted;
|
|
}
|
|
|
|
void AECStatusRecord::SetRefDblValue(double dVal)
|
|
{
|
|
m_dRefValue = dVal;
|
|
}
|
|
|
|
double AECStatusRecord::GetRefDblValue()
|
|
{
|
|
return m_dRefValue;
|
|
}
|
|
|
|
AECStatusRecord& AECStatusRecord::operator = (const AECStatusRecord& src)
|
|
{
|
|
if (this != &src)
|
|
{
|
|
_tcscpy(m_szPrompt,src.m_szPrompt);
|
|
_tcscpy(m_szKeywords,src.m_szKeywords);
|
|
|
|
memcpy(m_dVal,src.m_dVal,sizeof(m_dVal));
|
|
_tcscpy(m_szVal,src.m_szVal);
|
|
memcpy(m_adsEnt,src.m_adsEnt,sizeof(m_adsEnt));
|
|
m_mapStatus = src.m_mapStatus;
|
|
|
|
//copy next status;
|
|
m_mapPos2StatusNext = src.m_mapPos2StatusNext;
|
|
m_mapPos2StatusLast = src.m_mapPos2StatusLast;
|
|
|
|
m_bSegStatFinish = src.m_bSegStatFinish;
|
|
m_pBackStatus = src.m_pBackStatus;
|
|
|
|
m_eAcquire = src.m_eAcquire;
|
|
m_nPlanPos = src.m_nPlanPos;
|
|
m_bValSeted = src.m_bValSeted;
|
|
m_bCmdStop = src.m_bCmdStop;
|
|
m_dRefValue = src.m_dRefValue;
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
void AECStatusRecord::CopyFrom(const AECStatusRecord* pRec)
|
|
{
|
|
if (pRec != NULL)
|
|
{
|
|
_tcscpy(m_szPrompt,pRec->m_szPrompt);
|
|
_tcscpy(m_szKeywords,pRec->m_szKeywords);
|
|
|
|
memcpy(m_dVal,pRec->m_dVal,sizeof(m_dVal));
|
|
_tcscpy(m_szVal,pRec->m_szVal);
|
|
memcpy(m_adsEnt,pRec->m_adsEnt,sizeof(m_adsEnt));
|
|
m_mapStatus = pRec->m_mapStatus;
|
|
|
|
//copy next status;
|
|
m_mapPos2StatusNext = pRec->m_mapPos2StatusNext;
|
|
m_mapPos2StatusLast = pRec->m_mapPos2StatusLast;
|
|
|
|
m_bSegStatFinish = pRec->m_bSegStatFinish;
|
|
m_nPos = pRec->m_nPos;
|
|
|
|
m_eAcquire = pRec->m_eAcquire;
|
|
m_nPlanPos = pRec->m_nPlanPos;
|
|
m_bValSeted = pRec->m_bValSeted;
|
|
}
|
|
}
|