|
| | DataSegment (T *data=0, size_t stride=0, size_t numElements=0, icl32s organizedWidth=-1) |
| | Constructor (basically passes all parameters to the Base class) More...
|
| |
| math::FixedColVector< T, N > & | operator[] (int idx) |
| | linear index operator More...
|
| |
| const math::FixedColVector< T, N > & | operator[] (int idx) const |
| | linear index operator (const) More...
|
| |
| math::FixedColVector< T, N > & | operator() (int x, int y) |
| | 2D-index operator (only for organized data segments) More...
|
| |
| const math::FixedColVector< T, N > & | operator() (int x, int y) const |
| | 2D-index operator (only for organized data segments, const) More...
|
| |
| template<class OtherT > |
| void | deepCopy (DataSegment< OtherT, N > dst) const |
| | copies the data segment to into another element-wise More...
|
| |
| bool | isPacked () const |
| | returns whether the data is packed in memory (stride is sizeof(T)*N) More...
|
| |
| template<class OtherT > |
| bool | equals (DataSegment< OtherT, N > dst, float tollerance=1.0e-5) const |
| | compares two data segments element wise given given maximun tollerance More...
|
| |
| template<class Fill > |
| void | fillScalar (Fill scalarValue) |
| | fills each scalar value of each entry with given value More...
|
| |
| template<class Fill > |
| void | fill (Fill vecValue) |
| | fills each vector entry with given value More...
|
| |
| bool | isOrganized () const |
| | returns, whether the segment is 2D-organized More...
|
| |
| utils::Size | getSize () const |
| | returns the ordred size of the segment of utils::Size::null if it's not organized More...
|
| |
| int | getStride () const |
| | returns the internal stride used More...
|
| |
| int | getDim () const |
| | returns the number of elements More...
|
| |
| core::depth | getDepth () const |
| | returns the actual core::depth (data type) of the entries More...
|
| |
| int | getElemDim () const |
| | returns the dimension of the contained elements More...
|
| |
| icl8u * | getDataPointer () |
| | returns the internal (strided) data pointer More...
|
| |
| const icl8u * | getDataPointer () const |
| | returns the internal (strided) data pointer More...
|
| |
| | DataSegmentBase (void *data=0, size_t stride=0, size_t numElements=0, icl32s organizedWidth=-1, core::depth dataDepth=core::depth8u, size_t elemDim=0) |
| | Constructor with given parameters. More...
|
| |
| template<class T , int N> |
| const DataSegment< T, N > & | as () const |
| | shallow and save cast from data segment base to special data segment version More...
|
| |
| Bytes | operator[] (int idx) |
| | linear index operator More...
|
| |
| const Bytes | operator[] (int idx) const |
| | linear index operator (const) More...
|
| |
| Bytes | operator() (int x, int y) |
| | 2D-index operator (only for organized data segments) More...
|
| |
| const Bytes | operator() (int x, int y) const |
| | 2D-index operator (only for organized data segments, const) More...
|
| |
template<class T, int N>
struct icl::core::DataSegment< T, N >
The DataSegment class defines a strided data segment (or 1D or 2D ordred array of vectors)
Each data segment is defined by
- the type of it's elements (template parameter T)
- the dimension of single vectors
- the number of vector elements
- a flag, whether the the elements are 2D organized or not
Each single vector is assumed to be packed in memory (e.g. the vector element stride is always sizeof(T)) the distance between two vector entries can be set to an arbitrary constant value (stride). Optionally, an organizedWidth value > 0 can be given, which set up the DataSegement to be 2D-organized.