Carna  Version 3.0.1
BoundingSphere.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 - 2015 Leonid Kostrykin
3  *
4  * Chair of Medical Engineering (mediTEC)
5  * RWTH Aachen University
6  * Pauwelsstr. 20
7  * 52074 Aachen
8  * Germany
9  *
10  */
11 
12 #ifndef BOUNDINGSPHERE_H_6014714286
13 #define BOUNDINGSPHERE_H_6014714286
14 
15 #include <Carna/Carna.h>
17 
22 namespace Carna
23 {
24 
25 namespace base
26 {
27 
28 
29 
30 // ----------------------------------------------------------------------------------
31 // BoundingSphere
32 // ----------------------------------------------------------------------------------
33 
40 class CARNA_LIB BoundingSphere : public BoundingVolume
41 {
42 
43  struct Details;
44  const std::unique_ptr< Details > pimpl;
45 
46 public:
47 
52  BoundingSphere( float radius );
53 
57  virtual ~BoundingSphere();
58 
63  float radius() const;
64 
69  void setRadius( float radius );
70 
71  virtual void computeClosemostPoint( math::Vector3f& out, const math::Vector3f& reference ) const override;
72 
73 }; // BoundingSphere
74 
75 
76 
77 } // namespace Carna :: base
78 
79 } // namespace Carna
80 
81 #endif // BOUNDINGSPHERE_H_6014714286
Defines Carna::base::BoundingVolume.
Eigen::Matrix< float, 3, 1 > Vector3f
Defines vector.
Definition: math.h:196
Represents a Geometry minimal boundary volume of simple geometric shape. The volume is centered withi...
Defines a Geometry minimal boundary sphere.