SourceXtractorPlusPlus  0.11
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
SourceXtractor::UniversalImageChunk< T > Class Template Reference

#include <ImageChunk.h>

Inheritance diagram for SourceXtractor::UniversalImageChunk< T >:
[legend]
Collaboration diagram for SourceXtractor::UniversalImageChunk< T >:
[legend]

Public Member Functions

virtual ~UniversalImageChunk ()
 
void setValue (int x, int y, T value)
 
- Public Member Functions inherited from SourceXtractor::ImageChunk< T >
virtual ~ImageChunk ()
 
std::string getRepr () const override
 Get a string identifying this image in a human readable manner. More...
 
getValue (int x, int y) const final
 Returns the value of the pixel with the coordinates (x,y) More...
 
int getWidth () const final
 Returns the width of the image chunk in pixels. More...
 
int getHeight () const final
 Returns the height of the image chunk in pixels. More...
 
virtual std::shared_ptr
< ImageChunk< T > > 
getChunk (int x, int y, int width, int height) const override
 
- Public Member Functions inherited from SourceXtractor::Image< T >
virtual ~Image ()=default
 Destructor. More...
 
getValue (PixelCoordinate pc) const
 
- Public Member Functions inherited from std::enable_shared_from_this< ImageChunk< T > >
enable_shared_from_this (T...args)
 
operator= (T...args)
 
shared_from_this (T...args)
 
~enable_shared_from_this (T...args)
 

Static Public Member Functions

template<typename... Args>
static std::shared_ptr
< UniversalImageChunk< T > > 
create (Args &&...args)
 
- Static Public Member Functions inherited from SourceXtractor::ImageChunk< T >
static std::shared_ptr
< ImageChunk< T > > 
create (const T *data, int width, int height, int stride, std::shared_ptr< const Image< T >> image=nullptr)
 

Protected Member Functions

 UniversalImageChunk (ImageChunk< T > &&chunk)
 
 UniversalImageChunk (std::shared_ptr< const Image< T >> image, int x, int y, int width, int height)
 
 UniversalImageChunk (std::vector< T > &&data, int width, int height)
 
- Protected Member Functions inherited from SourceXtractor::ImageChunk< T >
 ImageChunk (const T *data, int width, int height, int stride, std::shared_ptr< const Image< T >> image=nullptr)
 

Private Attributes

std::vector< T > m_chunk_vector
 

Additional Inherited Members

- Public Types inherited from SourceXtractor::Image< T >
using PixelType = T
 
- Protected Attributes inherited from SourceXtractor::ImageChunk< T >
const T * m_data
 
int m_stride
 
int m_width
 
int m_height
 
std::shared_ptr< const Image< T > > m_image
 

Detailed Description

template<typename T>
class SourceXtractor::UniversalImageChunk< T >

Definition at line 85 of file ImageChunk.h.

Constructor & Destructor Documentation

template<typename T>
SourceXtractor::UniversalImageChunk< T >::UniversalImageChunk ( ImageChunk< T > &&  chunk)
inlineprotected

This move constructor from an ImageChunk uses a dynamic cast, so if the chunk is another universal chunk, we can avoid copying data, and we just move-assign the underlying vector

Definition at line 93 of file ImageChunk.h.

References SourceXtractor::UniversalImageChunk< T >::m_chunk_vector, SourceXtractor::ImageChunk< T >::m_data, SourceXtractor::ImageChunk< T >::m_height, SourceXtractor::ImageChunk< T >::m_stride, SourceXtractor::ImageChunk< T >::m_width, and std::move().

Here is the call graph for this function:

template<typename T>
SourceXtractor::UniversalImageChunk< T >::UniversalImageChunk ( std::shared_ptr< const Image< T >>  image,
int  x,
int  y,
int  width,
int  height 
)
inlineprotected
template<typename T>
SourceXtractor::UniversalImageChunk< T >::UniversalImageChunk ( std::vector< T > &&  data,
int  width,
int  height 
)
inlineprotected

Definition at line 123 of file ImageChunk.h.

References SourceXtractor::UniversalImageChunk< T >::m_chunk_vector, SourceXtractor::ImageChunk< T >::m_data, and std::move().

Here is the call graph for this function:

template<typename T>
virtual SourceXtractor::UniversalImageChunk< T >::~UniversalImageChunk ( )
inlinevirtual

Definition at line 136 of file ImageChunk.h.

Member Function Documentation

template<typename T>
template<typename... Args>
static std::shared_ptr<UniversalImageChunk<T> > SourceXtractor::UniversalImageChunk< T >::create ( Args &&...  args)
inlinestatic
template<typename T>
void SourceXtractor::UniversalImageChunk< T >::setValue ( int  x,
int  y,
value 
)
inline

Member Data Documentation

template<typename T>
std::vector<T> SourceXtractor::UniversalImageChunk< T >::m_chunk_vector
private

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