#include <HelixIF.H>
In 3D, if a_vertical is false, the given function is restricted to the x-y plane (z = 0), and this restricted function is rotated around the z-axis at the specified rate as z changes.
In 3D, if a_vertical is true, the given function is restricted to the x-y plane (z = 0), but this x-y cross section is oriented vertically and swept in a helix at the specified rate.
In 2D, the given function is simply returned.
Public Member Functions | |
HelixIF (const BaseIF &a_impFunc, const Real &a_rate, const bool &a_inside, const bool &a_vertical=true) | |
HelixIF (const HelixIF &a_inputIF) | |
Copy constructor. | |
virtual | ~HelixIF () |
Destructor. | |
virtual Real | value (const RealVect &a_point) const |
virtual BaseIF * | newImplicitFunction () const |
virtual void | boxLayoutChanged (const DisjointBoxLayout &a_newBoxLayout, const RealVect &a_dx) |
Protected Attributes | |
BaseIF * | m_impFunc |
Real | m_rate |
bool | m_inside |
bool | m_vertical |
Real | m_minz |
Real | m_maxz |
Private Member Functions | |
HelixIF () | |
void | operator= (const HelixIF &a_inputIF) |
HelixIF::HelixIF | ( | const BaseIF & | a_impFunc, | |
const Real & | a_rate, | |||
const bool & | a_inside, | |||
const bool & | a_vertical = true | |||
) |
Constructor specifying one implicit function to be rotated, the rotation rate, and whether the domain is on the inside (a_inside), i.e. where the function is negative.
HelixIF::HelixIF | ( | const HelixIF & | a_inputIF | ) |
Copy constructor.
virtual HelixIF::~HelixIF | ( | ) | [virtual] |
Destructor.
HelixIF::HelixIF | ( | ) | [inline, private] |
References MayDay::Abort().
Return the value of the function at a_point.
Implements BaseIF.
virtual BaseIF* HelixIF::newImplicitFunction | ( | ) | const [virtual] |
Return a newly allocated derived class. The responsibility for deleting the memory is left to the calling function.
Implements BaseIF.
virtual void HelixIF::boxLayoutChanged | ( | const DisjointBoxLayout & | a_newBoxLayout, | |
const RealVect & | a_dx | |||
) | [inline, virtual] |
Pass this call onto the IFs contained in this IF class.
Reimplemented from BaseIF.
References BaseIF::boxLayoutChanged(), and m_impFunc.
void HelixIF::operator= | ( | const HelixIF & | a_inputIF | ) | [inline, private] |
References MayDay::Abort().
BaseIF* HelixIF::m_impFunc [protected] |
Referenced by boxLayoutChanged().
Real HelixIF::m_rate [protected] |
bool HelixIF::m_inside [protected] |
bool HelixIF::m_vertical [protected] |
Real HelixIF::m_minz [protected] |
Real HelixIF::m_maxz [protected] |