====== 结果扩展 ====== 根据结果的基本分量的个数XT已经预置了RltScale、RltComplex、RltVector、RltTensor等几类通用结果类型。 扩展结果时,对象类应根据基本分量的个数或者从RltScale、RltVector、RltTensor中其一或者直接从XResult继承。以向量结果为例,需按照下列代码重新实现基类的接口。 class NewVecRlt: public XResult { DECLARE_CITEM(NewVecRlt) public: NewVecRlt(ulong id); bool buildDerivedComponent(TypeID t); }; * 注册对象定义,它被归为Domain_Result域,所以被PropertyManager管理,DECLARE_CITEM(NewVecRlt)是声明, 类型标识前缀为“CRLT”,其实现通过宏按照如下形式实现: REGISTER_CITEM(NewVecRlt, "CRLTNEWVECRLT", ResultManager::ctype(), 0); * 在构造函数中设置基本分量数目并添加结果分量 NewVecRlt::NewVecRlt(ulong id, int type) : XResult(id, type) { m_oHeader.m_iDof = 3; *this << Component_Vector_X << Component_Vector_Y << Component_Vector_Z << Component_Vector_Mag; } * 重新实现构造衍生分量的接口buildDerivedComponent