Files
envi-code/SourceCode/Code2026/CoreLibrary/AECStatusRecord.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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;
}
}