| 
|   | LatheIF (const BaseIF &a_impFunc1, const bool &a_inside) | 
|   | 
|   | LatheIF (const BaseIF &a_impFunc1, const BaseIF &a_impFunc2, const RealVect &a_point, const bool &a_inside) | 
|   | 
|   | LatheIF (const LatheIF &a_inputIF) | 
|   | Copy constructor.  More...
  | 
|   | 
| virtual  | ~LatheIF () | 
|   | Destructor.  More...
  | 
|   | 
| virtual Real  | value (const RealVect &a_point) const | 
|   | 
| virtual BaseIF *  | newImplicitFunction () const | 
|   | 
| virtual bool  | fastIntersection (const RealVect &a_low, const RealVect &a_high) const | 
|   | 
| virtual GeometryService::InOut  | InsideOutside (const RealVect &a_low, const RealVect &a_high) const | 
|   | 
| virtual void  | boxLayoutChanged (const DisjointBoxLayout &a_newBoxLayout, const RealVect &a_dx) | 
|   | 
|   | BaseIF () | 
|   | Default constructor.  More...
  | 
|   | 
| virtual  | ~BaseIF () | 
|   | Default destructor.  More...
  | 
|   | 
| virtual IndMomSpaceDim  | getExactVolumeMoments (const VolIndex &a_vof, const Real &a_dx) const | 
|   | return int x^p dV for the vof  More...
  | 
|   | 
| virtual IndMomSpaceDim  | getExactEBMoments (const VolIndex &a_vof, const Real &a_dx) const | 
|   | return int_eb x^p dA for the eb  More...
  | 
|   | 
| virtual IndMomSpaceDim  | getExactEBNormalMoments (const VolIndex &a_vof, const Real &a_dx, const int &a_ni) const | 
|   | return int_eb x^p n_i dA for the eb  More...
  | 
|   | 
| virtual IndMomSpaceDim  | getExactEBNormalPartialDerivs (const VolIndex &a_vof, const Real &a_dx, const int &a_ni) const | 
|   | 
| virtual IndMomSDMinOne  | getExactFaceMoments (const FaceIndex &a_face, const Real &a_dx) const | 
|   | return int x^p dA for the face  More...
  | 
|   | 
| virtual Real  | derivative (const IntVect &a_deriv, const RealVect &a_point) const | 
|   | return the partial derivative at the point  More...
  | 
|   | 
| virtual Real  | value (const IndexTM< int, GLOBALDIM > &a_partialDerivative, const IndexTM< Real, GLOBALDIM > &a_point) const | 
|   | 
| virtual Real  | value (const IntVect &a_deriv, const RealVect &a_point) const | 
|   | 
| virtual bool  | fastIntersection (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const | 
|   | 
| virtual GeometryService::InOut  | InsideOutside (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const Real &a_dx) const | 
|   | 
| virtual Real  | value (const IndexTM< Real, GLOBALDIM > &a_point) const | 
|   | 
| virtual Real  | derivative (const IndexTM< int, GLOBALDIM > &a_deriv, const IndexTM< Real, GLOBALDIM > &a_point) const | 
|   | 
| virtual void  | print (ostream &out) const | 
|   | 
| virtual void  | makeGrids (const ProblemDomain &a_domain, DisjointBoxLayout &a_grids, const int &a_maxGridSize, const int &a_maxIrregGridSize) | 
|   | 
This implicit function takes one or two implicit functions and uses them to produce a generalized surface of revolution.
In 3D, if one function is given, then it is restricted to x >= 0 in the x-y plane (z = 0), revolved around the y axis, and the y axis is rotated to the z axis. In 2D, the function is restricted to x >= 0 and the x axis (y = 0) and revolved around the origin.
In 3D, if two functions are given then the first is restricted to x >= 0 in the x-y plane (z = 0), revolved around the y axis, and the y axis is rotated to the z axis. At each angle between 0 and 2*Pi, the second function restricted to the x axis (y = z = 0) is used to get an angle to rotate the first function in the x-y plane with respect to a given point before it is rotated about the y axis. In 2D, the first function is used as above and the second function is ignored.
Note: the second function (if given) should have the same value at x = 0 and x = 2*Pi (y = z = 0) or a values that differs by some integer multiple of 2*Pi.