//-----------------------------------------------------------------------------+ // 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 &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 lstName; GetFieldPath(sPathName,lstName); if (lstName.IsEmpty()) { return NULL; } TEntityFields *pParent = this; for(lstName.MoveToFirst(); lstName.GetCur()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 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); }