# LatheIF Class Reference

`#include <LatheIF.H>`

Inheritance diagram for LatheIF:

[legend]
Collaboration diagram for LatheIF:

[legend]

## Detailed Description

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.

## Public Member Functions

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.
virtual ~LatheIF ()
Destructor.
virtual Real value (const RealVect &a_point) const
virtual BaseIFnewImplicitFunction () 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

BaseIFm_impFunc1
BaseIFm_impFunc2
RealVect m_point
bool m_inside

## Private Member Functions

LatheIF ()
void operator= (const LatheIF &a_inputIF)

## Constructor & Destructor Documentation

 LatheIF::LatheIF ( const BaseIF & a_impFunc1, const bool & a_inside )

Constructor specifying one implicit function to be rotated and whether the domain is on the inside (a_inside), i.e. where the function is negative.

 LatheIF::LatheIF ( const BaseIF & a_impFunc1, const BaseIF & a_impFunc2, const RealVect & a_point, const bool & a_inside )

Constructor specifying two implicit functions, one to be rotated and the other to cause an additional rotation about a_point, and whether the domain is on the inside (a_inside), i.e. where the function is negative.

 LatheIF::LatheIF ( const LatheIF & a_inputIF )

Copy constructor.

 virtual LatheIF::~LatheIF ( ) ` [virtual]`

Destructor.

 LatheIF::LatheIF ( ) ` [inline, private]`

References MayDay::Error().

## Member Function Documentation

 virtual Real LatheIF::value ( const RealVect & a_point ) const` [virtual]`

Return the value of the function at a_point.

Implements BaseIF.

 virtual BaseIF* LatheIF::newImplicitFunction ( ) const` [virtual]`

Return a newly allocated derived class. The responsibility for deleting the memory is left to the calling function.

Implements BaseIF.

 virtual bool LatheIF::fastIntersection ( const RealVect & a_low, const RealVect & a_high ) const` [inline, virtual]`

Reimplemented from BaseIF.

 virtual GeometryService::InOut LatheIF::InsideOutside ( const RealVect & a_low, const RealVect & a_high ) const` [virtual]`

Reimplemented from BaseIF.

 void LatheIF::operator= ( const LatheIF & a_inputIF ) ` [inline, private]`

References MayDay::Error().

## Member Data Documentation

 BaseIF* LatheIF::m_impFunc1` [protected]`

 BaseIF* LatheIF::m_impFunc2` [protected]`

 RealVect LatheIF::m_point` [protected]`

 bool LatheIF::m_inside` [protected]`

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

Generated on Tue Apr 14 14:23:39 2009 for Chombo + EB by  1.5.5