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