#ifndef PlotFunctionNODE_HH_ #define PlotFunctionNODE_HH_ #include #include #include "AbstractPanelPlotNode.hh" #include "Panel.hh" #include "PanelPlotOutput.hh" #include "PlotOutput.hh" namespace plot { /** * xml node name, this name is used in both config and request xml files. */ #define PlotFunction_NODENAME "plotFunction" #define PlotFunction_Abscisse "abscisse" #define PlotFunction_Scale_Abscisse "scale_abscisse" #define PlotFunction_Scale_Ordonnee "scale_ordonnee" #define PlotFunction_Abscisse_Frequency "Frequency" #define PlotFunction_Abscisse_Period "Period" #define PlotFunction_Abscisse_Time "Time" #define PlotFunctuion_Type "type" #define PlotFunctuion_Type_FFT "FFT" #define PlotFunctuion_Type_DFT "DFT" #define PlotFunctuion_Type_SUM "SUM" #define PlotFunctuion_Type_AVG "AVG" #define PlotFunction_Linear "linear" #define PlotFunction_Log "logarithmic" class PlotFunctionNode : public plot::AbstractPanelPlotNode { public: PlotFunctionNode(); virtual ~PlotFunctionNode(); protected: /** * @overload plot::AbstractPanelPlotNode::proceed */ boost::shared_ptr proceed(xmlNodePtr, PlotOutput *, Panel *); private: /** * constant to uniquely identify this node in the registry */ static const std::string NODENAME; /** * artificial special attribute to force registering node. */ static std::string _key; }; } // namespace plot #endif /* TIMEPLOTNODE_HH_ */