SLIP
1.4
|
Here, we present various ways to computes the mean of a 3d container denoted S3d. It illustrates the different uses to iterate throw tridimensional containers 3d Containers like: slip::block3d, slip::Array3d, slip::Matrix3d, slip::Volume and multicomponent tridimensional containers Multi-component 3d Containers. Here are the axis conventions used in the library:
These iterators follow the RandomAccessIterator concept of the standard template library.
These iterators follow the BidirectionalIterator concept of the standard library. They are specific bidimensional iterators that iterate within a plane of the 3d container. The plane orientation is defined by an enumerator. Those iterators are less fast than RandomAccessIterator one because they verify that the iteration stay within the defined ranges. See the internal classes slip::iterator3d_plane and slip::const_iterator3d_plane for more details. The convention of plane iterators are given below:
These iterators follow the BidirectionalIterator concept of the standard library. They are specific tridimensional iterator that store the k(x1), i (x2) and j (x3) positions of the iterator within the container. These coordinates are accessible by the method k() (x1()), i() (x2())and j() (x3()). These iterators are less fast than RandomAccessIterator because a verification that the position stays within the defined box is done at every iteration. See the internal classes slip::iterator3d_box and slip::const_iterator3d_box for more details.
These iterators follow the BidirectionalIterator concept of the standard library. Specific triidimensional iterator that store the k(x1), i (x2) and j (x3) positions of the iterator within the container. These coordinates are accessible by the method k()(x1()), i() (x2())and j() (x3()). These iterators are less fast than RandomAccessIterator because they verify that the iteration stay within the defined ranges. See the internal classes slip::iterator3d_range and slip::const_iterator3d_range for more details.
To iterate throw a specific component of a multi-component container. It suffies to add first the number of the component to all the previous iterator methods. See slip::GenericMultiComponent3d for a more detail description.