23 #ifndef RANGOARRAY3D_H    24 #define RANGOARRAY3D_H    26 #include "utility/matrices/RangoIndice.h"    39       : layer_range(rcp), row_range(rf),column_range(rc) {}
    41       : layer_range(iLayer,iLayer), row_range(rf),column_range(rc) {}
    43       : layer_range(rcp), row_range(iRow, iRow),column_range(rc) {}
    45       : layer_range(rcp), row_range(rf),column_range(col,col) {}
    49     size_t getNumberOfLayers(
void)
 const    50       { 
return row_range.Size(); }
    51     size_t getNumberOfRows(
void)
 const    52       { 
return row_range.Size(); }
    53     size_t getNumberOfColumns(
void)
 const    54       { 
return column_range.Size(); }
    55     size_t Size(
void)
 const    56       { 
return getNumberOfLayers()*getNumberOfRows()*getNumberOfColumns(); }
    57     bool Vacio(
void) 
const;
    59       { 
return layer_range; }
    61       { 
return layer_range; }
    67       { 
return column_range; }
    69       { 
return column_range; }
    79     inline static const char &Separador(
void)
    80       { 
return RangoIndice::Separador(); }
    81     void Clip(
const size_t &cpmax,
const size_t &fmax,
const size_t &cmax);
    84     void Print(std::ostream &os) 
const;
    89 std::ostream &operator<<(std::ostream &os,
const Array3dRange &rango);
    93 Array3dRange::Array3dRange(
const TTZ &ttz)
    94   : layer_range(1,ttz.getNumberOfLayers()), row_range(1,ttz.getNumberOfRows()),column_range(1,ttz.getNumberOfColumns()) {}
 size_t Dimension(void) const
Return la dimensión del rango 80,1,2 ó 3). 
Definition: Array3dRange.cc:30
bool Vacio(void) const
Return verdadero si el rango no contiene ningún índice. 
Definition: Array3dRange.cc:26
bool isConstantJLayer(void) const
Return verdadero si los indices que varían son los I y K. 
Definition: Array3dRange.cc:65
bool isKRow(void) const
Return verdadero si el único índice que varía es el K. 
Definition: Array3dRange.cc:54
bool isJRow(void) const
Return verdadero si el único índice que varía es el J. 
Definition: Array3dRange.cc:47
void Print(std::ostream &os) const
Imprime el rango. 
Definition: Array3dRange.cc:73
bool isConstantILayer(void) const
Return verdadero si los indices que varían son los J y K. 
Definition: Array3dRange.cc:61
bool isIRow(void) const
Return verdadero si el único índice que varía es el I. 
Definition: Array3dRange.cc:40
bool isConstantKLayer(void) const
Return verdadero si los indices que varían son los I y J. 
Definition: Array3dRange.cc:69
Rangos de variación de tres índices, se emplea en BoxConstRef. 
Definition: Array3dRange.h:32
void Clip(const size_t &cpmax, const size_t &fmax, const size_t &cmax)
Reduce los valores del rango de manera que ambos sean menores que los que se pasan como parámetro...
Definition: Array3dRange.cc:78
void Intersec(const Array3dRange &)
Assigns to this one the intersection of both ranges. 
Definition: Array3dRange.cc:86
Rango de variación de un índice, se emplea en BoxConstRef. 
Definition: RangoIndice.h:30