eLynx SDK v3.0.1
C++ image processing API reference

eLynx::Image::ImageImpl< Pixel > Class Template Reference

#include <ImageImpl.h>

Inheritance diagram for eLynx::Image::ImageImpl< Pixel >:

eLynx::Image::AbstractImage

List of all members.


Public Types

typedef Pixel Pixel_t

Public Member Functions

bool CopyAndForget (boost::shared_ptr< ImageImpl< Pixel > > &iospImage)
uint32 sizeofWidth () const
uint32 sizeofMap () const
Constructors, destructor and assignment
 ImageImpl ()
 ImageImpl (uint32 iWidth, uint32 iHeight)
 ImageImpl (uint32 iWidth, uint32 iHeight, const Pixel &iPixel)
 ImageImpl (const ImageImpl &iImage)
const ImageImploperator= (const ImageImpl &iImage)
AbstractImage implementation
virtual EPixelFormat GetPixelFormat () const
virtual bool IsValid () const
virtual boost::shared_ptr
< IPixelIterator
Begin ()
virtual boost::shared_ptr
< IPixelIterator
Begin () const
virtual boost::shared_ptr
< IPixelIterator
End ()
virtual boost::shared_ptr
< IPixelIterator
End () const

Protected Attributes

boost::scoped_array< Pixel_t_spMap

Pixel specialization

const Pixel_tGetPixel (uint32 iX=0, uint32 iY=0) const
Pixel_tGetPixel (uint32 iX=0, uint32 iY=0)
const Pixel_tGetPixelEnd () const
Pixel_tGetPixelEnd ()
const Pixel::type * GetSamples () const
Pixel::type * GetSamples ()
const Pixel::type * GetSamplesEnd () const
Pixel::type * GetSamplesEnd ()
static Pixel_t Null ()
static Pixel_t White ()
static Pixel_t Black ()

Detailed Description

template<class Pixel>
class eLynx::Image::ImageImpl< Pixel >

ImageImpl is the template class that defines abstract image implementation. It's a specialized image that can be instanciate. This is a pixel container, it has data descriptions and accessors but no processing method.

Definition at line 47 of file ImageImpl.h.


Member Typedef Documentation

template<class Pixel>
typedef Pixel eLynx::Image::ImageImpl< Pixel >::Pixel_t

Definition at line 50 of file ImageImpl.h.


Constructor & Destructor Documentation

template<class Pixel>
eLynx::Image::ImageImpl< Pixel >::ImageImpl (  )  [explicit]

Default constructor. Image is built as invalid.

template<class Pixel>
eLynx::Image::ImageImpl< Pixel >::ImageImpl ( uint32  iWidth,
uint32  iHeight 
) [explicit]

Constructor with image dimension, map is allocated with unset pixels. Image is valid, map is allocated but pixels are uninitialized.

Parameters:
iWidth The image width in pixels.
iHeight The image height in pixels.

template<class Pixel>
eLynx::Image::ImageImpl< Pixel >::ImageImpl ( uint32  iWidth,
uint32  iHeight,
const Pixel &  iPixel 
) [explicit]

Constructor with image dimension and pixel value, map is filled with pixel value.

Parameters:
iWidth The image width in pixels.
iHeight The image height in pixels.
iPixel The pixel value to fill the map.

template<class Pixel>
eLynx::Image::ImageImpl< Pixel >::ImageImpl ( const ImageImpl< Pixel > &  iImage  ) 

Copy constructor with image dimension.

Parameters:
iImage The image to copy.


Member Function Documentation

template<class Pixel>
const ImageImpl& eLynx::Image::ImageImpl< Pixel >::operator= ( const ImageImpl< Pixel > &  iImage  ) 

Assignment operator =

Parameters:
iImage The image to assign to this.
Returns:
A const ImageImpl& as this. Disable writing a=b=c; .

template<class Pixel>
virtual EPixelFormat eLynx::Image::ImageImpl< Pixel >::GetPixelFormat (  )  const [virtual]

Retrieve pixel format.

Returns:
The pixel format of the image, EPixelFormat.

Implements eLynx::Image::AbstractImage.

template<class Pixel>
virtual bool eLynx::Image::ImageImpl< Pixel >::IsValid (  )  const [virtual]

Check image validity.

Returns:
return true if Image is valid, false otherwise.

Reimplemented from eLynx::Image::AbstractImage.

template<class Pixel>
virtual boost::shared_ptr<IPixelIterator> eLynx::Image::ImageImpl< Pixel >::Begin (  )  [virtual]

Returns an iterator pointing to the beginning of the Pixel map

Returns:
an iterator pointing to the beginning of the Pixel map

Implements eLynx::Image::AbstractImage.

template<class Pixel>
virtual boost::shared_ptr<IPixelIterator> eLynx::Image::ImageImpl< Pixel >::Begin (  )  const [virtual]

Returns an const iterator pointing to the beginning of the Pixel map

Returns:
an const iterator pointing to the beginning of the Pixel map

Implements eLynx::Image::AbstractImage.

template<class Pixel>
virtual boost::shared_ptr<IPixelIterator> eLynx::Image::ImageImpl< Pixel >::End (  )  [virtual]

Returns an iterator pointing to the end of the Pixel map

Returns:
an iterator pointing to the end of the Pixel map

Implements eLynx::Image::AbstractImage.

template<class Pixel>
virtual boost::shared_ptr<IPixelIterator> eLynx::Image::ImageImpl< Pixel >::End (  )  const [virtual]

Returns an const iterator pointing to the end of the Pixel map

Returns:
an const iterator pointing to the end of the Pixel map

Implements eLynx::Image::AbstractImage.

template<class Pixel>
const Pixel_t* eLynx::Image::ImageImpl< Pixel >::GetPixel ( uint32  iX = 0,
uint32  iY = 0 
) const

Retrieve pointeur to read pixel.

Parameters:
iX The x coordinate pixel in image in range [0, GetWidth()-1].
iY The y coordinate pixel in image in range [0, GetHeight()-1].
Returns:
The read reference pointer on pixel at location (x,y).

template<class Pixel>
Pixel_t* eLynx::Image::ImageImpl< Pixel >::GetPixel ( uint32  iX = 0,
uint32  iY = 0 
)

Retrieve pointeur to read/write pixel.

Parameters:
iX The x coordinate pixel in image in range [0, GetWidth()-1].
iY The y coordinate pixel in image in range [0, GetHeight()-1].
Returns:
The read/write reference pointer on pixel at location (x,y).

template<class Pixel>
const Pixel_t* eLynx::Image::ImageImpl< Pixel >::GetPixelEnd (  )  const

Retrieve const pointeur to lastest pixel of map.

Returns:
The read only reference pointer on lastest pixel of map.

template<class Pixel>
Pixel_t* eLynx::Image::ImageImpl< Pixel >::GetPixelEnd (  ) 

Retrieve pointeur to read/write lastest pixel of map.

Returns:
The read/write reference pointer on to lastest pixel of map.

template<class Pixel>
const Pixel::type* eLynx::Image::ImageImpl< Pixel >::GetSamples (  )  const

Retrieve pointeur to read only map as array of pixel::type samples.

Returns:
The pointeur to read map.

template<class Pixel>
Pixel::type* eLynx::Image::ImageImpl< Pixel >::GetSamples (  ) 

Retrieve pointeur to read/write map as array of pixel::type samples.

Returns:
The pointeur to read/write map.

template<class Pixel>
const Pixel::type* eLynx::Image::ImageImpl< Pixel >::GetSamplesEnd (  )  const

Retrieve pointeur to latest read only map as array of pixel::type.

Returns:
The pointeur to read map.

template<class Pixel>
Pixel::type* eLynx::Image::ImageImpl< Pixel >::GetSamplesEnd (  ) 

Retrieve pointeur to lastest read/write map as array of pixel::type.

Returns:
The pointeur to read/write map.

template<class Pixel>
static Pixel_t eLynx::Image::ImageImpl< Pixel >::Null (  )  [static]

Get a pixel with 0 value.

Returns:
The null pixel.

template<class Pixel>
static Pixel_t eLynx::Image::ImageImpl< Pixel >::White (  )  [static]

template<class Pixel>
static Pixel_t eLynx::Image::ImageImpl< Pixel >::Black (  )  [static]

template<class Pixel>
bool eLynx::Image::ImageImpl< Pixel >::CopyAndForget ( boost::shared_ptr< ImageImpl< Pixel > > &  iospImage  ) 

Low level service to copy and release input image.
TO USE WITH SPECIAL CARE. YOU MUST UNDERSTAND OBJECT LIFE CYCLE.

Parameters:
iospImage image to copy and be released.
Returns:
method success.

template<class Pixel>
uint32 eLynx::Image::ImageImpl< Pixel >::sizeofWidth (  )  const

Retrieve the number of bytes per line.

Returns:
The number of bytes per line.

template<class Pixel>
uint32 eLynx::Image::ImageImpl< Pixel >::sizeofMap (  )  const

Retrieve the number of bytes for whole map.

Returns:
The number of bytes for whole map.

Reimplemented from eLynx::Image::AbstractImage.


Member Data Documentation

template<class Pixel>
boost::scoped_array<Pixel_t> eLynx::Image::ImageImpl< Pixel >::_spMap [protected]

Aggregation of an array[width x height] of specialized pixels.

Definition at line 157 of file ImageImpl.h.


The documentation for this class was generated from the following file:

Generated on 14 Apr 2009 by doxygen 1.5.8