The spica renderer
bsphere.h
1 #ifdef _MSC_VER
2 #pragma once
3 #endif
4 
5 #ifndef _SPICA_BSPHERE_H_
6 #define _SPICA_BSPHERE_H_
7 
8 #include "point3d.h"
9 
10 namespace spica {
11 
12 template <class T>
13 class BSphere_ {
14 public:
15  BSphere_();
16  BSphere_(const Point3d &center, double radius);
17  BSphere_(const BSphere_ &sph);
18 
19  BSphere_ & operator=(const BSphere_ &sph);
20 
21  inline Point3_<T> center() const { return center_; }
22  inline T radius() const { return radius_; }
23 
24 private:
25  Point3_<T> center_;
26  T radius_;
27 
28  static_assert(std::is_floating_point<T>::value,
29  "Template type must be floating point type!");
30 };
31 
33 
34 } // namespace spica
35 
36 #include "bsphere_detail.h"
37 
38 #endif // _SPICA_BSPHERE_H_
Definition: bsphere.h:13