User Tools

Site Tools


class:domain:resultmanager

ResultManager

Inherited from XManager,

Inherited by NULL

Friend class NULL

Description

ResultManager从XManager继承,是结果数据对象管理器,所有结果数据对象的创建、销毁、访问以及修改都通过调用它的通用接口完成。它的域识别码是Domain_Result,类型名是“DRESULT”。

Members

Public interface


vector<XResultStep*> m_pStepList

结果步数组

vector<ResultSource> m_pSrcList

数据源文件数组

XManager * m_pCpMgr

结果分量对象管理器

H5IO * m_pH5Rlts

结果数据文件句柄

double m_MaxDeformation

结果最大变形

ResultSmoothMethod m_iSmoothMethod

从单元节点结果计算节点结果的磨平方法

ResultExtrapolateMethod m_iInterpolateMethod

从积分点结果计算单元节点结果的插值方法


ResultManager()

  • function: 构造函数
  • parameters: NULL
  • return value: 无

virtual ~ResultManager()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

void bindComponentManager(XManager * mgr)

  • function: 绑定结果分量对象管理器
  • parameters:
    1. [i]XManager * mgr: 结果分量对象管理器
  • return value: 无

XResult * createResult(TypeID rlt_type, const char * name = NULL, ulong id = 0)

  • function: 创建结果对象
  • parameters:
    1. [i]TypeID rlt_type: 结果类型
    2. [i] const char * name = NULL: 结果名
    3. [i] ulong id = 0: 结果ID
  • return value: 结果对象

virtual void addItem(XItem * obj)

  • function: 基类函数的重新实现,添加对象
  • parameters:
    1. [i]XItem * obj: 结果对象
  • return value: 无

XResultSubstep * createSubstep()

  • function: 创建结果子步
  • parameters: NULL
  • return value: 结果子步对象

XResultStep * createStep()

  • function: 创建结果步
  • parameters: NULL
  • return value: 结果步对象

XResultSubstep * checkOutSubstep(const XResultSubstep * ss)

  • function: 获取可以修改的结果子步对象
  • parameters:
    1. [i]const XResultSubstep * ss: 结果子步对象(不可修改)
  • return value: 可以修改的结果子步对象

XResult * getMateResult(XResult * rlt, ResultLocType loc)

  • function: 获取指定位置的主结果
  • parameters:
    1. [i]XResult * rlt: 结果对象
    2. [i] ResultLocType loc: 位置
  • return value: 指定位置的主结果对象

XResult * getResult(ulong id)

  • function: 访问结果对象
  • parameters:
    1. [i]ulong id: 结果ID
  • return value: 结果对象

XResult * getResult(int stepIdx, int substepIdx, TypeID rType, int loc, const char * rName = NULL)

  • function: 获取指定结果子步指定类型指定位置的主结果
  • parameters:
    1. [i]int stepIdx: 结果步序号
    2. [i] int substepIdx: 结果子步序号
    3. [i] TypeID rType: 结果类型
    4. [i] int loc: 结果位置
    5. [i] const char * rName = NULL: 结果名
  • return value: 指定的结果对象,若不存在返回NULL

void addBaseStep(XResultStep * step)

  • function: 添加结果步
  • parameters:
    1. [i]XResultStep * step: 结果步对象
  • return value: 无

void bindResultIterator(ItemIterator * iter)

  • function: 绑定结果访问迭代器
  • parameters:
    1. [i]ItemIterator * iter: 结果访问迭代器
  • return value: 无

void deleteResult(XResult * pRlt)

  • function: 删除结果
  • parameters:
    1. [i]XResult * pRlt: 结果对象
  • return value: 无

void deleteSubstep(XResultSubstep * sub)

  • function: 删除结果子步对象
  • parameters:
    1. [i]XResultSubstep * sub: 结果子步对象
  • return value: 无

void deleteStep(XResultStep * step)

  • function: 删除结果步对象
  • parameters:
    1. [i]XResultStep * step: 结果步对象
  • return value: 无

XResultStep * getBaseStep(int index)

  • function: 获取给定序号的结果步对象
  • parameters:
    1. [i]int index: 结果步序号
  • return value: 结果步对象

bool findBaseStep(XResult * rlt,ulong * sid,ulong * ssid)

  • function: 获取结果对象所属的结果步序号和子步序号
  • parameters:
    1. [i]XResult * rlt: 结果对象
    2. [i]ulong * sid: 结果对象所属的结果步序号
    3. [i]ulong * ssid: 结果对象所属的结果子步序号
  • return value: 成功获取返回true,否则返回false

int getBaseStepCount()

  • function: 获取结果步的数目
  • parameters: NULL
  • return value: 结果步的数目

void write(XH5IO * io, H5Obj * grp)

  • function: 将管理的所有对象数据写入到HDF5文件中
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 对象管理器对应的HDF5节点
  • return value: 无

bool read(XH5IO * io, H5Obj * grp)

  • function: 从HDF5文件中读取对象数据到管理器中
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 对象管理器对应的HDF5节点
  • return value: 完整读取返回true,否则返回false

ErrorCode read(XBinaryIO * io)

  • function: 从二进制文件中读取对象数据到管理器中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 成功读取返回Error_None, 否则返回相应错误码

void write(XBinaryIO * io)

  • function: 将管理的所有对象数据写入到二进制文件中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 无

void clear()

  • function: 清空结果与结果步对象
  • parameters: NULL
  • return value: 无

void resetTensorResultOnLocation(int loc)

  • function: 重置指定位置的结果数据以及由其计算得到的结果数据(当修改插值方法或磨平方法时使用)
  • parameters:
    1. [i]int loc: 结果位置
  • return value: 无

void dumpResult(XResult * chief, int cp = ALL_COMPONENT, bool bIncludeBeamShell = false)

  • function: 将结果数据倒出到缓存文件中
  • parameters:
    1. [i]XResult * chief: 主结果对象
    2. [i] int cp = ALL_COMPONENT: 结果分量
    3. [i] bool bIncludeBeamShell = false: 是否包含板壳、杆梁结果层
  • return value: 无

void loadResult(XResult * chief, int cp = ALL_COMPONENT, bool bIncludeBeamShell = false)

  • function: 将结果数据从缓存文件中载入到内存中
  • parameters:
    1. [i]XResult * chief: 主结果对象
    2. [i] int cp = ALL_COMPONENT: 结果分量
    3. [i] bool bIncludeBeamShell = false: 是否包含板壳、杆梁结果层
  • return value: 无

void dumpResultWithLayers(XResult * chief)

  • function: 将结果数据及其包含的层结果数据倒出到缓存文件中
  • parameters:
    1. [i]XResult * chief: 主结果对象
  • return value: 无

void serialize(XBinaryIO * io, XItem * obj, bool bSave)

  • function: 在undo、redo时从数据操作记录文件中序列化数据对象
  • parameters:
    1. [i]XBinaryIO * io: 二进制数据操作记录文件句柄
    2. [i] XItem * obj: 数据对象
    3. [i] bool bSave: 是否保存数据对象
  • return value: 无

void openDumpFile(const char * raw)

  • function: 打开结果缓存文件
  • parameters:
    1. [i]const char * raw: 缓存文件路径
  • return value: 无

void closeDumpFile()

  • function: 关闭结果缓存文件
  • parameters: NULL
  • return value: 无

XResult * getDeformationData(int main, int sub, const char * deformLabel = NULL)

  • function: 获取变形结果对象
  • parameters:
    1. [i]int main: 结果步序号
    2. [i] int sub: 结果子步序号
    3. [i] const char * deformLabel = NULL: 变形结果名
  • return value: 变形结果对象

void updateMaxDeformationByDispRlt(ExtremeDeformInfo * edi = 0, XResult * dispRlt = NULL)

  • function: 根据位移结果更新变形数据
  • parameters:
    1. [i]ExtremeDeformInfo * edi = 0: 极值记录
    2. [i] XResult * dispRlt = NULL: 位移结果对象
  • return value: 无

double getMaxDeformation() const

  • function: 获取最大变形量(用于计算变形缩放系数)
  • parameters: NULL
  • return value: 最大变形量

void resetMaxDeformation()

  • function: 重置最大变形量
  • parameters: NULL
  • return value: 无

ExtremeValue getComponentMax(XResult * rlt, int cp, int cid = 0) const

  • function: 获取结果对象的分量极大值
  • parameters:
    1. [i]XResult * rlt: 结果对象
    2. [i] int cp: 分量序号
    3. [i] int cid = 0: 局部坐标系ID
  • return value: 结果对象的分量极值

ExtremeValue getComponentMin(XResult * rlt, int cp, int cid = 0) const

  • function: 获取结果对象的分量极小值
  • parameters:
    1. [i]XResult * rlt: 结果对象
    2. [i] int cp: 分量序号
    3. [i] int cid = 0: 局部坐标系ID
  • return value: 结果对象的分量极值

const char * getResultComponentName(int rlt_type,int rlt_comp)

  • function: 获取结果分量名
  • parameters:
    1. [i]int rlt_type: 结果类型
    2. [i]int rlt_comp: 分量序号
  • return value: 结果分量名

virtual const char * getSourceFile(XResult * rlt)

  • function: 获取结果对象源文件路径
  • parameters:
    1. [i]XResult * rlt: 结果对象
  • return value: 结果对象源文件路径

virtual const char * getSourceType(XResult * rlt)

  • function: 获取结果对象源文件类型
  • parameters:
    1. [i]XResult * rlt: 结果对象
  • return value: 结果对象源文件类型

int getSourceFileCount()

  • function: 获取结果对象源文件个数
  • parameters: NULL
  • return value: 结果对象源文件个数

void addSourceFile(const char * fname, const char * srcType)

  • function: 添加结果对象源文件;
  • parameters:
    1. [i]const char * fname: 结果源文件路径
    2. [i] const char * srcType: 文件类型(接口类型)
  • return value: 无

ResultSmoothMethod getSmoothMethod() const

  • function: 获取结果数据磨平方法
  • parameters: NULL
  • return value: 磨平方法

ResultExtrapolateMethod getExtrapolateMethod() const

  • function: 获取结果数据插值方法
  • parameters: NULL
  • return value: 结果数据插值方法

void setSmoothMethod(ResultSmoothMethod m)

  • function: 设置结果数据磨平方法
  • parameters:
    1. [i]ResultSmoothMethod m: 结果数据磨平方法
  • return value: 无

void setExtrapolateMethod(ResultExtrapolateMethod m)

  • function: 设置结果数据插值方法
  • parameters:
    1. [i]ResultExtrapolateMethod m: 结果数据插值方法
  • return value: 无
class/domain/resultmanager.txt · Last modified: 2023/08/04 08:40 (external edit)