File: qwt3d_function.h

package info (click to toggle)
qwtplot3d 0.2.7%2Bsvn191%2Bgcc7-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, sid, trixie
  • size: 1,360 kB
  • sloc: cpp: 8,913; ansic: 5,078; python: 95; makefile: 28; sh: 1
file content (41 lines) | stat: -rw-r--r-- 1,630 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef qwt3d_function_h__2004_03_05_13_51_begin_guarded_code
#define qwt3d_function_h__2004_03_05_13_51_begin_guarded_code

#include "qwt3d_gridmapping.h"

namespace Qwt3D
{

class SurfacePlot;

//! Abstract base class for mathematical functions
/**
	A Function encapsulates a mathematical function with rectangular domain. The user has to adapt the pure virtual operator() 
	to get a working object. Also, the client code should call setDomain, setMesh and create for reasonable operating conditions.
*/
class QWT3D_EXPORT Function : public GridMapping
{

public:
	
  Function(); //!< Constructs Function object w/o assigned SurfacePlot.
  explicit Function(Qwt3D::SurfacePlot& plotWidget); //!< Constructs Function object and assigns a SurfacePlot
  explicit Function(Qwt3D::SurfacePlot* plotWidget); //!< Constructs Function object and assigns a SurfacePlot
	virtual double operator()(double x, double y) = 0; //!< Overwrite this.
		
	void setMinZ(double val); //!< Sets minimal z value.
	void setMaxZ(double val); //!< Sets maximal z value.

	//! 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); 
};

} // ns

#endif /* include guarded */