//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : EntityFields 类 // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: EntityFields 定义 // = Maintainers: // //-----------------------------------------------------------------------------+ #include "StdAfx.h" #include "EntityFields.h" //#include "EntityField.h" #include "dbcfilrs.h" EntityFields::EntityFields() { } EntityFields::EntityFields(const EntityFields&efs) { (*this) = efs; } EntityFields::~EntityFields() { } long EntityFields::GetSubFieldNum()const { return m_lstField.GetLength(); } EntityField& EntityFields::GetSubField(long i) { return m_lstField(i); } const EntityField& EntityFields::GetSubField(long i)const { return *m_lstField.GetAt(i); } long EntityFields::Find(const TCHAR* sName) { EntityField ef; ef.SetName(sName); if (m_lstField.BFindDataTo(ef)) { return m_lstField.GetCur(); } else { return NOT_FOUND; } } long EntityFields::Add(EntityField*pField) { m_lstField.SortIn(pField,true); return m_lstField.GetCur(); } void EntityFields::Clear() { m_lstField.Clear(); } void EntityFields::Del(long i) { m_lstField.Del(i); } void EntityFields::DwgIn(AcDbDwgFiler* pFiler) { m_lstField.Clear(); Adesk::Int32 length; pFiler->readItem(&length); for(long i = 0; i < length; i++) { EntityField *pField = new EntityField; pField->DwgIn(pFiler); m_lstField.AddTail(pField); } } void EntityFields::DwgOut(AcDbDwgFiler* pFiler) const { Adesk::Int32 length = GetSubFieldNum(); pFiler->writeItem(length); for(EntityField*const*pField = m_lstField.GetFirst(); pField != NULL; pField = m_lstField.GetNext(pField)) { (*pField)->DwgOut(pFiler); } } EntityFields& EntityFields::operator = (const EntityFields&efs) { AcDbDeepCloneFiler filer; efs.DwgOut(&filer); filer.seek(0L,0); DwgIn(&filer); return *this; } void EntityFields::DxfIn (AcDbDxfFiler* pFiler) { m_lstField.Clear(); } void EntityFields::DxfOut(AcDbDxfFiler* pFiler) const { } void EntityFields::GetFieldPath(const TCHAR *sPath,List &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); } } EntityFields* EntityFields::CreateParentField(const TCHAR *sPathName,CString &sLastName) { List lstName; GetFieldPath(sPathName,lstName); if (lstName.IsEmpty()) { return NULL; } EntityFields *pParent = this; for(lstName.MoveToFirst(); lstName.GetCur()Find(sName); if (index == NOT_FOUND) { EntityField*pField = new EntityField(sName,EntityField::kGroup); pParent->Add(pField); pField->GetData(pParent); } else if (pParent->GetSubField(index).GetDataType() != EntityField::kGroup)//存在但不是kGroup { return NULL; } else { EntityField &ef = pParent->GetSubField(index); ef.GetData(pParent); } } sLastName = lstName.GetCurData(); return pParent; } EntityFields* EntityFields::FindParentField(const TCHAR *sPathName,CString &sLastName)const { List lstName; GetFieldPath(sPathName,lstName); if (lstName.IsEmpty()) { return NULL; } EntityFields *pParent = (EntityFields*)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() != EntityField::kGroup)//存在但不是kGroup { return NULL; } else { EntityField &ef = pParent->GetSubField(index); ef.GetData(pParent); } } sLastName = lstName.GetCurData(); return pParent; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::Boolean &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kBoolean)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::Int8 &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kInt8)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::UInt8 &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kUInt8)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::Int16 &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kInt16)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::UInt16 &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kUInt16)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::Int32 &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kInt32)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const Adesk::UInt32 &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kUInt32)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const EntityFields &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kGroup)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const TCHAR* val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kString)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const double &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kDouble)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcGePoint2d &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcGePoint2d)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcGePoint3d &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcGePoint3d)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcGeVector2d &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcGeVector2d)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcGeVector3d &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcGeVector3d)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcGeScale3d &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcGeScale3d)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcDbHardOwnershipId &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcDbHardOwnershipId)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcDbSoftOwnershipId &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcDbSoftOwnershipId)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcDbHardPointerId &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcDbHardPointerId)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcDbSoftPointerId &val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcDbSoftPointerId)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::SFD(const TCHAR *sPathName,const AcDbHandle&val) { CString sName; EntityFields *pParent = CreateParentField(sPathName,sName); if (pParent == NULL) { return false; } long index = pParent->Find(sName); if (index == NOT_FOUND) { index = pParent->Add(new EntityField(sName,EntityField::kAcDbHandle)); } pParent->GetSubField(index).SetData(val); return true; } bool EntityFields::GFD(const TCHAR *sPathName,Adesk::Boolean& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,Adesk::Int8& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,Adesk::UInt8& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,Adesk::Int16& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,Adesk::UInt16& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,Adesk::Int32& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,Adesk::UInt32& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,EntityFields &val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,CString&val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,double& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcGePoint2d& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcGePoint3d& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcGeVector2d& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcGeVector3d& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcGeScale3d& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcDbHardOwnershipId& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcDbSoftOwnershipId& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcDbHardPointerId& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcDbSoftPointerId& val)const { CString sName; EntityFields *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 EntityFields::GFD(const TCHAR *sPathName,AcDbHandle&val)const { CString sName; EntityFields *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 EntityFields::AFD(const Adesk::Boolean&val) { EntityField* pField = new EntityField(_T(""),EntityField::kBoolean); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const Adesk::Int8&val) { EntityField* pField = new EntityField(_T(""),EntityField::kInt8); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const Adesk::UInt8&val) { EntityField* pField = new EntityField(_T(""),EntityField::kUInt8); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const Adesk::Int16&val) { EntityField* pField = new EntityField(_T(""),EntityField::kInt16); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const Adesk::UInt16&val) { EntityField* pField = new EntityField(_T(""),EntityField::kUInt16); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const Adesk::Int32&val) { EntityField* pField = new EntityField(_T(""),EntityField::kInt32); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const Adesk::UInt32&val) { EntityField* pField = new EntityField(_T(""),EntityField::kUInt32); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const EntityFields& val) { EntityField* pField = new EntityField(_T(""),EntityField::kGroup); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const TCHAR*val) { EntityField* pField = new EntityField(_T(""),EntityField::kString); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const double&val) { EntityField* pField = new EntityField(_T(""),EntityField::kDouble); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcGePoint2d&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcGePoint2d); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcGePoint3d&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcGePoint3d); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcGeVector2d&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcGeVector2d); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcGeVector3d&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcGeVector3d); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcGeScale3d&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcGeScale3d); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcDbHardOwnershipId&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcDbHardOwnershipId); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcDbSoftOwnershipId&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcDbSoftOwnershipId); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcDbHardPointerId&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcDbHardPointerId); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcDbSoftPointerId&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcDbSoftPointerId); pField->SetData(val); m_lstField.AddTail(pField); } void EntityFields::AFD(const AcDbHandle&val) { EntityField* pField = new EntityField(_T(""),EntityField::kAcDbHandle); pField->SetData(val); m_lstField.AddTail(pField); } bool EntityFields::GFD(long index,Adesk::Boolean& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Int8& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::UInt8& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Int16& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::UInt16& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Int32& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::UInt32& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,EntityFields& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,CString&val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,double& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGePoint2d& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGePoint3d& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGeVector2d& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGeVector3d& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGeScale3d& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbHardOwnershipId& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbSoftOwnershipId& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbHardPointerId& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbSoftPointerId& val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbHandle&val)const { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Boolean& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Int8& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::UInt8& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Int16& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::UInt16& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::Int32& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,Adesk::UInt32& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,EntityFields &val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,CString&val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,double& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGePoint2d& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGePoint3d& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGeVector2d& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGeVector3d& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcGeScale3d& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbHardOwnershipId& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbSoftOwnershipId& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbHardPointerId& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbSoftPointerId& val) { return GetSubField(index).GetData(val); } bool EntityFields::GFD(long index,AcDbHandle&val) { return GetSubField(index).GetData(val); }