Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

formula/formula.hh
Go to the documentation of this file.
00001 /* formula class
00002 */
00003 
00004 #ifndef classformula_hh
00005 #define classformula_hh
00006 
00007 #include "piecewiseFormula.hh"
00008 
00009 
00010 namespace concepts {
00011 
00012   // *************************************************************** Formula **
00013 
00031   template<typename F>
00032   class Formula : public PiecewiseFormulaBase<F> {
00033   public:
00034     typedef F value_type;
00035     typedef typename Realtype<F>::type G;
00036 
00043     virtual F operator() (const Real p,    const Real t = 0.0) const = 0;
00044     virtual F operator() (const Real2d& p, const Real t = 0.0) const = 0;
00045     virtual F operator() (const Real3d& p, const Real t = 0.0) const = 0;
00051     virtual F operator() (const Connector& cntr, const Real p,
00052                           const Real t = 0.0) const
00053     { return operator()(p, t); }
00054     virtual F operator() (const Connector& cntr, const Real2d& p,
00055                           const Real t = 0.0) const
00056     { return operator()(p, t); }
00057     virtual F operator() (const Connector& cntr, const Real3d& p,
00058                           const Real t = 0.0) const
00059     { return operator()(p, t); }
00062     virtual Formula* clone() const = 0;
00063   };
00064 
00065 } // namespace concepts
00066 
00067 #endif // formula_hh
00068 

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)