27#ifndef __SMESH_Indexer_HXX__
28#define __SMESH_Indexer_HXX__
66 void set(
size_t xSize,
size_t ySize,
size_t zSize )
122 (*_xRevFun)( x,
const_cast< size_t&
>(
_xSize ));
123 (*_yRevFun)( y,
const_cast< size_t&
>(
_ySize ));
128 size_t corner(
bool xMax,
bool yMax)
const
130 size_t x = xMax, y = yMax,
size = 2;
132 (*_xRevFun)( x,
size );
133 (*_yRevFun)( y,
size );
142 typedef void (*
TFun)(
size_t& x,
size_t& y);
147 static void lazy (
size_t& ,
size_t& ) {}
149 static void swap (
size_t& x,
size_t& y) { std::swap( x, y ); }
Oriented converter of a pair of integers to a sole index.
Definition: SMESH_Indexer.hxx:99
static void reverse(size_t &x, size_t &size)
Definition: SMESH_Indexer.hxx:148
TFun _xRevFun
Definition: SMESH_Indexer.hxx:143
TFun _swapFun
Definition: SMESH_Indexer.hxx:143
static void swap(size_t &x, size_t &y)
Definition: SMESH_Indexer.hxx:149
size_t operator()(size_t x, size_t y) const
Return index for a corner.
Definition: SMESH_Indexer.hxx:119
TFun _yRevFun
Definition: SMESH_Indexer.hxx:143
static void lazy(size_t &, size_t &)
Definition: SMESH_Indexer.hxx:147
size_t _xSizeOriented
Definition: SMESH_Indexer.hxx:145
size_t corner(bool xMax, bool yMax) const
Definition: SMESH_Indexer.hxx:128
SMESH_Indexer TFather
Definition: SMESH_Indexer.hxx:100
OriFlags
< transformation types
Definition: SMESH_Indexer.hxx:103
@ MAX_ORI
Definition: SMESH_Indexer.hxx:104
@ REV_Y
Definition: SMESH_Indexer.hxx:104
@ SWAP_XY
Definition: SMESH_Indexer.hxx:104
@ REV_X
Definition: SMESH_Indexer.hxx:104
@ NO_TRSF
Definition: SMESH_Indexer.hxx:104
size_t xSize() const
Definition: SMESH_Indexer.hxx:137
void(* TFun)(size_t &x, size_t &y)
Definition: SMESH_Indexer.hxx:142
size_t _ySizeOriented
Definition: SMESH_Indexer.hxx:145
SMESH_OrientedIndexer(const SMESH_Indexer &indexer, const int oriFlags=NO_TRSF)
Return index by XY.
Definition: SMESH_Indexer.hxx:107
size_t ySize() const
Definition: SMESH_Indexer.hxx:138
Converter of a triple of indices to a sole index, useful to make 1D array behave as 3D one.
Definition: SMESH_Indexer.hxx:58
SMESH_Indexer3D(size_t xSize=0, size_t ySize=0, size_t zSize=0)
Initialize with size in two directions.
Definition: SMESH_Indexer.hxx:62
size_t size() const
Definition: SMESH_Indexer.hxx:70
size_t operator()(size_t x, size_t y, size_t z) const
Definition: SMESH_Indexer.hxx:73
size_t _xSize
Definition: SMESH_Indexer.hxx:59
void set(size_t xSize, size_t ySize, size_t zSize)
set size
Definition: SMESH_Indexer.hxx:66
size_t _zSize
Definition: SMESH_Indexer.hxx:59
size_t _ySize
Definition: SMESH_Indexer.hxx:59
Converter of a pair of indices to a sole index, useful to make 1D array behave as 2D one.
Definition: SMESH_Indexer.hxx:36
size_t operator()(size_t x, size_t y) const
Definition: SMESH_Indexer.hxx:49
void set(size_t xSize, size_t ySize)
set size
Definition: SMESH_Indexer.hxx:43
SMESH_Indexer(size_t xSize=0, size_t ySize=0)
Initialize with size in two directions.
Definition: SMESH_Indexer.hxx:40
size_t _xSize
Definition: SMESH_Indexer.hxx:37
size_t size() const
Definition: SMESH_Indexer.hxx:46
size_t _ySize
Definition: SMESH_Indexer.hxx:37