ESyS-Particle  2.3.4
esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec > Class Template Reference

#include <IntersectionVolCalculator.h>

Inheritance diagram for esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >:

Public Types

typedef TmplVec Vec
 
typedef DimPlane< tmplDim, VecPlane
 

Public Member Functions

 DimBasicSphere ()
 
 DimBasicSphere (const Vec &centrePt, double radius)
 
 DimBasicSphere (const DimBasicSphere &sphere)
 
DimBasicSphereoperator= (const DimBasicSphere &sphere)
 
double getRadius () const
 
const VecgetCentre () const
 
double getVolume () const
 
double getVolume (const Vec &minPt, const Vec &maxPt, const int dimX=0, const int dimY=1) const
 
bool intersectsWith (const Vec &pt) const
 
double getSegmentVolume (const Plane &plane) const
 

Static Public Attributes

static const double FOUR_THIRDS_PI = (4.0/3.0)*M_PI
 
static const double ONE_THIRD_PI = M_PI/3.0
 

Private Attributes

Vec m_centre
 
double m_radius
 

Member Typedef Documentation

◆ Plane

template<int tmplDim, typename TmplVec >
typedef DimPlane<tmplDim, Vec> esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::Plane

◆ Vec

template<int tmplDim, typename TmplVec >
typedef TmplVec esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::Vec

Constructor & Destructor Documentation

◆ DimBasicSphere() [1/3]

template<int tmplDim, typename TmplVec >
esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::DimBasicSphere

◆ DimBasicSphere() [2/3]

template<int tmplDim, typename TmplVec >
esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::DimBasicSphere ( const Vec centrePt,
double  radius 
)

◆ DimBasicSphere() [3/3]

template<int tmplDim, typename TmplVec >
esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::DimBasicSphere ( const DimBasicSphere< tmplDim, TmplVec > &  sphere)

Member Function Documentation

◆ getCentre()

template<int tmplDim, typename TmplVec >
const DimBasicSphere< tmplDim, TmplVec >::Vec & esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::getCentre

◆ getRadius()

template<int tmplDim, typename TmplVec >
double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::getRadius

◆ getSegmentVolume()

template<int tmplDim, typename TmplVec >
double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::getSegmentVolume ( const Plane plane) const

References esys::lsm::impl::DimPlane< tmplDim, TmplVec >::getSignedDistanceTo().

Here is the call graph for this function:

◆ getVolume() [1/2]

template<int tmplDim, typename TmplVec >
double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::getVolume

Referenced by esys::lsm::impl::IntersectionVolCalculator< tmplDim, TmplVec >::getVolume().

Here is the caller graph for this function:

◆ getVolume() [2/2]

template<int tmplDim, typename TmplVec >
double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::getVolume ( const Vec minPt,
const Vec maxPt,
const int  dimX = 0,
const int  dimY = 1 
) const

References esys::lsm::impl::checkDomain().

Here is the call graph for this function:

◆ intersectsWith()

template<int tmplDim, typename TmplVec >
bool esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::intersectsWith ( const Vec pt) const

References esys::lsm::impl::square().

Referenced by esys::lsm::impl::IntersectionVolCalculator< tmplDim, TmplVec >::sphereContainsBox().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

template<int tmplDim, typename TmplVec >
DimBasicSphere< tmplDim, TmplVec > & esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::operator= ( const DimBasicSphere< tmplDim, TmplVec > &  sphere)

Member Data Documentation

◆ FOUR_THIRDS_PI

template<int tmplDim, typename TmplVec >
const double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::FOUR_THIRDS_PI = (4.0/3.0)*M_PI
static

◆ m_centre

template<int tmplDim, typename TmplVec >
Vec esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::m_centre
private

◆ m_radius

template<int tmplDim, typename TmplVec >
double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::m_radius
private

◆ ONE_THIRD_PI

template<int tmplDim, typename TmplVec >
const double esys::lsm::impl::DimBasicSphere< tmplDim, TmplVec >::ONE_THIRD_PI = M_PI/3.0
static

The documentation for this class was generated from the following files: