ICircle.hpp
1 #pragma once
2 
3 
4 #include "DM/IGeometry.hpp"
5 #include "DM/Handle.hpp"
6 #include "DM/AutoLink.hpp" //enable autolink
7 
8 DM_NAMESPACE_BEGIN
9 
10 /// \brief Geometry object describing a 2d circle
11 class DM_API ICircle : public IGeometry
12 {
13 public:
14  static ICircle* New();
15  static ICircle* New(double x, double y, double r);
16 
17 protected:
18  virtual ~ICircle() {}
19 
20 public:
21  virtual double x() const = 0;
22  virtual double y() const = 0;
23  virtual double r() const = 0;
24 
25  virtual void x(double) = 0;
26  virtual void y(double) = 0;
27  virtual void r(double) = 0;
28 };
29 
31 
32 DM_NAMESPACE_END
Geometry object describing a 2d circle.
Definition: ICircle.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