User Tools

Site Tools


class:domain:xproperty

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)

  • function: 构造函数
  • parameters:
    1. [i]ulong id: 身份ID
    2. [i] int tid: 单元属性类型
  • return value:

virtual ulong getMaterialId() const

  • function: 获取材料号
  • parameters: NULL
  • return value: 材料号ID

virtual void setMaterial(ulong matId)

  • function: 绑定材料号
  • parameters:
    1. [i]ulong matId: 材料号ID
  • return value: 无

const XArray<XUniqueObjectID> * getTargets() const

  • function: 获取应用对象标识数组
  • parameters: NULL
  • return value: 无

void setTargets(vector<XUniqueObjectID*> * tars)

  • function: 设置应用对象标识数组
  • parameters:
    1. [i]vector<XUniqueObjectID*> * tars: 应用对象标识指针数组
  • return value: 无

void setTargets(vector<XUniqueObjectID> * tars)

  • function: 设置应用对象标识数组
  • parameters:
    1. [i]vector<XUniqueObjectID> * tars: 应用对象标识数组
  • return value: 无

int targetCount() const

  • function: 应用对象个数
  • parameters: NULL
  • return value: 无

void clear()

  • function: 清空应用对象以及属性扩展
  • parameters: NULL
  • return value: 无

bool hasPart(ulong pid, ulong mid) const

  • function: 判断属性是否应用在指定部件所包含的单元集上
  • parameters:
    1. [i]ulong pid: 部件ID
    2. [i] ulong mid: 部件所属模型ID
  • return value: 如属性是否应用在指定部件上返回true,否则返回false

virtual void write(XBinaryIO * io)

  • function: 将单元属性信息写入到二进制文件中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 无

virtual ErrorCode read(XBinaryIO * io)

  • function: 从二进制文件中读取单元属性信息
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 如成功读取返回Error_None, 否则返回相应错误码

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

  • function: 将单元属性信息写入到HDF5文件中
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 数据对象所对应的HDF5节点
  • return value: 无

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

  • function: 从HDF5文件中读取单元属性信息
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 数据对象所对应的HDF5节点
  • return value: 无

virtual const PropertyAttribute * getAttribute() const = 0

  • function: 虚函数接口,获取属性数据
  • parameters: NULL
  • return value: 属性数据指针

virtual void setAttribute(const PropertyAttribute * atb) = 0

  • function: 设置单元属性数据
  • parameters:
    1. [i]const PropertyAttribute * atb: 属性数据指针
  • return value: 无

virtual ~XProperty()

  • function: 析构函数
  • parameters: NULL
  • return value: 无
class/domain/xproperty.txt · Last modified: 2023/05/06 07:01 (external edit)