Inherited from OrderItem,
Inherited by NULL
Friend class XManager,MaterialEntryManager,MaterialManager,XMaterial,
Description
XMaterialEntry将材料子项作为一个数据基类做了封装,它不能被单独创建,它一般作为材料对象(XMaterial)的从属对象创建,每一个材料子项仅从属于一个材料对象。材料子项类型众多,常用的可以分为密度、弹性、塑性、膨胀、热传导、比热、蠕变、阻尼等类型,对于每种类型的材料子项,它可以是各向同性、三维正交各向异性、三维各向异性、二维正交各向异性、二维各向异性、各向同性场、三维正交各向异性场、三维各向异性场、二维正交各向异性场、二维各向异性场中的任意一种选项(option),其中前5种是常量类型,后5种是场类型,比如受温度影响而变化的材料场等, 场类型的材料子项可以根据需要定义一个或多个影响因素,比如温度、坐标等。
相同类型的材料子项不能从属于同一个材料对象,访问材料子项时必须首先访问材料对象。
材料子项遵照一定的原则可以自由扩展,它的参考标识前缀为“CMAT”。材料子项的属性均从MaterialEntryAttrib继承。
Members
Public interface
XDataField m_Field
材料子项数据场
XMaterialEntry(ulong id, TypeID tid)
void setMaterial(const XMaterial * mat)
const XMaterial * getMaterial() const
virtual const MaterialEntryAttrib * getAttribute() const = 0
virtual void setAttribute(const MaterialEntryAttrib * pAttr) = 0
virtual void saveToXml(XmlWriter * pWriter, XmlElement * pParent)
virtual void loadFromXml(XmlReader * pReader, XmlElement * pParent)
virtual const double * data() const = 0
virtual int dataCount() const = 0
virtual void write(XBinaryIO * io)
virtual ErrorCode read(XBinaryIO * io)
const XDataField * getField() const
XDataField * getField()
void setField(const XDataField * df)
void copy(const XMaterialEntry * from)
virtual ~XMaterialEntry()
void write(XH5IO * io, H5Obj * grp)
bool read(XH5IO * io, H5Obj * grp)