扩展分析设定时,对象类应从XAnalysis继承,需按照下列代码重新实现基类的接口。
class NewAna: public XAnalysis
{
DECLARE_CITEM(NewAna)
public:
NewAna(ulong id);
~NewAna();
const AnalysisAttribute * getAttribute() const { return attribute(); }
const NewAnaAttribute * attribute() const { return &m_Atb; }
void setAttribute(const AnalysisAttribute* atb) { m_Atb.assign(atb); }
void write(XBinaryIO * io);
ErrorCode read(XBinaryIO * io, ModelManager* meshMgr, LoadCaseManager * mgr);
bool checkDataCompleteness() const;
void listProperty(std::vector<ObjPropertyEntry> * prpSheet) const;
bool isResultOutput(TypeID rtype) const;
const TypeID * getOutputOptions() const { return m_Atb.outputFields.data(); }
int countOutputOptions() const { return m_Atb.outputFields.size(); }
private:
NewAnaAttribute m_Atb;
};
REGISTER_CITEM(NewAna, "CANANEWANA", AnalysisManager::ctype(), 0);
struct NewAnaAttribute: public AnalysisAttribute
{
double dValue;
XArray<TypeID> outputFields;
};
const NewAnaAttribute* attribute() const {return &m_Atb;}