#include <BaseIF.H>
Public Member Functions | |
BaseIF () | |
Default constructor. | |
virtual | ~BaseIF () |
Default destructor. | |
virtual Real | value (const RealVect &a_point) const =0 |
virtual Real | value (const IndexTM< int, GLOBALDIM > &a_partialDerivative, const IndexTM< Real, GLOBALDIM > &a_point) const |
virtual bool | fastIntersection (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual bool | fastIntersection (const RealVect &a_low, const RealVect &a_high) const |
virtual GeometryService::InOut | InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const |
virtual GeometryService::InOut | InsideOutside (const RealVect &a_low, const RealVect &a_high) const |
virtual Real | value (const IndexTM< Real, GLOBALDIM > &a_point) const |
virtual BaseIF * | newImplicitFunction () const =0 |
virtual void | print (ostream &out) const |
virtual void | boxLayoutChanged (const DisjointBoxLayout &a_newBoxLayout, const RealVect &a_dx) |
Static Public Member Functions | |
static void | corners (const Box &a_region, const RealVect &a_origin, const Real &a_dx, RealVect &a_lo, RealVect &a_hi) |
BaseIF::BaseIF | ( | ) | [inline] |
Default constructor.
virtual BaseIF::~BaseIF | ( | ) | [inline, virtual] |
Default destructor.
Return the value of the function at a_point. When delineating a domain, the level set value=0 represents the boundary and value<0 is inside the fluid.
Implemented in BilinearIF, ComplementIF, DataFileIF, DEMIF, EllipsoidIF, GaussianIF, GaussianSphereIF, HelicoilIF, HelixIF, IntersectionIF, LatheIF, MollifyIF, MultiSphereIF, PlaneIF, PolarIF, PolynomialIF, ReferenceHeightIF, RhodoneaIF, SphereArrayIF, SphereIF, SumIF, TiltedCylinderIF, TorusIF, TransformIF, TylerChannelIF, and UnionIF.
Referenced by ReferenceHeightIF::value(), and value().
virtual Real BaseIF::value | ( | const IndexTM< int, GLOBALDIM > & | a_partialDerivative, | |
const IndexTM< Real, GLOBALDIM > & | a_point | |||
) | const [inline, virtual] |
Reimplemented in BilinearIF, ComplementIF, IntersectionIF, PolynomialIF, ReferenceHeightIF, SumIF, and UnionIF.
References MayDay::Abort(), LARGEREALVAL, and value().
virtual bool BaseIF::fastIntersection | ( | const Box & | a_region, | |
const ProblemDomain & | a_domain, | |||
const RealVect & | a_origin, | |||
const Real & | a_dx | |||
) | const [inline, virtual] |
virtual bool BaseIF::fastIntersection | ( | const RealVect & | a_low, | |
const RealVect & | a_high | |||
) | const [inline, virtual] |
Reimplemented in ComplementIF, IntersectionIF, LatheIF, MultiSphereIF, PlaneIF, SphereArrayIF, SphereIF, TiltedCylinderIF, TransformIF, and UnionIF.
virtual GeometryService::InOut BaseIF::InsideOutside | ( | const Box & | a_region, | |
const ProblemDomain & | a_domain, | |||
const RealVect & | a_origin, | |||
const Real & | a_dx | |||
) | const [inline, virtual] |
References corners().
virtual GeometryService::InOut BaseIF::InsideOutside | ( | const RealVect & | a_low, | |
const RealVect & | a_high | |||
) | const [inline, virtual] |
Reimplemented in ComplementIF, IntersectionIF, LatheIF, MultiSphereIF, PlaneIF, SphereArrayIF, SphereIF, TiltedCylinderIF, TransformIF, and UnionIF.
References MayDay::Abort(), and GeometryService::Irregular.
Return the value of the function at a_point (of type INdexTM).
Reimplemented in BilinearIF, ComplementIF, GaussianSphereIF, IntersectionIF, MollifyIF, ReferenceHeightIF, SumIF, TransformIF, and UnionIF.
References MayDay::Abort(), and LARGEREALVAL.
virtual BaseIF* BaseIF::newImplicitFunction | ( | ) | const [pure virtual] |
Return a newly allocated derived class. The responsibility for deleting the memory is left to the calling function.
Implemented in BilinearIF, ComplementIF, DataFileIF, DEMIF, EllipsoidIF, GaussianIF, GaussianSphereIF, HelicoilIF, HelixIF, IntersectionIF, LatheIF, MollifyIF, MultiSphereIF, PlaneIF, PolarIF, PolynomialIF, ReferenceHeightIF, RhodoneaIF, SphereArrayIF, SphereIF, SumIF, TiltedCylinderIF, TorusIF, TransformIF, TylerChannelIF, and UnionIF.
virtual void BaseIF::print | ( | ostream & | out | ) | const [inline, virtual] |
Reimplemented in ReferenceHeightIF.
References MayDay::Abort().
Referenced by ReferenceHeightIF::print().
static void BaseIF::corners | ( | const Box & | a_region, | |
const RealVect & | a_origin, | |||
const Real & | a_dx, | |||
RealVect & | a_lo, | |||
RealVect & | a_hi | |||
) | [inline, static] |
References Box::bigEnd(), Box::smallEnd(), and IntVect::Unit.
Referenced by fastIntersection(), and InsideOutside().
virtual void BaseIF::boxLayoutChanged | ( | const DisjointBoxLayout & | a_newBoxLayout, | |
const RealVect & | a_dx | |||
) | [inline, virtual] |
Inform the implicit function, IF, of a BoxLayout change in the application that is using it. If the implicit function uses distributed data, this gives it a chance to react to the spatial layout of the application that is using it.
This is a empty implementation for IFs that don't need this functionality.
Reimplemented in ComplementIF, HelicoilIF, HelixIF, IntersectionIF, LatheIF, MollifyIF, ReferenceHeightIF, SumIF, TransformIF, and UnionIF.
Referenced by TransformIF::boxLayoutChanged(), ReferenceHeightIF::boxLayoutChanged(), MollifyIF::boxLayoutChanged(), LatheIF::boxLayoutChanged(), HelixIF::boxLayoutChanged(), HelicoilIF::boxLayoutChanged(), and ComplementIF::boxLayoutChanged().