#include <IntVect.H>
Collaboration diagram for IntVect:
The class IntVect is an implementation of an integer vector in a SpaceDim-dimensional space. It represents a point in a discrete space. IntVect 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.
Addition operators | |
IntVect & | operator+= (int s) |
IntVect & | operator+= (const IntVect &p) |
IntVect | operator+ (const IntVect &p) const |
IntVect | operator+ (int s) const |
IntVect | operator+ (int s, const IntVect &p) |
Subtraction operators | |
IntVect & | operator-= (int s) |
IntVect & | operator-= (const IntVect &p) |
IntVect | operator- (const IntVect &p) const |
IntVect | operator- (int s) const |
IntVect | operator- (int s, const IntVect &p) |
Multiplication operators | |
IntVect & | operator *= (int s) |
IntVect & | operator *= (const IntVect &p) |
IntVect | operator * (const IntVect &p) const |
IntVect | operator * (int s) const |
IntVect | operator * (int s, const IntVect &p) |
Other arithmetic operators | |
IntVect & | min (const IntVect &p) |
IntVect & | max (const IntVect &p) |
IntVect & | scale (int s) |
IntVect & | reflect (int ref_ix, int idir) |
IntVect & | shift (int coord, int s) |
IntVect & | shift (const IntVect &iv) |
IntVect & | diagShift (int s) |
IntVect & | coarsen (const IntVect &p) |
IntVect & | coarsen (int p) |
IntVect | min (const IntVect &p1, const IntVect &p2) |
IntVect | max (const IntVect &p1, const IntVect &p2) |
IntVect | scale (const IntVect &p, int s) |
IntVect | reflect (const IntVect &a, int ref_ix, int idir) |
IntVect | diagShift (const IntVect &p, int s) |
IntVect | coarsen (const IntVect &p, int s) |
IntVect | coarsen (const IntVect &p1, const IntVect &p2) |
I/O Functions | |
void | printOn (std::ostream &os) const |
void | p () const |
void | dumpOn (std::ostream &os) const |
std::ostream & | operator<< (std::ostream &os, const IntVect &iv) |
std::istream & | operator>> (std::istream &os, IntVect &iv) |
Constants | |
const IntVect | TheZeroVector () |
const IntVect | TheUnitVector () |
const IntVect | Zero |
const IntVect | Unit |
IntVect | BASISV (int dir) |
Public Member Functions | |
Constructors and Accessors | |
IntVect () | |
~IntVect () | |
IntVect (D_DECL(int i, int j, int k)) | |
IntVect (const int *a) | |
IntVect (const IntVect &rhs) | |
IntVect | copy () const |
IntVect & | operator= (const IntVect &rhs) |
int & | operator[] (int i) |
int | operator[] (int i) const |
void | setVal (int i, int val) |
Data pointer functions | |
const int * | getVect () const |
const int * | dataPtr () const |
int * | dataPtr () |
Comparison Operators | |
bool | operator== (const IntVect &p) const |
bool | operator!= (const IntVect &p) const |
bool | operator< (const IntVect &p) const |
bool | operator<= (const IntVect &p) const |
bool | operator> (const IntVect &p) const |
bool | operator>= (const IntVect &p) const |
bool | lexLT (const IntVect &s) const |
bool | lexGT (const IntVect &s) const |
Unary operators | |
IntVect | operator+ () const |
IntVect | operator- () const |
Division operators | |
IntVect & | operator/= (int s) |
IntVect & | operator/= (const IntVect &p) |
IntVect | operator/ (const IntVect &p) const |
IntVect | operator/ (int s) const |
Protected Attributes | |
int | vect [SpaceDim] |
Static Protected Attributes | |
const size_t | IntVectSize |
Friends | |
class | Box |
class | HDF5Handle |
class | VolIndex |
class | FaceIndex |
|
Construct an IntVect whose components are uninitialized. |
|
Destructor. |
|
Construct an IntVect given the specific values for its coordinates. D_DECL is a macro that sets the constructor to take CH_SPACEDIM arguments. |
|
Construct an IntVect setting the coordinates to the corresponding values in the integer array a. |
|
The copy constructor. |
|
|
|
The assignment operator. |
|
Returns a modifiable lvalue reference to the i'th coordinate of the IntVect. |
|
Returns the i'th coordinate of the IntVect. |
|
Set i'th coordinate of IntVect to val. |
|
Returns a const pointer to an array of coordinates of the IntVect. Useful for arguments to FORTRAN calls. |
|
Only for sending to Fortran |
|
Only for sending to Fortran |
|
Returns true if this IntVect is equivalent to argument IntVect. All comparisons between analogous components must be satisfied. |
|
Returns true if this IntVect is different from argument IntVect. All comparisons between analogous components must be satisfied. |
|
Returns true if this IntVect is less than argument IntVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an IntVect to be neither greater than, less than, nor equal to another. |
|
Returns true if this IntVect is less than or equal to argument IntVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an IntVect to be neither greater than or equal to, less than or equal to, nor equal to another. |
|
Returns true if this IntVect is greater than argument IntVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an IntVect to be neither greater than, less than, nor equal to another. |
|
Returns true if this IntVect is greater than or equal to argument IntVect. All comparisons between analogous components must be satisfied. Note that, since the comparison is component-wise, it is possible for an IntVect to be neither greater than or equal to, less than or equal to, nor equal to another. |
|
Returns true if this IntVect is lexically less than the argument. An IntVect MUST BE either lexically less than, lexically greater than, or equal to another IntVect. iv1 is lexically less than iv2 if:
in 2-D:
in 3-D: |
|
Returns true if this IntVect is lexically greater than the argument. An IntVect MUST BE either lexically less than, lexically greater than, or equal to another IntVect. iv1 is lexically less than iv2 if:
in 2-D:
in 3-D: |
|
Unary plus -- for completeness. |
|
Unary minus -- negates all components of this IntVect. |
|
Modifies this IntVect by addition of a scalar to each component. |
|
Modifies this IntVect by component-wise addition with argument. |
|
Returns component-wise sum of this IntVect and argument. |
|
Return an IntVect that is this IntVect with a scalar added to each component. |
|
Modifies this IntVect by subtraction of a scalar from each component. |
|
Modifies this IntVect by component-wise subtraction by argument. |
|
Returns an IntVect that is this IntVect with p subtracted from it component-wise. |
|
Returns an IntVect that is this IntVect with a scalar s subtracted from each component. |
|
Modifies this IntVect by multiplication of each component by a scalar. |
|
Modifies this IntVect by component-wise multiplication by argument. |
|
Returns component-wise product of this IntVect with argument. |
|
Returns an IntVect that is this IntVect with each component multiplied by a scalar. |
|
Modifies this IntVect by division of each component by a scalar. |
|
Modifies this IntVect by component-wise division by IntVect argument. |
|
Returns component-wise quotient of this IntVect by argument. |
|
Returns an IntVect that is this IntVect with each component divided by a scalar. |
|
Modifies this IntVect by taking component-wise min with IntVect argument. |
|
Modifies this IntVect by taking component-wise max with IntVect argument. |
|
Modifies this IntVect by multiplying each component by a scalar. |
|
Modifies IntVect by reflecting it in the plane defined by the index ref_ix and with normal in the direction of idir. Directions are based at zero. |
|
Modifies this IntVect by adding s to component in given coordinate direction. |
|
Modifies this IntVect by component-wise addition with IntVect argument. |
|
Modifies this IntVect by adding a scalar s to each component. |
|
Modify IntVect by component-wise integer projection. |
|
Modify IntVect by component-wise integer projection. |
|
Print an IntVect to the ostream. |
|
Print an IntVect to the pout(). |
|
Print an IntVect to the ostream a bit more verbosely. |
|
TheZeroVector is out of favor. Use IntVect::Zero. |
|
TheUnitVector is out of favor. Use IntVect::Unit. |
|
|
|
|
|
|
|
|
|
Returns an IntVect that is an IntVect p with a scalar s added to each component. |
|
Returns s - p. |
|
Returns an IntVect that is an IntVect p with each component multiplied by a scalar s. |
|
Returns the IntVect that is the component-wise minimum of two argument IntVects. |
|
Returns the IntVect that is the component-wise maximum of two argument IntVects. |
|
Returns an IntVect obtained by multiplying each of the components of the given IntVect by a scalar. |
|
Returns an IntVect that is the reflection of the given IntVect in the plane which passes through ref_ix and normal to the coordinate direction idir. |
|
Returns IntVect obtained by adding a scalar to each of the components of the given IntVect. |
|
Returns an IntVect that is the component-wise integer projection of p by s. |
|
Returns an IntVect which is the component-wise integer projection of IntVect p1 by IntVect p2. |
|
Print the IntVect to given output stream in ASCII. |
|
Read next IntVect from given input stream. |
|
Returns a basis vector in the given coordinate direction. |
|
This is an IntVect all of whose components are equal to zero. |
|
This is an IntVect all of whose components are equal to one. |
|
The individual components of this IntVect. |
|
Number of bytes of storage used by this IntVect. |