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()