00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _CompositeFunctionRep_H_ 00015 #define _CompositeFunctionRep_H_ 00016 00017 #include "FunctionRep.h" 00018 00019 00020 class FunctionParameter; 00021 00022 namespace hippodraw { 00023 00028 class MDL_HIPPOPLOT_API CompositeFunctionRep : public FunctionRep 00029 { 00030 00031 private: 00032 00035 typedef std::vector < FunctionRep * > FunctionRepList_t; 00036 00039 FunctionRepList_t m_func_reps; 00040 00041 00042 public: 00043 00046 CompositeFunctionRep ( FunctionBase *, DataRep * ); 00047 00048 virtual void addToComposite ( FunctionRep * frep ); 00049 00050 virtual void removeFromComposite ( FunctionRep * frep ); 00051 00054 bool isMember ( const FunctionRep * ); 00055 00058 unsigned int count () const; 00059 00061 const FunctionRepList_t & getFunctionReps () const; 00062 00066 virtual void setFixedFlags ( const std::vector < int > & flags ); 00067 00068 virtual void drawProjectedValues ( TransformBase * transform, 00069 ViewBase * view ); 00070 00071 }; 00072 00073 } // namespace hippodraw 00074 00075 #endif // _CompositeFunctionRep_H_