分析设定的扩展

扩展分析设定时,对象类应从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;}