1 #ifndef PMPL_N_SPHERICAL_SHELL_H_
2 #define PMPL_N_SPHERICAL_SHELL_H_
29 const double _outer = std::numeric_limits<double>::max(),
30 const double _inner = 0);
37 const double _outer = std::numeric_limits<double>::max(),
38 const double _inner = 0);
51 void SetCenter(const std::vector<
double>& _c) noexcept;
54 const std::vector<
double>&
GetCenter() const noexcept;
70 void Translate(const std::vector<
double>& _v) noexcept;
84 bool Contains(const std::vector<
double>& _p) const noexcept;
91 double Clearance(std::vector<
double> _p) const noexcept;
96 std::vector<
double>
ClearancePoint(std::vector<
double> _p) const noexcept;
104 std::vector<
double>
Sample() const;
113 std::vector<
double> m_center;
114 double m_outerRadius;
115 double m_innerRadius;
119 friend std::istream& operator>>(std::istream& _is,
NSphericalShell& _sphere);
Definition: NSphericalShell.h:16
void SetCenter(const std::vector< double > &_c) noexcept
Definition: NSphericalShell.cpp:36
std::vector< double > Sample() const
Definition: NSphericalShell.cpp:158
double GetInnerRadius() const noexcept
Get the inner radius.
Definition: NSphericalShell.cpp:59
double Clearance(std::vector< double > _p) const noexcept
Definition: NSphericalShell.cpp:109
bool Contains(const std::vector< double > &_p) const noexcept
Definition: NSphericalShell.cpp:102
void SetInnerRadius(const double _r) noexcept
Set the inner radius.
Definition: NSphericalShell.cpp:73
double GetVolume() const noexcept
Compute the (hyper)volume or Lebesgue measure.
Definition: NSphericalShell.cpp:89
std::vector< double > ClearancePoint(std::vector< double > _p) const noexcept
Definition: NSphericalShell.cpp:126
void SetOuterRadius(const double _r) noexcept
Set the outer radius.
Definition: NSphericalShell.cpp:66
void Translate(const std::vector< double > &_v) noexcept
Definition: NSphericalShell.cpp:80
NSphericalShell(const size_t _n, const double _outer=std::numeric_limits< double >::max(), const double _inner=0)
Definition: NSphericalShell.cpp:12
size_t GetDimension() const noexcept
Get the dimension of this sphere.
Definition: NSphericalShell.cpp:29
const std::vector< double > & GetCenter() const noexcept
Get the center point.
Definition: NSphericalShell.cpp:45
double GetOuterRadius() const noexcept
Get the outer radius.
Definition: NSphericalShell.cpp:52
virtual ~NSphericalShell() noexcept