#include <TransformIF.H>
Public Member Functions | |
TransformIF (const BaseIF &a_impFunc) | |
TransformIF (const TransformIF &a_inputIF) | |
Copy constructor. | |
virtual | ~TransformIF () |
Destructor. | |
void | translate (const RealVect &a_trans) |
void | scale (const Real &a_scale) |
void | scale (const RealVect &a_scale) |
void | rotate (const Real &a_angle, const RealVect &a_point=RealVect::Zero, const RealVect &a_axis=BASISREALV(0)) |
void | rotate (const RealVect &a_axis1, const RealVect &a_axis2, const RealVect &a_point=RealVect::Zero) |
virtual Real | value (const RealVect &a_point) const |
Real | value (const IndexTM< Real, GLOBALDIM > &a_point) const |
virtual IndexTM< Real, GLOBALDIM > | normal (const IndexTM< Real, GLOBALDIM > &a_point) const |
virtual Vector< IndexTM< Real, GLOBALDIM > > | gradNormal (const IndexTM< Real, GLOBALDIM > &a_point) const |
virtual BaseIF * | newImplicitFunction () const |
virtual bool | fastIntersection (const RealVect &a_lo, const RealVect &a_hi) const |
virtual GeometryService::InOut | InsideOutside (const RealVect &a_lo, const RealVect &a_hi) const |
Protected Member Functions | |
TransformIF (const BaseIF &a_impFunc, const Real a_transform[SpaceDim+1][SpaceDim+1], const Real a_invTransform[SpaceDim+1][SpaceDim+1]) | |
void | vectorMultiply (RealVect &m_outPoint, const Real m_intrans[SpaceDim+1][SpaceDim+1], const RealVect &m_inPoint) const |
void | vectorMultiply (IndexTM< Real, GLOBALDIM > &m_outPoint, const Real m_intrans[SpaceDim+1][SpaceDim+1], const IndexTM< Real, GLOBALDIM > &m_inPoint) const |
void | matrixIdentity (Real m_trans[SpaceDim+1][SpaceDim+1]) const |
void | matrixMultiply (Real m_outTrans[SpaceDim+1][SpaceDim+1], const Real m_intrans1[SpaceDim+1][SpaceDim+1], const Real m_intrans2[SpaceDim+1][SpaceDim+1]) const |
void | matrixTranslate (Real m_trans[SpaceDim+1][SpaceDim+1], const RealVect &m_translate) const |
void | matrixScale (Real m_trans[SpaceDim+1][SpaceDim+1], const RealVect &m_scale) const |
Protected Attributes | |
Real | m_transform [SpaceDim+1][SpaceDim+1] |
Real | m_invTransform [SpaceDim+1][SpaceDim+1] |
BaseIF * | m_impFunc |
Private Member Functions | |
TransformIF () | |
void | operator= (const TransformIF &a_inputIF) |
TransformIF::TransformIF | ( | const BaseIF & | a_impFunc | ) |
Constructor specifying the implicit function
TransformIF::TransformIF | ( | const TransformIF & | a_inputIF | ) |
Copy constructor.
virtual TransformIF::~TransformIF | ( | ) | [virtual] |
Destructor.
TransformIF::TransformIF | ( | const BaseIF & | a_impFunc, | |
const Real | a_transform[SpaceDim+1][SpaceDim+1], | |||
const Real | a_invTransform[SpaceDim+1][SpaceDim+1] | |||
) | [protected] |
Constructor for the factory
TransformIF::TransformIF | ( | ) | [inline, private] |
References MayDay::Error().
void TransformIF::translate | ( | const RealVect & | a_trans | ) |
Translate by a_trans
void TransformIF::scale | ( | const Real & | a_scale | ) |
Scale (uniformly) by a_scale
void TransformIF::scale | ( | const RealVect & | a_scale | ) |
Scale in each direction (idir) by a_scale[idir]
void TransformIF::rotate | ( | const Real & | a_angle, | |
const RealVect & | a_point = RealVect::Zero , |
|||
const RealVect & | a_axis = BASISREALV(0) | |||
) |
In 2D - rotate by a_angle about a_point, a_axis is ignored. In 3D - rotate by a_angle about the line in space specified by a_point and and a_axis.
void TransformIF::rotate | ( | const RealVect & | a_axis1, | |
const RealVect & | a_axis2, | |||
const RealVect & | a_point = RealVect::Zero | |||
) |
About a_point, Rotate vector a_axis1 to align with vector a_axis2
Return the value of the function at a_point.
Implements BaseIF.
Return the value of the function at a_point (of type INdexTM).
Reimplemented from BaseIF.
virtual IndexTM<Real,GLOBALDIM> TransformIF::normal | ( | const IndexTM< Real, GLOBALDIM > & | a_point | ) | const [virtual] |
Return the normalized gradient of the function at a_point. The gradients and normals are based on value, which yields outward-pointing normals (which is different the computational computation elsewhere in Chombo).
Reimplemented from BaseIF.
virtual Vector< IndexTM<Real,GLOBALDIM> > TransformIF::gradNormal | ( | const IndexTM< Real, GLOBALDIM > & | a_point | ) | const [virtual] |
Return the gradient of the normal at a_point.
Reimplemented from BaseIF.
virtual BaseIF* TransformIF::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 TransformIF::fastIntersection | ( | const RealVect & | a_lo, | |
const RealVect & | a_hi | |||
) | const [virtual] |
Reimplemented from BaseIF.
virtual GeometryService::InOut TransformIF::InsideOutside | ( | const RealVect & | a_lo, | |
const RealVect & | a_hi | |||
) | const [virtual] |
Reimplemented from BaseIF.
void TransformIF::vectorMultiply | ( | RealVect & | m_outPoint, | |
const Real | m_intrans[SpaceDim+1][SpaceDim+1], | |||
const RealVect & | m_inPoint | |||
) | const [protected] |
void TransformIF::vectorMultiply | ( | IndexTM< Real, GLOBALDIM > & | m_outPoint, | |
const Real | m_intrans[SpaceDim+1][SpaceDim+1], | |||
const IndexTM< Real, GLOBALDIM > & | m_inPoint | |||
) | const [protected] |
void TransformIF::matrixIdentity | ( | Real | m_trans[SpaceDim+1][SpaceDim+1] | ) | const [protected] |
void TransformIF::matrixMultiply | ( | Real | m_outTrans[SpaceDim+1][SpaceDim+1], | |
const Real | m_intrans1[SpaceDim+1][SpaceDim+1], | |||
const Real | m_intrans2[SpaceDim+1][SpaceDim+1] | |||
) | const [protected] |
void TransformIF::matrixTranslate | ( | Real | m_trans[SpaceDim+1][SpaceDim+1], | |
const RealVect & | m_translate | |||
) | const [protected] |
void TransformIF::matrixScale | ( | Real | m_trans[SpaceDim+1][SpaceDim+1], | |
const RealVect & | m_scale | |||
) | const [protected] |
void TransformIF::operator= | ( | const TransformIF & | a_inputIF | ) | [inline, private] |
References MayDay::Error().
Real TransformIF::m_transform[SpaceDim+1][SpaceDim+1] [protected] |
Real TransformIF::m_invTransform[SpaceDim+1][SpaceDim+1] [protected] |
BaseIF* TransformIF::m_impFunc [protected] |