TuttleOFX  1
tuttle::host::attribute::Image Class Reference

#include <Image.hpp>

Inheritance diagram for tuttle::host::attribute::Image:
Collaboration diagram for tuttle::host::attribute::Image:

Public Types

enum  EImageOrientation { eImageOrientationFromTopToBottom, eImageOrientationFromBottomToTop }

Public Member Functions

 Image (ClipImage &clip, const OfxTime time, const OfxRectD &bounds, const EImageOrientation orientation, const int rowDistanceBytes)
virtual ~Image ()
memory::IPoolDataPtrgetPoolData ()
const memory::IPoolDataPtrgetPoolData () const
void setPoolData (const memory::IPoolDataPtr &pData)
std::string getFullName () const
std::size_t getMemorySize () const
int getRowAbsDistanceBytes () const
 Positive/Absolute distance rows.
EImageOrientation getOrientation () const
std::size_t getNbComponents () const
int getOrientedRowDistanceBytes (const EImageOrientation orientation)
 Get distance between rows depending on the requested orientation.
boost::uint8_t * getPixelData ()
void * getVoidPixelData ()
char * getCharPixelData ()
boost::uint8_t * getOrientedPixelData (const EImageOrientation orientation)
boost::uint8_t * pixel (const int x, const int y)
void getImage (boost::uint8_t *&outData, int &outWidth, int &outHeight, int &outRowSizeBytes, ofx::imageEffect::EBitDepth &outBitDepth, ofx::imageEffect::EPixelComponent &outComponents)
template<class VIEW_T >
VIEW_T getGilView (const EImageOrientation orientation)
template<class VIEW_T >
VIEW_T getGilView ()

Static Public Member Functions

static void copy (Image *dst, Image *src, const OfxPointI &dstCorner, const OfxPointI &srcCorner, const OfxPointI &count)
 Copy from Image to Image.

Protected Attributes

std::size_t _memorySize
 memory size
std::size_t _pixelBytes
 pixel memory size
int _rowAbsDistanceBytes
 positive memory size for the distance between rows
OfxRectI _bounds
EImageOrientation _orientation
std::string _fullname
memory::IPoolDataPtr _data
 where we are keeping our image data

Static Private Member Functions

template<class S_VIEW >
static void copy (Image *dst, S_VIEW &src, const OfxPointI &dstCorner, const OfxPointI &srcCorner, const OfxPointI &count)
 Copy from gil image view to Image.
template<class D_VIEW , class S_VIEW >
static void copy (D_VIEW &dst, S_VIEW &src, const OfxPointI &dstCorner, const OfxPointI &srcCorner, const OfxPointI &count)

Detailed Description

make an image up

Definition at line 25 of file Image.hpp.


Member Enumeration Documentation

Enumerator:
eImageOrientationFromTopToBottom 
eImageOrientationFromBottomToTop 

Definition at line 28 of file Image.hpp.


Constructor & Destructor Documentation

tuttle::host::attribute::Image::Image ( ClipImage clip,
const OfxTime  time,
const OfxRectD &  bounds,
const EImageOrientation  orientation,
const int  rowDistanceBytes 
)
tuttle::host::attribute::Image::~Image ( ) [virtual]

Definition at line 64 of file Image.cpp.


Member Function Documentation

void tuttle::host::attribute::Image::copy ( Image dst,
Image src,
const OfxPointI &  dstCorner,
const OfxPointI &  srcCorner,
const OfxPointI &  count 
) [static]
template<class S_VIEW >
void tuttle::host::attribute::Image::copy ( Image dst,
S_VIEW &  src,
const OfxPointI &  dstCorner,
const OfxPointI &  srcCorner,
const OfxPointI &  count 
) [static, private]
template<class D_VIEW , class S_VIEW >
void tuttle::host::attribute::Image::copy ( D_VIEW &  dst,
S_VIEW &  src,
const OfxPointI &  dstCorner,
const OfxPointI &  srcCorner,
const OfxPointI &  count 
) [static, private]

Definition at line 112 of file Image.cpp.

char * tuttle::host::attribute::Image::getCharPixelData ( )

Definition at line 79 of file Image.cpp.

References _data.

std::string tuttle::host::attribute::Image::getFullName ( ) const [inline]

Definition at line 58 of file Image.hpp.

References _fullname.

template<class VIEW_T >
VIEW_T tuttle::host::attribute::Image::getGilView ( const EImageOrientation  orientation)
template<class VIEW_T >
VIEW_T tuttle::host::attribute::Image::getGilView ( )

Definition at line 142 of file Image.hpp.

References tuttle::host::ofx::imageEffect::OfxhImage::getBounds(), and getRowAbsDistanceBytes().

Here is the call graph for this function:

void tuttle::host::attribute::Image::getImage ( boost::uint8_t *&  outData,
int &  outWidth,
int &  outHeight,
int &  outRowSizeBytes,
ofx::imageEffect::EBitDepth outBitDepth,
ofx::imageEffect::EPixelComponent outComponents 
) [inline]
std::size_t tuttle::host::attribute::Image::getMemorySize ( ) const [inline]

Definition at line 60 of file Image.hpp.

References _memorySize.

std::size_t tuttle::host::attribute::Image::getNbComponents ( ) const [inline]

Definition at line 68 of file Image.hpp.

References tuttle::host::ofx::imageEffect::OfxhImage::getComponentsType(), and tuttle::ofx::imageEffect::numberOfComponents().

Here is the call graph for this function:

EImageOrientation tuttle::host::attribute::Image::getOrientation ( ) const [inline]

Definition at line 66 of file Image.hpp.

References _orientation.

boost::uint8_t * tuttle::host::attribute::Image::getOrientedPixelData ( const EImageOrientation  orientation)

Definition at line 84 of file Image.cpp.

References _bounds, _orientation, getPixelData(), and getRowAbsDistanceBytes().

Referenced by setPoolData().

Here is the call graph for this function:

int tuttle::host::attribute::Image::getOrientedRowDistanceBytes ( const EImageOrientation  orientation) [inline]

Get distance between rows depending on the requested orientation.

Definition at line 73 of file Image.hpp.

References _orientation, and _rowAbsDistanceBytes.

Referenced by getGilView(), and Image().

boost::uint8_t * tuttle::host::attribute::Image::getPixelData ( )

Definition at line 69 of file Image.cpp.

References _data.

Referenced by getImage(), getOrientedPixelData(), and pixel().

memory::IPoolDataPtr& tuttle::host::attribute::Image::getPoolData ( ) [inline]

Definition at line 48 of file Image.hpp.

References _data.

const memory::IPoolDataPtr& tuttle::host::attribute::Image::getPoolData ( ) const [inline]

Definition at line 49 of file Image.hpp.

References _data.

int tuttle::host::attribute::Image::getRowAbsDistanceBytes ( ) const [inline]

Positive/Absolute distance rows.

Definition at line 64 of file Image.hpp.

References _rowAbsDistanceBytes.

Referenced by getGilView(), getOrientedPixelData(), and pixel().

void * tuttle::host::attribute::Image::getVoidPixelData ( )

Definition at line 74 of file Image.cpp.

References _data.

boost::uint8_t * tuttle::host::attribute::Image::pixel ( const int  x,
const int  y 
)
void tuttle::host::attribute::Image::setPoolData ( const memory::IPoolDataPtr pData) [inline]

Definition at line 51 of file Image.hpp.

References _data, eImageOrientationFromBottomToTop, getOrientedPixelData(), and tuttle::host::ofx::property::OfxhSet::setPointerProperty().

Here is the call graph for this function:


Field Documentation

Definition at line 38 of file Image.hpp.

Referenced by getOrientedPixelData(), and Image().

where we are keeping our image data

Definition at line 41 of file Image.hpp.

Referenced by getCharPixelData(), getPixelData(), getPoolData(), getVoidPixelData(), and setPoolData().

Definition at line 40 of file Image.hpp.

Referenced by getFullName().

memory size

Definition at line 35 of file Image.hpp.

Referenced by getMemorySize(), and Image().

pixel memory size

Definition at line 36 of file Image.hpp.

Referenced by Image(), and pixel().

positive memory size for the distance between rows

Definition at line 37 of file Image.hpp.

Referenced by getOrientedRowDistanceBytes(), getRowAbsDistanceBytes(), and Image().


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