You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.5 KiB

#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 */