//------------------------------------------------------------------------+ // Copyright (C), 1998-2011, Beijing Tangent Software Co. Ltd. // = FileName : TDbStruEntityBase类 // = Version : ver1.0 // = Author : xlc // = CreateDate : 2011-06-09 // = Description: 结构对象基类声明 // = Maintainers: // //------------------------------------------------------------------------+ #ifdef TASD #ifndef _TDBSTRUENTITYBASE_H_ #define _TDBSTRUENTITYBASE_H_ #ifndef _TDBXDATAMAP_H__ #include "TDbXDataMap.h" #endif #ifndef _TASSOCMSG_H_ #include "TAssocMsg.h" #endif #ifndef _TSTRULOAD_H_ #include "TStruLoad.h" #endif #ifndef _TCOMBFORCEDATA_H_ #include "TCombForceData.h" #endif #ifndef _TREINSECTDATA_H_ #include "TReinSectData.h" #endif #ifndef _TCRACKDATA_H_ #include "TCrackData.h" #endif class TARCH_EXP TDbStruEntityBase : public TDbCurveEntity { TCH_DECLARE_MEMBERS(); ACRX_DECLARE_MEMBERS(TDbStruEntityBase); public: // 数据存取 virtual bool SetAt(LPCTSTR pszKey,int nVal);//ok virtual bool SetAt(LPCTSTR pszKey,double dVal);//ok virtual bool SetAt(LPCTSTR pszKey,const AcGeVector3d& vt,BOOL bTransformBy = FALSE);//ok virtual bool SetAt(LPCTSTR pszKey,const AcGePoint3d& ptGe,BOOL bTransformBy = FALSE);//ok virtual bool SetAt(LPCTSTR pszKey,const AcGePoint3dArray& arPt,BOOL bTransformBy = FALSE);//ok virtual bool SetAt(LPCTSTR pszKey,LPCTSTR pszValue);//ok virtual bool SetAt(LPCTSTR pszKey,const AcDbObjectId& id,BOOL bIsSoft = TRUE);//ok virtual bool SetAt(LPCTSTR pszKey,const AcGeMatrix3d& xform);//ok virtual bool GetAt(LPCTSTR pszKey,int& nVal) const;//ok virtual bool GetAt(LPCTSTR pszKey,double& dVal) const;//ok virtual bool GetAt(LPCTSTR pszKey,AcGeVector3d& vt) const;//ok virtual bool GetAt(LPCTSTR pszKey,AcGePoint3d& ptGe) const;//ok virtual bool GetAt(LPCTSTR pszKey,AcGePoint3dArray& arPt) const;//ok virtual bool GetAt(LPCTSTR pszKey,AcGeMatrix3d& xform) const;//ok virtual bool GetAt(LPCTSTR pszKey,CString &sValue) const;//ok virtual bool GetAt(LPCTSTR pszKey,AcDbObjectId& id) const;//ok virtual bool SetAt(LPCTSTR pszKey,int iIndex,LPCTSTR pszValue);//ok virtual bool GetAt(LPCTSTR pszKey,int iIndex,CString &sValue);//ok virtual bool SetAt(LPCTSTR pszKey,const TXData& XData);//ok virtual bool GetAt(LPCTSTR pszKey,TXData& XData);//ok virtual bool SetAt(LPCTSTR pszKey,const std::vector& vectLoads); virtual bool GetAt(LPCTSTR pszKey,std::vector& vectLoads)const; virtual void RemoveLoadsKey(LPCTSTR pszKey); // add by wjx on 120223 弯距包络图 virtual bool SetAt(LPCTSTR pszKey,const std::vector& vecMin,const std::vector& vecMax); virtual bool GetAt(LPCTSTR pszKey,std::vector& vecMin, std::vector &vecMax)const; virtual void RemoveMGraKey(LPCTSTR pszKey); // add by wjx on 120329 轴力包络图 virtual bool SetAt(LPCTSTR pszKey,const std::vector& vecData); virtual bool GetAt(LPCTSTR pszKey,std::vector& vecData)const; virtual void RemoveNGraKey(LPCTSTR pszKey); // 截面配筋面积数据 virtual bool SetAt(LPCTSTR pszKey,const std::vector& vecData); virtual bool GetAt(LPCTSTR pszKey,std::vector& vecData)const; virtual void RemoveRSDataKey(LPCTSTR pszKey); // 消息处理 // 对象修改发出关联更改消息 virtual void PostAssocMsg(TAssocMsg assocMsg)const; // 对象接收到更改消息 virtual void ReceiveAssocMsg(TAssocMsg assocMsg); // 建立关联关系 virtual void MakeAssocRelation(AcDbObjectIdArray& ids); // 不验证关系,直接建立关联关系 virtual void MakeAssocRelationDirect(const AcDbObjectId& idObj); // 移除关联关系 virtual void RemoveAssocRelation(AcDbObjectId& id); // 获取关联关系,nType:关联类型;ar:关联对象句柄数组 virtual void GetAssocRelation(int nType, AcDbObjectIdArray& ar)const; // 夹点消息后,更新自己边界 virtual void UpdateMeOnGripMsg(TAssocMsg assocMsg); //add by xlc on 120118 //设置荷载数组 virtual bool SetLoadsArray(const std::vector& vectLoads); //获得荷载数组 virtual bool GetLoadsArray(std::vector& vectLoads); //清除荷载数组 virtual void ClearLoadsArray(); virtual bool SetAt(LPCTSTR pszKey, const TCrackData& data); virtual bool GetAt(LPCTSTR pszKey, TCrackData& data) const; protected: TDbStruEntityBase(); virtual ~TDbStruEntityBase(); }; #endif #endif