Chombo + EB  3.0
Static Public Attributes | Protected Attributes | Friends | List of all members
RealVect Class Reference

A Real vector in SpaceDim-dimensional space. More...

#include <RealVect.H>

Public Member Functions

Constructors and Accessors
 RealVect ()
 
 RealVect (const Vector< Real > &)
 
 RealVect (D_DECL6(Real i, Real j, Real k, Real l, Real m, Real n))
 
 RealVect (const RealVect &rhs)
 
 RealVect (const IndexTM< Real, CH_SPACEDIM > &a_tm)
 
 RealVect (const IntVect &iv)
 
RealVectoperator= (const RealVect &rhs)
 
Realoperator[] (int i)
 
const Realoperator[] (int i) const
 
Comparison Operators
bool operator== (const RealVect &p) const
 
bool operator!= (const RealVect &p) const
 
bool operator< (const RealVect &p) const
 
bool operator<= (const RealVect &p) const
 
bool operator> (const RealVect &p) const
 
bool operator>= (const RealVect &p) const
 
Arithmetic Operators
RealVectoperator+= (Real s)
 
RealVect operator+ (Real s) const
 
RealVectoperator+= (const RealVect &p)
 
RealVectoperator-= (Real s)
 
RealVectoperator-= (const RealVect &p)
 
RealVect operator- (Real s) const
 
RealVectoperator*= (Real s)
 
Real dotProduct (const RealVect &a_rhs) const
 
RealVectoperator*= (const RealVect &p)
 
RealVect operator* (Real s) const
 
RealVectoperator/= (Real s)
 
RealVectoperator/= (const RealVect &p)
 
RealVect operator/ (Real s) const
 
RealVectscale (Real s)
 
Unary operators
RealVect operator+ () const
 
RealVect operator- () const
 
Real sum () const
 
Real vectorLength () const
 
Real product () const
 
int minDir (const bool &a_doAbs) const
 
int maxDir (const bool &a_doAbs) const
 
Data pointer functions
const RealdataPtr () const
 
RealdataPtr ()
 

Static Public Attributes

static size_t io_offset
 

Protected Attributes

Real vect [SpaceDim]
 

Friends

class HDF5Handle
 
std::ostream & operator<< (std::ostream &ostr, const RealVect &p)
 
Arithmetic friend functions
RealVect operator+ (Real s, const RealVect &p)
 
RealVect operator- (Real s, const RealVect &p)
 
RealVect operator* (Real s, const RealVect &p)
 
RealVect operator/ (Real s, const RealVect &p)
 
RealVect operator+ (const RealVect &s, const RealVect &p)
 
RealVect operator- (const RealVect &s, const RealVect &p)
 
RealVect operator* (const RealVect &s, const RealVect &p)
 
RealVect operator/ (const RealVect &s, const RealVect &p)
 
RealVect scale (const RealVect &p, Real s)
 

Other arithmetic operators

RealVect min (const RealVect &p1, const RealVect &p2)
 
RealVect max (const RealVect &p1, const RealVect &p2)
 
RealVectmin (const RealVect &p)
 
RealVectmax (const RealVect &p)
 

Constants

static const RealVect Zero
 
static const RealVect Unit
 
RealVect BASISREALV (int dir)
 

Detailed Description

A Real vector in SpaceDim-dimensional space.

The class RealVect is an implementation of a Real vector in a SpaceDim-dimensional space. RealVect values are accessed using the operator[] function, as for a normal C++ array. In addition, the basic arithmetic operators have been overloaded to implement scaling and translation operations.

Constructor & Destructor Documentation

RealVect::RealVect ( )

Construct a RealVect whose components are zero.

Referenced by operator+(), and operator-().

RealVect::RealVect ( const Vector< Real > &  )
explicit
RealVect::RealVect ( D_DECL6(Real i, Real j, Real k, Real l, Real m, Real n)  )

Construct a RealVect given the specific values for its coordinates. D_DECL6 is a macro that sets the constructor to take CH_SPACEDIM arguments.

RealVect::RealVect ( const RealVect rhs)
inline

The copy constructor.

References vect.

RealVect::RealVect ( const IndexTM< Real, CH_SPACEDIM > &  a_tm)

Construct a RealVect from an IndexTM<Real,SpaceDim>.

RealVect::RealVect ( const IntVect iv)
inline

Construct a RealVect from an IntVect by coercing each component from int to Real.

References SpaceDim, and vect.

Member Function Documentation

RealVect& RealVect::operator= ( const RealVect rhs)

The assignment operator.

Real & RealVect::operator[] ( int  i)
inline

Returns a modifiable lvalue reference to the i'th coordinate of the RealVect.

References CH_assert, SpaceDim, and vect.

const Real & RealVect::operator[] ( int  i) const
inline

Returns the i'th coordinate of the RealVect.

References CH_assert, SpaceDim, and vect.

bool RealVect::operator== ( const RealVect p) const

Returns true if this RealVect is equivalent to argument RealVect. All comparisons between analogous components must be satisfied.

bool RealVect::operator!= ( const RealVect p) const

Returns true if this RealVect is different from argument RealVect. All comparisons between analogous components must be satisfied.

bool RealVect::operator< ( const RealVect p) const
inline

Returns true if this RealVect is less than argument RealVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an RealVect to be neither greater than, less than, nor equal to another.

References D_TERM6, and vect.

bool RealVect::operator<= ( const RealVect p) const
inline

Returns true if this RealVect is less than or equal to argument RealVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an RealVect to be neither greater than or equal to, less than or equal to, nor equal to another.

References D_TERM6, and vect.

bool RealVect::operator> ( const RealVect p) const
inline

Returns true if this RealVect is greater than argument RealVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an RealVect to be neither greater than, less than, nor equal to another.

References D_TERM6, and vect.

bool RealVect::operator>= ( const RealVect p) const
inline

Returns true if this RealVect is greater than or equal to argument RealVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an RealVect to be neither greater than or equal to, less than or equal to, nor equal to another.

References D_TERM6, and vect.

RealVect& RealVect::operator+= ( Real  s)

Modifies this RealVect by addition of a scalar to each component.

RealVect RealVect::operator+ ( Real  s) const

Returns a RealVect that is this RealVect with a scalar s added to each component.

RealVect& RealVect::operator+= ( const RealVect p)

Modifies this RealVect by component-wise addition by argument.

RealVect & RealVect::operator-= ( Real  s)
inline

Modifies this RealVect by subtraction of a scalar from each component.

References vect.

RealVect & RealVect::operator-= ( const RealVect p)
inline

Modifies this RealVect by component-wise subtraction by argument.

References vect.

RealVect RealVect::operator- ( Real  s) const

Returns a RealVect that is this RealVect with a scalar s subtracted from each component.

RealVect& RealVect::operator*= ( Real  s)

Modifies this RealVect by multiplying each component by a scalar.

Real RealVect::dotProduct ( const RealVect a_rhs) const
RealVect& RealVect::operator*= ( const RealVect p)

Modifies this RealVect by component-wise multiplication by argument.

RealVect RealVect::operator* ( Real  s) const

Returns a RealVect that is this RealVect with each component multiplied by a scalar.

RealVect& RealVect::operator/= ( Real  s)

Modifies this RealVect by dividing each component by a scalar.

RealVect& RealVect::operator/= ( const RealVect p)

Modifies this RealVect by component-wise division by argument.

RealVect RealVect::operator/ ( Real  s) const

Returns a RealVect that is this RealVect with each component divided by a scalar.

RealVect & RealVect::scale ( Real  s)
inline

Modifies this RealVect by multiplying each component by a scalar.

References vect.

RealVect & RealVect::min ( const RealVect p)
inline

Modifies this RealVect by taking component-wise min with RealVect argument.

References Min(), and vect.

Referenced by min().

RealVect & RealVect::max ( const RealVect p)
inline

Modifies this RealVect by taking component-wise max with RealVect argument.

References Max(), and vect.

Referenced by max().

RealVect RealVect::operator+ ( ) const
inline

Unary plus – for completeness.

References RealVect().

RealVect RealVect::operator- ( ) const
inline

Unary minus – negates all components of this RealVect.

References D_DECL6, RealVect(), and vect.

Real RealVect::sum ( ) const
inline

Sum of all components of this RealVect.

References D_TERM6, and vect.

Real RealVect::vectorLength ( ) const
inline

sqrt(sum squares)

References SpaceDim, and vect.

Real RealVect::product ( ) const
inline

Product of all components of this RealVect.

References D_TERM6, and vect.

int RealVect::minDir ( const bool &  a_doAbs) const

Component with the minimum value of this RealVect (returns 0 if they are all the same). a_doAbs : if true then take the absolute value before comparing

int RealVect::maxDir ( const bool &  a_doAbs) const

Component with the maximum value of this RealVect (returns 0 if they are all the same). a_doAbs : if true then take the absolute value before comparing

const Real* RealVect::dataPtr ( ) const

Only for sending stuff to Fortran

Real* RealVect::dataPtr ( )

Only for sending stuff to Fortran

Friends And Related Function Documentation

friend class HDF5Handle
friend
RealVect min ( const RealVect p1,
const RealVect p2 
)
friend

Returns the RealVect that is the component-wise minimum of two argument RealVects.

RealVect max ( const RealVect p1,
const RealVect p2 
)
friend

Returns the RealVect that is the component-wise maximum of two argument RealVects.

RealVect BASISREALV ( int  dir)
friend

Returns a basis vector in the given coordinate direction.
In 2-D:
BASISREALV(0) == (1.,0.); BASISREALV(1) == (0.,1.).
In 3-D:
BASISREALV(0) == (1.,0.,0.); BASISREALV(1) == (0.,1.,0.); BASISREALV(2) == (0.,0.,1.).
Note that the coordinate directions are based at zero.

RealVect operator+ ( Real  s,
const RealVect p 
)
friend

Returns a RealVect that is a RealVect p with a scalar s added to each component.

RealVect operator- ( Real  s,
const RealVect p 
)
friend

Returns s - p.

RealVect operator* ( Real  s,
const RealVect p 
)
friend

Returns a RealVect that is a RealVect p with each component multiplied by a scalar s.

RealVect operator/ ( Real  s,
const RealVect p 
)
friend

Returns a RealVect that is a RealVect p with each component divided by a scalar s.

RealVect operator+ ( const RealVect s,
const RealVect p 
)
friend

Returns component-wise sum of RealVects s and p.

RealVect operator- ( const RealVect s,
const RealVect p 
)
friend

Returns s - p.

RealVect operator* ( const RealVect s,
const RealVect p 
)
friend

Returns component-wise product of s and p.

RealVect operator/ ( const RealVect s,
const RealVect p 
)
friend

Returns component-wise quotient p / s.

RealVect scale ( const RealVect p,
Real  s 
)
friend

Returns a RealVect obtained by multiplying each of the components of the given RealVect by a scalar.

std::ostream& operator<< ( std::ostream &  ostr,
const RealVect p 
)
friend

Print to the given output stream in ASCII.

Member Data Documentation

const RealVect RealVect::Zero
static

This is a RealVect all of whose components are equal to zero.

const RealVect RealVect::Unit
static

This is a RealVect all of whose components are equal to one.

Referenced by EBPatchGodunov::define().

size_t RealVect::io_offset
static
Real RealVect::vect[SpaceDim]
protected

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