Chombo + EB
3.2

#include <BaseIF.H>
Public Member Functions  
BaseIF ()  
Default constructor. More...  
virtual  ~BaseIF () 
Default destructor. More...  
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) 
This is the base class for an implicit function specification of geometry. All that is needed is a constructor/destructor, a method to give the value of the function at any point in space (in 2D or 3D), and a factory method (these will probably all be very similar).

inline 
Default constructor.

inlinevirtual 
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 DataFileIF, PolynomialIF, ReferenceHeightIF, TransformIF, LatheIF, GaussianIF, RhodoneaIF, STLIF, TorusIF, TiltedCylinderIF, BilinearIF, GaussianSphereIF, MultiSphereIF, PlaneIF, ComplementIF, EllipsoidIF, PolarIF, SphereIF, HelixIF, HelicoilIF, TylerChannelIF, SumIF, IntersectionIF, UnionIF, MollifyIF, DEMIF, and SphereArrayIF.
Referenced by value(), and ReferenceHeightIF::value().

inlinevirtual 
Reimplemented in DataFileIF, PolynomialIF, ComplementIF, ReferenceHeightIF, BilinearIF, SumIF, IntersectionIF, and UnionIF.
References MayDay::Abort(), LARGEREALVAL, and value().

inlinevirtual 
References corners().
Referenced by ComplementIF::fastIntersection().

inlinevirtual 
Reimplemented in TransformIF, LatheIF, ComplementIF, TiltedCylinderIF, MultiSphereIF, PlaneIF, SphereIF, IntersectionIF, UnionIF, and SphereArrayIF.

inlinevirtual 
References corners().

inlinevirtual 
Reimplemented in LatheIF, TransformIF, ComplementIF, TiltedCylinderIF, PlaneIF, SphereIF, MultiSphereIF, IntersectionIF, UnionIF, and SphereArrayIF.
References MayDay::Abort(), and GeometryService::Irregular.
Return the value of the function at a_point (of type IndexTM).
Reimplemented in DataFileIF, ReferenceHeightIF, TransformIF, GaussianSphereIF, ComplementIF, BilinearIF, MollifyIF, SumIF, IntersectionIF, and UnionIF.
References MayDay::Abort(), and LARGEREALVAL.

pure virtual 
Return a newly allocated derived class. The responsibility for deleting the memory is left to the calling function.
Implemented in DataFileIF, ReferenceHeightIF, PolynomialIF, TransformIF, LatheIF, ComplementIF, GaussianIF, GaussianSphereIF, RhodoneaIF, STLIF, TorusIF, TiltedCylinderIF, BilinearIF, SumIF, MultiSphereIF, PlaneIF, EllipsoidIF, PolarIF, SphereIF, HelixIF, IntersectionIF, MollifyIF, UnionIF, HelicoilIF, TylerChannelIF, DEMIF, and SphereArrayIF.

inlinevirtual 
Reimplemented in ReferenceHeightIF.
References MayDay::Abort().
Referenced by ReferenceHeightIF::print().

inlinestatic 
References Box::bigEnd(), Box::smallEnd(), and IntVect::Unit.
Referenced by fastIntersection(), and InsideOutside().

inlinevirtual 
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 ReferenceHeightIF, LatheIF, TransformIF, ComplementIF, IntersectionIF, UnionIF, SumIF, HelixIF, MollifyIF, and HelicoilIF.
Referenced by HelicoilIF::boxLayoutChanged(), MollifyIF::boxLayoutChanged(), HelixIF::boxLayoutChanged(), ComplementIF::boxLayoutChanged(), TransformIF::boxLayoutChanged(), LatheIF::boxLayoutChanged(), and ReferenceHeightIF::boxLayoutChanged().