11 #ifndef _MULTISPHEREIF_H_ 12 #define _MULTISPHEREIF_H_ 21 #include "NamespaceHeader.H" 60 for (
int idir = 0; idir <
SpaceDim; idir++)
62 if (a_point[idir] <
m_lo[idir] || a_point[idir] >
m_hi[idir])
121 if (m_left != NULL) {
125 if (m_right != NULL) {
132 if (m_numSpheres != 0)
136 else if (m_left->m_bbox.contains(a_point))
140 else if (m_right->m_bbox.contains(a_point))
146 pout() <<
"SphereTree::findNode - " << a_point
147 <<
" not contained in " << m_bbox.getLo()
148 <<
" - " << m_bbox.getHi()
151 MayDay::Error(
"SphereTree::findNode - Couldn't find a node containing the given point");
221 const bool& a_inside);
224 const bool& a_inside,
244 virtual BaseIF* newImplicitFunction()
const;
265 MayDay::Abort(
"MultiSphereIF doesn't allow copy construction");
274 #include "NamespaceFooter.H" std::ostream & pout()
Use this in place of std::cout for program output.
RealVect size() const
Definition: MultiSphereIF.H:72
Vector< RealVect > m_centers
Definition: MultiSphereIF.H:190
RealVect m_hi
Definition: MultiSphereIF.H:109
SphereTree * m_right
Definition: MultiSphereIF.H:193
const RealVect & getHi() const
Definition: MultiSphereIF.H:87
Definition: MultiSphereIF.H:112
RealBox(const RealVect &a_lo, const RealVect &a_hi)
Definition: MultiSphereIF.H:32
virtual void define(const RealVect &a_lo, const RealVect &a_hi)
Definition: MultiSphereIF.H:49
SphereTree * m_left
Definition: MultiSphereIF.H:192
RefCountedPtr< SphereTree > m_sphereTree
Definition: MultiSphereIF.H:255
void operator=(const MultiSphereIF &a_inputIF)
Definition: MultiSphereIF.H:268
Vector< Real > m_radii
Definition: MultiSphereIF.H:189
Vector< Real > getRadii()
Definition: MultiSphereIF.H:170
const int SpaceDim
Definition: SPACE.H:38
void operator=(const RealBox &a_realBox)
Definition: MultiSphereIF.H:39
static const RealVect Unit
Definition: RealVect.H:427
const RealVect & getLo() const
Definition: MultiSphereIF.H:77
RealVect m_lo
Definition: MultiSphereIF.H:105
bool m_inside
Definition: MultiSphereIF.H:251
static const RealVect Zero
Definition: RealVect.H:421
bool contains(const RealVect &a_point)
Definition: MultiSphereIF.H:56
MultiSphereIF()
Definition: MultiSphereIF.H:258
int m_numSpheres
Definition: MultiSphereIF.H:250
int m_numSpheres
Definition: MultiSphereIF.H:188
double Real
Definition: REAL.H:33
RealVect getHi()
Definition: MultiSphereIF.H:92
void setHi(const RealVect &a_hi)
Definition: MultiSphereIF.H:102
const SphereTree & findNode(const RealVect &a_point) const
Definition: MultiSphereIF.H:130
virtual ~SphereTree()
Definition: MultiSphereIF.H:119
RealVect getLo()
Definition: MultiSphereIF.H:82
void operator=(const SphereTree &a_inputIF)
Definition: MultiSphereIF.H:201
SphereTree()
Definition: MultiSphereIF.H:196
const int & getNumSpheres() const
Definition: MultiSphereIF.H:155
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
const Vector< Real > & getRadii() const
Definition: MultiSphereIF.H:165
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
const Vector< RealVect > & getCenters() const
Definition: MultiSphereIF.H:175
void setLo(const RealVect &a_lo)
Definition: MultiSphereIF.H:97
virtual ~RealBox()
Definition: MultiSphereIF.H:45
Definition: MultiSphereIF.H:23
Vector< RealVect > getCenters()
Definition: MultiSphereIF.H:180
RealBox()
Definition: MultiSphereIF.H:26
Definition: MultiSphereIF.H:211
int getNumSpheres()
Definition: MultiSphereIF.H:160
MultiSphereIF(const MultiSphereIF &a_inputIF)
Definition: MultiSphereIF.H:263
RealBox m_bbox
Definition: MultiSphereIF.H:183
static void Abort(const char *const a_msg=m_nullString)
Print out message to cerr and exit via abort() (if serial) or MPI_Abort() (if parallel).
RealBox m_bbox
Definition: MultiSphereIF.H:253