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 public: 00032 00035 typedef std::vector < FunctionRep * > FunctionRepList_t; 00036 00037 private: 00038 00041 FunctionRepList_t m_func_reps; 00042 00043 00044 public: 00045 00048 CompositeFunctionRep ( FunctionBase *, DataRep * ); 00049 00050 virtual void addToComposite ( FunctionRep * frep ); 00051 00052 virtual void removeFromComposite ( FunctionRep * frep ); 00053 00056 bool isMember ( const FunctionRep * ); 00057 00060 unsigned int count () const; 00061 00063 const FunctionRepList_t & getFunctionReps () const; 00064 00068 virtual void setFixedFlags ( const std::vector < int > & flags ); 00069 00070 virtual void drawProjectedValues ( TransformBase * transform, 00071 ViewBase * view ); 00072 00073 }; 00074 00075 } // namespace hippodraw 00076 00077 #endif // _CompositeFunctionRep_H_