XProperty

Inherited from NItem,

Inherited by NULL

Friend class PropertyManager,

Description

XProperty是封装了单元属性信息的数据基类,它支持各种类型的单元属性,并提供一种通用的、可扩展的属性结构,此外,它还提供一组易于使用和维护的API,使用户可以轻松创建、修改和查询单元属性。对于大多数仿真分析(如有限元分析、流体分析),几何模型需要被离散成网格微元,单元属性可以求解器知道该单元使用何种本构关系,如何构建微分方程在单元上的求解矩阵。对于结构分析来说,单元属性分为实体、板壳、杆梁以及集中点从三维到0维的四类属性,单元属性一般需要选择应用对象(单元集合)并绑定材料数据,其中板壳还需要补充厚度信息,杆梁需要补充截面(XSection)信息。

由于不同求解器所需要的属性不尽一致,因此XT引入了属性扩展(XPrpExtension)用于扩展定制不同求解器的专有属性,一个单元属性对象里面至多可以添加一个属于指定求解器的扩展,可以添加多个属于不同求解器的扩展。

单元属性遵照一定的原则可以自由继承扩展,它的参考标识前缀为“CPRP”。它们的属性均从PropertyAttribute 继承,因此可以使用统一的接口访问其属性。

Members

Public interface


XArray<XUniqueObjectID> m_pTargets

应用对象数组

OrderContainer m_Extensions

属性扩展容器


XProperty(ulong id, int tid)

virtual ulong getMaterialId() const

virtual void setMaterial(ulong matId)

const XArray<XUniqueObjectID> * getTargets() const

void setTargets(vector<XUniqueObjectID*> * tars)

void setTargets(vector<XUniqueObjectID> * tars)

int targetCount() const

void clear()

bool hasPart(ulong pid, ulong mid) const

virtual void write(XBinaryIO * io)

virtual ErrorCode read(XBinaryIO * io)

virtual void write(XH5IO * io, H5Obj * grp)

virtual bool read(XH5IO * io, H5Obj * grp)

virtual const PropertyAttribute * getAttribute() const = 0

virtual void setAttribute(const PropertyAttribute * atb) = 0

virtual ~XProperty()