1335 lines
26 KiB
C++
1335 lines
26 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TEntityFields 类
|
|
// = Version : ver2.0
|
|
// = Author : wlw
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: TEntityFields 定义
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#include "StdAfx.h"
|
|
#include "TEntityFields.h"
|
|
//#include "TEntityField.h"
|
|
#include "dbcfilrs.h"
|
|
|
|
TEntityFields::TEntityFields()
|
|
{
|
|
|
|
}
|
|
|
|
TEntityFields::TEntityFields(const TEntityFields&efs)
|
|
{
|
|
(*this) = efs;
|
|
}
|
|
|
|
TEntityFields::~TEntityFields()
|
|
{
|
|
|
|
}
|
|
|
|
long TEntityFields::GetSubFieldNum()const
|
|
{
|
|
return m_lstField.GetLength();
|
|
}
|
|
|
|
TEntityField& TEntityFields::GetSubField(long i)
|
|
{
|
|
return m_lstField(i);
|
|
}
|
|
|
|
const TEntityField& TEntityFields::GetSubField(long i)const
|
|
{
|
|
return *m_lstField.GetAt(i);
|
|
}
|
|
|
|
long TEntityFields::Find(const TCHAR* sName)
|
|
{
|
|
TEntityField ef;
|
|
ef.SetName(sName);
|
|
|
|
//modify by xlc on 110325 不同平台排序不同
|
|
//if (m_lstField.BFindDataTo(ef))
|
|
//{
|
|
// return m_lstField.GetCur();
|
|
//}
|
|
//else
|
|
//{
|
|
// return NOT_FOUND;
|
|
//}
|
|
return m_lstField.FindData(ef);
|
|
}
|
|
|
|
long TEntityFields::Add(TEntityField*pField)
|
|
{
|
|
m_lstField.SortIn(pField,true);
|
|
return m_lstField.GetCur();
|
|
}
|
|
|
|
void TEntityFields::Clear()
|
|
{
|
|
m_lstField.Clear();
|
|
}
|
|
|
|
void TEntityFields::Del(long i)
|
|
{
|
|
m_lstField.Del(i);
|
|
}
|
|
|
|
void TEntityFields::DwgIn(AcDbDwgFiler* pFiler)
|
|
{
|
|
m_lstField.Clear();
|
|
|
|
Adesk::Int32 length;
|
|
pFiler->readItem(&length);
|
|
|
|
for(long i = 0; i < length; i++)
|
|
{
|
|
TEntityField *pField = new TEntityField;
|
|
pField->DwgIn(pFiler);
|
|
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
}
|
|
|
|
void TEntityFields::DwgOut(AcDbDwgFiler* pFiler) const
|
|
{
|
|
Adesk::Int32 length = GetSubFieldNum();
|
|
pFiler->writeItem(length);
|
|
|
|
for(TEntityField*const*pField = m_lstField.GetFirst(); pField != NULL; pField = m_lstField.GetNext(pField))
|
|
{
|
|
(*pField)->DwgOut(pFiler);
|
|
}
|
|
}
|
|
|
|
TEntityFields& TEntityFields::operator = (const TEntityFields&efs)
|
|
{
|
|
AcDbDeepCloneFiler filer;
|
|
efs.DwgOut(&filer);
|
|
filer.seek(0L,0);
|
|
DwgIn(&filer);
|
|
|
|
return *this;
|
|
}
|
|
|
|
void TEntityFields::DxfIn (AcDbDxfFiler* pFiler)
|
|
{
|
|
m_lstField.Clear();
|
|
}
|
|
|
|
void TEntityFields::DxfOut(AcDbDxfFiler* pFiler) const
|
|
{
|
|
|
|
}
|
|
|
|
void TEntityFields::GetFieldPath(const TCHAR *sPath,TList<CString> &res)
|
|
{
|
|
CString sPathName(sPath);
|
|
|
|
int iFrom = sPathName.Find(_T('\\'));
|
|
if (iFrom > 0)
|
|
{
|
|
res.AddTail(sPathName.Left(iFrom));
|
|
GetFieldPath(sPathName.Right(sPathName.GetLength() - 1 - iFrom),res);
|
|
}
|
|
else if (iFrom == 0)
|
|
{
|
|
GetFieldPath(sPathName.Right(sPathName.GetLength() - 1),res);
|
|
}
|
|
else
|
|
{
|
|
res.AddTail(sPathName);
|
|
}
|
|
}
|
|
|
|
TEntityFields* TEntityFields::CreateParentField(const TCHAR *sPathName,CString &sLastName)
|
|
{
|
|
TList<CString> lstName;
|
|
GetFieldPath(sPathName,lstName);
|
|
|
|
if (lstName.IsEmpty())
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
TEntityFields *pParent = this;
|
|
for(lstName.MoveToFirst(); lstName.GetCur()<lstName.GetLastIndex(); lstName.MoveToNext())
|
|
{
|
|
const TCHAR* sName = lstName.GetCurData();
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
TEntityField*pField = new TEntityField(sName,TEntityField::kGroup);
|
|
pParent->Add(pField);
|
|
pField->GetData(pParent);
|
|
}
|
|
else if (pParent->GetSubField(index).GetDataType() != TEntityField::kGroup)//存在但不是kGroup
|
|
{
|
|
return NULL;
|
|
}
|
|
else
|
|
{
|
|
TEntityField &ef = pParent->GetSubField(index);
|
|
ef.GetData(pParent);
|
|
}
|
|
}
|
|
|
|
sLastName = lstName.GetCurData();
|
|
return pParent;
|
|
}
|
|
|
|
TEntityFields* TEntityFields::FindParentField(const TCHAR *sPathName,CString &sLastName)const
|
|
{
|
|
TList<CString> lstName;
|
|
GetFieldPath(sPathName,lstName);
|
|
|
|
if (lstName.IsEmpty())
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
TEntityFields *pParent = (TEntityFields*)this; //强制转换了!
|
|
for(lstName.MoveToFirst(); lstName.GetCur() < lstName.GetLastIndex(); lstName.MoveToNext())
|
|
{
|
|
const TCHAR* sName = lstName.GetCurData();
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
return NULL;
|
|
}
|
|
else if (pParent->GetSubField(index).GetDataType() != TEntityField::kGroup)//存在但不是kGroup
|
|
{
|
|
return NULL;
|
|
}
|
|
else
|
|
{
|
|
TEntityField &ef = pParent->GetSubField(index);
|
|
ef.GetData(pParent);
|
|
}
|
|
}
|
|
|
|
sLastName = lstName.GetCurData();
|
|
return pParent;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::Boolean &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kBoolean));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::Int8 &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kInt8));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::UInt8 &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kUInt8));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::Int16 &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kInt16));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::UInt16 &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kUInt16));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::Int32 &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kInt32));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const Adesk::UInt32 &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kUInt32));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const TEntityFields &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kGroup));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const TCHAR* val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kString));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const double &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kDouble));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcGePoint2d &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcGePoint2d));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcGePoint3d &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcGePoint3d));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcGeVector2d &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcGeVector2d));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcGeVector3d &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcGeVector3d));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcGeScale3d &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcGeScale3d));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcDbHardOwnershipId &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcDbHardOwnershipId));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcDbSoftOwnershipId &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcDbSoftOwnershipId));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcDbHardPointerId &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcDbHardPointerId));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcDbSoftPointerId &val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcDbSoftPointerId));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::SFD(const TCHAR *sPathName,const AcDbHandle&val)
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = CreateParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index == NOT_FOUND)
|
|
{
|
|
index = pParent->Add(new TEntityField(sName,TEntityField::kAcDbHandle));
|
|
}
|
|
|
|
pParent->GetSubField(index).SetData(val);
|
|
return true;
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::Boolean& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::Int8& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::UInt8& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::Int16& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::UInt16& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::Int32& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,Adesk::UInt32& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,TEntityFields &val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,CString&val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,double& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcGePoint2d& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcGePoint3d& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcGeVector2d& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcGeVector3d& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcGeScale3d& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcDbHardOwnershipId& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcDbSoftOwnershipId& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcDbHardPointerId& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcDbSoftPointerId& val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool TEntityFields::GFD(const TCHAR *sPathName,AcDbHandle&val)const
|
|
{
|
|
CString sName;
|
|
TEntityFields *pParent = FindParentField(sPathName,sName);
|
|
if (pParent == NULL)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
long index = pParent->Find(sName);
|
|
if (index != NOT_FOUND)
|
|
{
|
|
return pParent->GetSubField(index).GetData(val);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::Boolean&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kBoolean);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::Int8&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kInt8);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::UInt8&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kUInt8);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::Int16&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kInt16);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::UInt16&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kUInt16);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::Int32&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kInt32);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const Adesk::UInt32&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kUInt32);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const TEntityFields& val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kGroup);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const TCHAR*val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kString);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const double&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kDouble);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcGePoint2d&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcGePoint2d);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcGePoint3d&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcGePoint3d);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcGeVector2d&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcGeVector2d);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcGeVector3d&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcGeVector3d);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcGeScale3d&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcGeScale3d);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcDbHardOwnershipId&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcDbHardOwnershipId);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcDbSoftOwnershipId&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcDbSoftOwnershipId);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcDbHardPointerId&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcDbHardPointerId);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcDbSoftPointerId&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcDbSoftPointerId);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
void TEntityFields::AFD(const AcDbHandle&val)
|
|
{
|
|
TEntityField* pField = new TEntityField(_T(""),TEntityField::kAcDbHandle);
|
|
pField->SetData(val);
|
|
m_lstField.AddTail(pField);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Boolean& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Int8& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::UInt8& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Int16& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::UInt16& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Int32& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::UInt32& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,TEntityFields& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,CString&val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,double& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGePoint2d& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGePoint3d& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGeVector2d& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGeVector3d& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGeScale3d& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbHardOwnershipId& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbSoftOwnershipId& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbHardPointerId& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbSoftPointerId& val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbHandle&val)const
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Boolean& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Int8& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::UInt8& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Int16& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::UInt16& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::Int32& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,Adesk::UInt32& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,TEntityFields &val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,CString&val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,double& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGePoint2d& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGePoint3d& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGeVector2d& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGeVector3d& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcGeScale3d& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbHardOwnershipId& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbSoftOwnershipId& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbHardPointerId& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbSoftPointerId& val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|
|
|
|
bool TEntityFields::GFD(long index,AcDbHandle&val)
|
|
{
|
|
return GetSubField(index).GetData(val);
|
|
}
|