|
| 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.