====== XSection ====== **//Inherited from//** [[class::domain::nitem|NItem]], **//Inherited by//** NULL **//Friend class//** NULL **//Description//** XSection是定义杆梁截面的基类,它提供了杆梁截面对象的通用接口,它的类型标识前缀为CSEC。截面对象一般在用户设置单元属性时指定。 XT已预置了T型、C型、H型、管状、圆型、矩形、L型以及方框型的截面形状,除此以外用户可以通过继承XSection扩展新的截面类型,重新实现基类函数接口即可。 **//Public interface//** * [[xsection#xsection1|XSection]](ulong id,int tid) * virtual const SectionAttribute * [[xsection#getattribute|getAttribute]]() const = 0 * virtual void [[xsection#setattribute|setAttribute]](const SectionAttribute * atb) = 0 * virtual void [[xsection#write|write]](H5IO * io, H5Obj * grp) * virtual bool [[xsection#read|read]](H5IO * io, H5Obj * grp) * virtual void [[xsection#write|write]](XBinaryIO * io) * virtual ErrorCode [[xsection#read|read]](XBinaryIO * io) ---- {{anchor:xsection1}} **XSection(ulong id,int tid)** *function: 构造函数 *parameters: - [i]ulong id: 对象ID - [i]int tid: 截面类型 *return value: 无 {{anchor:getattribute}} **virtual const SectionAttribute * getAttribute() const = 0** *function: 虚函数接口,访问截面对象的属性 *parameters: NULL *return value: 截面对象的属性 {{anchor:setattribute}} **virtual void setAttribute(const SectionAttribute * atb) = 0** *function: 虚函数接口,设置截面对象的属性 *parameters: - [i]const SectionAttribute * atb: 截面对象的属性 *return value: 无 {{anchor:write}} **virtual void write(H5IO * io, H5Obj * grp)** *function: 将对象数据写入到HDF5文件中 *parameters: - [i]H5IO * io: HDF5文件句柄 - [i] H5Obj * grp: 对应的HDF5节点 *return value: 无 {{anchor:read}} **virtual bool read(H5IO * io, H5Obj * grp)** *function: 从HDF5文件中读取对象数据 *parameters: - [i]H5IO * io: HDF5文件句柄 - [i] H5Obj * grp: 对应的HDF5节点 *return value: 如成功读取返回true,否则返回false {{anchor:write}} **virtual void write(XBinaryIO * io)** *function: 将对象数据写入到二进制文件中 *parameters: - [i]XBinaryIO * io: 二进制文件句柄 *return value: 无 {{anchor:read}} **virtual ErrorCode read(XBinaryIO * io)** *function: 从二进制文件中读取对象数据 *parameters: - [i]XBinaryIO * io: 二进制文件句柄 *return value: 如成功读取返回Error_None, 否则返回相应错误码