#ifndef qwt3d_parametricsurface_h__2004_03_05_23_43_begin_guarded_code #define qwt3d_parametricsurface_h__2004_03_05_23_43_begin_guarded_code #include "qwt3d_gridmapping.h" namespace Qwt3D { class SurfacePlot; //! Abstract base class for parametric surfaces /** */ class QWT3D_EXPORT ParametricSurface : public GridMapping { public: ParametricSurface(); //!< Constructs ParametricSurface object w/o assigned SurfacePlot. //! Constructs ParametricSurface object and assigns a SurfacePlot explicit ParametricSurface(Qwt3D::SurfacePlot& plotWidget); //! Constructs ParametricSurface object and assigns a SurfacePlot explicit ParametricSurface(Qwt3D::SurfacePlot* plotWidget); //! Overwrite this virtual Qwt3D::Triple operator()(double u, double v) = 0; //! Assigns a new SurfacePlot and creates a data representation for it. virtual bool create(Qwt3D::SurfacePlot& plotWidget); //! Creates data representation for the actual assigned SurfacePlot. virtual bool create(); //! Assigns the object to another widget. To see the changes, you have to call this function before create(). void assign(Qwt3D::SurfacePlot& plotWidget); //! Assigns the object to another widget. To see the changes, you have to call this function before create(). void assign(Qwt3D::SurfacePlot* plotWidget); //! Provide information about periodicity of the 'u' resp. 'v' domains. void setPeriodic(bool u, bool v); private: bool uperiodic_, vperiodic_; }; } // ns #endif /* include guarded */