IWindow.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/Handle.hpp"
5 #include "DM/IGeometry.hpp"
6 #include "DM/AutoLink.hpp" //enable autolink
7 
8 DM_NAMESPACE_BEGIN
9 
10 /// \brief 2d window object
11 class DM_API IWindow : public IGeometry
12 {
13 public:
14  static IWindow* New();
15  static IWindow* New(double xmin, double ymin, double xmax, double ymax);
16 
17 protected:
18  virtual ~IWindow() {}
19 
20 public:
21  virtual double xmin() const = 0;
22  virtual double xmax() const = 0;
23  virtual double ymin() const = 0;
24  virtual double ymax() const = 0;
25 
26  virtual void xmin(double) = 0;
27  virtual void xmax(double) = 0;
28  virtual void ymin(double) = 0;
29  virtual void ymax(double) = 0;
30 
31  virtual void xrange(double xmin, double xmax) = 0;
32  virtual void yrange(double ymin, double ymax) = 0;
33 
34  virtual void expand(double) = 0;
35 };
36 
38 
39 DM_NAMESPACE_END
2d window object
Definition: IWindow.hpp:11
Base class of all geometry objects.
Definition: IGeometry.hpp:26
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:98