XMaterialEntry

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)