TuttleOFX  1
tuttle::host::ofx::attribute::OfxhClipImage Class Reference

a clip image instance More...

#include <OfxhClipImage.hpp>

Inheritance diagram for tuttle::host::ofx::attribute::OfxhClipImage:
Collaboration diagram for tuttle::host::ofx::attribute::OfxhClipImage:

Public Types

typedef OfxhClipImage This

Public Member Functions

 OfxhClipImage (const attribute::OfxhClipImageDescriptor &desc)
 OfxhClipImage (const OfxhClipImage &other)
virtual ~OfxhClipImage ()
bool operator== (const This &other) const
bool operator!= (const This &other) const
virtual OfxhClipImageclone () const =0
 clone this clip
virtual std::string getConnectedClipFullName () const =0
virtual std::string getClipIdentifier () const =0
OfxImageClipHandle getOfxImageClipHandle () const
const std::string & getBitDepthString () const
 fetch depth of all chromatic component in this clip
imageEffect::EBitDepth getBitDepth () const
 fetch depth of all chromatic component in this clip
std::size_t getBitDepthMemorySize () const
std::size_t getPixelMemorySize () const
void setBitDepthString (const std::string &s, const property::EModifiedBy modifiedBy=property::eModifiedByHost)
void setBitDepth (const imageEffect::EBitDepth bitDepth, const property::EModifiedBy modifiedBy=property::eModifiedByHost)
void setBitDepthStringIfUpper (const std::string &s)
void setBitDepthStringIfUpperAndNotModifiedByPlugin (const std::string &s)
const double getPixelAspectRatio () const
void setPixelAspectRatio (const double &s, const property::EModifiedBy modifiedBy)
const std::string & getComponentsString () const
const imageEffect::EPixelComponent getComponents () const
const std::size_t getNbComponents () const
void setComponentsString (const std::string &s, const property::EModifiedBy modifiedBy=property::eModifiedByHost)
void setComponents (const imageEffect::EPixelComponent &comp, const property::EModifiedBy modifiedBy=property::eModifiedByHost)
void setComponentsStringIfNotModifiedByPlugin (const std::string &s)
virtual const std::string & getUnmappedBitDepth () const
virtual const std::string & getUnmappedComponents () const
virtual const std::string & getPremult () const
virtual double getFrameRate () const
virtual void getFrameRange (double &startFrame, double &endFrame) const
OfxRangeD getFrameRange () const
virtual const std::string & getFieldOrder () const
virtual const std::string & getFieldExtraction () const
virtual const double getUnmappedFrameRate () const
virtual void getUnmappedFrameRange (double &unmappedStartFrame, double &unmappedEndFrame) const
virtual const bool getContinuousSamples () const
virtual
tuttle::host::ofx::imageEffect::OfxhImage
getImage (const OfxTime time, const OfxRectD *optionalBounds=NULL)=0
virtual OfxRectD fetchRegionOfDefinition (const OfxTime time) const =0
 override this to return the rod on the clip
virtual const std::string & findSupportedComp (const std::string &s) const
 given the colour component, find the nearest set of supported colour components

Detailed Description

a clip image instance

Definition at line 30 of file OfxhClipImage.hpp.


Member Typedef Documentation


Constructor & Destructor Documentation

tuttle::host::ofx::attribute::OfxhClipImage::OfxhClipImage ( const attribute::OfxhClipImageDescriptor desc)

clipimage instance

extra properties for the instance, these are fetched from the host via a get hook and some virtuals

Definition at line 11 of file OfxhClipImage.cpp.

References tuttle::host::ofx::attribute::OfxhAttribute::_properties, tuttle::host::ofx::property::OfxhSet::addProperties(), tuttle::host::ofx::property::ePropTypeDouble, tuttle::host::ofx::property::ePropTypeInt, tuttle::host::ofx::property::ePropTypeString, and tuttle::host::ofx::attribute::OfxhClip::initHook().

Here is the call graph for this function:

tuttle::host::ofx::attribute::OfxhClipImage::OfxhClipImage ( const OfxhClipImage other)

Definition at line 41 of file OfxhClipImage.cpp.

virtual tuttle::host::ofx::attribute::OfxhClipImage::~OfxhClipImage ( ) [inline, virtual]

Definition at line 41 of file OfxhClipImage.hpp.


Member Function Documentation

virtual OfxhClipImage* tuttle::host::ofx::attribute::OfxhClipImage::clone ( ) const [pure virtual]
virtual OfxRectD tuttle::host::ofx::attribute::OfxhClipImage::fetchRegionOfDefinition ( const OfxTime  time) const [pure virtual]
const std::string & tuttle::host::ofx::attribute::OfxhClipImage::findSupportedComp ( const std::string &  s) const [virtual]

given the colour component, find the nearest set of supported colour components

given the colour component, find the nearest set of supported colour components override this for extra wierd custom component depths

is it there

Todo:
tuttle: can we remove this check ?

Means we have RGBA or Alpha being passed in and the clip only supports the other one, so return that

wierd, must be some custom bit , if only one, choose that, otherwise no idea how to map, you need to derive to do so.

Definition at line 47 of file OfxhClipImage.cpp.

References tuttle::host::ofx::attribute::OfxhClipImageAccessor::getSupportedComponents(), and tuttle::host::ofx::attribute::OfxhClipImageAccessor::isSupportedComponent().

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences().

Here is the call graph for this function:

imageEffect::EBitDepth tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth ( ) const [inline]

fetch depth of all chromatic component in this clip

0 (implying a clip is unconnected, not valid for an image), 8, 16, 32

Definition at line 85 of file OfxhClipImage.hpp.

References getBitDepthString(), and tuttle::ofx::imageEffect::mapBitDepthStringToEnum().

Referenced by tuttle::host::ImageEffectNode::coutBitDepthConnections(), getBitDepthMemorySize(), tuttle::host::ImageEffectNode::preProcess_infos(), setBitDepthStringIfUpper(), setBitDepthStringIfUpperAndNotModifiedByPlugin(), and tuttle::host::ImageEffectNode::validInputClipsConnections().

Here is the call graph for this function:

std::size_t tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthMemorySize ( ) const [inline]

Definition at line 92 of file OfxhClipImage.hpp.

References tuttle::ofx::imageEffect::bitDepthMemorySize(), and getBitDepth().

Referenced by getPixelMemorySize().

Here is the call graph for this function:

const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthString ( ) const [inline]
virtual std::string tuttle::host::ofx::attribute::OfxhClipImage::getClipIdentifier ( ) const [pure virtual]
const imageEffect::EPixelComponent tuttle::host::ofx::attribute::OfxhClipImage::getComponents ( ) const [inline]

Components that can be fetched from this clip -

kOfxImageComponentNone (implying a clip is unconnected, not valid for an image) kOfxImageComponentRGBA kOfxImageComponentRGB kOfxImageComponentAlpha and any custom ones you may think of

Definition at line 173 of file OfxhClipImage.hpp.

References getComponentsString(), and tuttle::ofx::imageEffect::mapPixelComponentStringToEnum().

Referenced by getNbComponents(), and tuttle::host::ImageEffectNode::validInputClipsConnections().

Here is the call graph for this function:

const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getComponentsString ( ) const [inline]

Components that can be fetched from this clip -

kOfxImageComponentNone (implying a clip is unconnected, not valid for an image) kOfxImageComponentRGBA kOfxImageComponentAlpha and any custom ones you may think of

Definition at line 160 of file OfxhClipImage.hpp.

References tuttle::host::ofx::attribute::OfxhAttribute::getProperties(), and tuttle::host::ofx::property::OfxhSet::getStringProperty().

Referenced by tuttle::host::graph::ProcessVertex::exportDotDebug(), tuttle::host::graph::ProcessVertexAtTime::exportDotDebug(), getComponents(), tuttle::host::ImageEffectNode::initComponents(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setupClipPreferencesArgs(), and tuttle::host::ImageEffectNode::validInputClipsConnections().

Here is the call graph for this function:

virtual std::string tuttle::host::ofx::attribute::OfxhClipImage::getConnectedClipFullName ( ) const [pure virtual]
Todo:
tuttle: remove this!

Implemented in tuttle::host::attribute::ClipImage.

virtual const bool tuttle::host::ofx::attribute::OfxhClipImage::getContinuousSamples ( ) const [inline, virtual]

Continuous Samples -

0 if the images can only be sampled at discreet times (eg: the clip is a sequence of frames), 1 if the images can only be sampled continuously (eg: the clip is infact an animating roto spline and can be rendered anywhen).

Definition at line 314 of file OfxhClipImage.hpp.

References tuttle::host::ofx::property::OfxhSet::getDoubleProperty(), and tuttle::host::ofx::attribute::OfxhAttribute::getProperties().

Here is the call graph for this function:

virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getFieldExtraction ( ) const [inline, virtual]
Todo:
tuttle: This function has been added here. Why was it not before?

Reimplemented from tuttle::host::ofx::attribute::OfxhClipImageAccessor.

Definition at line 285 of file OfxhClipImage.hpp.

References tuttle::host::ofx::attribute::OfxhAttribute::getProperties(), and tuttle::host::ofx::property::OfxhSet::getStringProperty().

Here is the call graph for this function:

virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getFieldOrder ( ) const [inline, virtual]

Field Order - Which spatial field occurs temporally first in a frame.

Returns:
  • kOfxImageFieldNone - the clip material is unfielded
  • kOfxImageFieldLower - the clip material is fielded, with image rows 0,2,4.... occuring first in a frame
  • kOfxImageFieldUpper - the clip material is fielded, with image rows line 1,3,5.... occuring first in a frame

Definition at line 277 of file OfxhClipImage.hpp.

References tuttle::host::ofx::attribute::OfxhAttribute::getProperties(), and tuttle::host::ofx::property::OfxhSet::getStringProperty().

Here is the call graph for this function:

virtual void tuttle::host::ofx::attribute::OfxhClipImage::getFrameRange ( double &  startFrame,
double &  endFrame 
) const [inline, virtual]

Frame Range (startFrame, endFrame) -

The frame range over which a clip has images.

Definition at line 258 of file OfxhClipImage.hpp.

References tuttle::host::ofx::property::OfxhSet::getDoubleProperty(), and tuttle::host::ofx::attribute::OfxhAttribute::getProperties().

Referenced by tuttle::host::ImageEffectNode::computeTimeDomain(), tuttle::host::graph::ProcessVertex::exportDotDebug(), and tuttle::host::graph::ProcessVertexAtTime::exportDotDebug().

Here is the call graph for this function:

OfxRangeD tuttle::host::ofx::attribute::OfxhClipImage::getFrameRange ( ) const [inline]

Definition at line 264 of file OfxhClipImage.hpp.

virtual double tuttle::host::ofx::attribute::OfxhClipImage::getFrameRate ( ) const [inline, virtual]

Frame Rate -

The frame rate of a clip or instance's project.

Reimplemented in tuttle::host::attribute::ClipImage.

Definition at line 249 of file OfxhClipImage.hpp.

References tuttle::host::ofx::property::OfxhSet::getDoubleProperty(), and tuttle::host::ofx::attribute::OfxhAttribute::getProperties().

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences().

Here is the call graph for this function:

virtual tuttle::host::ofx::imageEffect::OfxhImage* tuttle::host::ofx::attribute::OfxhClipImage::getImage ( const OfxTime  time,
const OfxRectD *  optionalBounds = NULL 
) [pure virtual]

override this to fill in the image at the given time. The bounds of the image on the image plane should be 'appropriate', typically the value returned in getRegionsOfInterest on the effect instance. Outside a render call, the optionalBounds should be 'appropriate' for the. If bounds is not null, fetch the indicated section of the canonical image plane.

Implemented in tuttle::host::attribute::ClipImage.

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

Number of values for this Components.

Definition at line 181 of file OfxhClipImage.hpp.

References getComponents(), and tuttle::ofx::imageEffect::numberOfComponents().

Referenced by getPixelMemorySize(), and tuttle::host::ImageEffectNode::preProcess_infos().

Here is the call graph for this function:

OfxImageClipHandle tuttle::host::ofx::attribute::OfxhClipImage::getOfxImageClipHandle ( ) const [inline, virtual]

get a handle on the clip descriptor for the C api

Implements tuttle::host::ofx::attribute::OfxhClipImageAccessor.

Definition at line 59 of file OfxhClipImage.hpp.

std::size_t tuttle::host::ofx::attribute::OfxhClipImage::getPixelMemorySize ( ) const [inline]

Definition at line 97 of file OfxhClipImage.hpp.

References getBitDepthMemorySize(), and getNbComponents().

Here is the call graph for this function:

virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getPremult ( ) const [inline, virtual]

PreMultiplication -

kOfxImageOpaque - the image is opaque and so has no premultiplication state kOfxImagePreMultiplied - the image is premultiplied by it's alpha kOfxImageUnPreMultiplied - the image is unpremultiplied

Definition at line 240 of file OfxhClipImage.hpp.

References tuttle::host::ofx::attribute::OfxhAttribute::getProperties(), and tuttle::host::ofx::property::OfxhSet::getStringProperty().

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences().

Here is the call graph for this function:

virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getUnmappedBitDepth ( ) const [inline, virtual]

Get the Raw Unmapped Pixel Depth from the host for chromatic planes

Returns:
  • kOfxBitDepthNone (implying a clip is unconnected image)
  • kOfxBitDepthByte
  • kOfxBitDepthShort
  • kOfxBitDepthFloat

Reimplemented in tuttle::host::attribute::ClipImage.

Definition at line 217 of file OfxhClipImage.hpp.

References tuttle::host::ofx::attribute::OfxhAttribute::getProperties(), and tuttle::host::ofx::property::OfxhSet::getStringProperty().

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences().

Here is the call graph for this function:

virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getUnmappedComponents ( ) const [inline, virtual]

Get the Raw Unmapped Components from the host

Returns:
  • kOfxImageComponentNone (implying a clip is unconnected, not valid for an image)
  • kOfxImageComponentRGBA
  • kOfxImageComponentAlpha

Reimplemented in tuttle::host::attribute::ClipImage.

Definition at line 229 of file OfxhClipImage.hpp.

References tuttle::host::ofx::attribute::OfxhAttribute::getProperties(), and tuttle::host::ofx::property::OfxhSet::getStringProperty().

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences().

Here is the call graph for this function:

virtual void tuttle::host::ofx::attribute::OfxhClipImage::getUnmappedFrameRange ( double &  unmappedStartFrame,
double &  unmappedEndFrame 
) const [inline, virtual]

Unmapped Frame Range -

The unmaped frame range over which an output clip has images.

Definition at line 303 of file OfxhClipImage.hpp.

References tuttle::host::ofx::property::OfxhSet::getDoubleProperty(), and tuttle::host::ofx::attribute::OfxhAttribute::getProperties().

Here is the call graph for this function:

virtual const double tuttle::host::ofx::attribute::OfxhClipImage::getUnmappedFrameRate ( ) const [inline, virtual]

Unmapped Frame Rate -

The unmaped frame range over which an output clip has images.

Reimplemented in tuttle::host::attribute::ClipImage.

Definition at line 294 of file OfxhClipImage.hpp.

References tuttle::host::ofx::property::OfxhSet::getDoubleProperty(), and tuttle::host::ofx::attribute::OfxhAttribute::getProperties().

Here is the call graph for this function:

bool tuttle::host::ofx::attribute::OfxhClipImage::operator!= ( const This other) const [inline]

Reimplemented from tuttle::host::ofx::attribute::OfxhClip.

Definition at line 50 of file OfxhClipImage.hpp.

References operator==().

Here is the call graph for this function:

bool tuttle::host::ofx::attribute::OfxhClipImage::operator== ( const This other) const [inline, virtual]

Reimplemented from tuttle::host::ofx::attribute::OfxhClip.

Definition at line 43 of file OfxhClipImage.hpp.

Referenced by operator!=().

void tuttle::host::ofx::attribute::OfxhClipImage::setBitDepth ( const imageEffect::EBitDepth  bitDepth,
const property::EModifiedBy  modifiedBy = property::eModifiedByHost 
) [inline]

Definition at line 112 of file OfxhClipImage.hpp.

References tuttle::ofx::imageEffect::mapBitDepthEnumToString(), and setBitDepthString().

Here is the call graph for this function:

void tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthString ( const std::string &  s,
const property::EModifiedBy  modifiedBy = property::eModifiedByHost 
) [inline]
void tuttle::host::ofx::attribute::OfxhClipImage::setComponents ( const imageEffect::EPixelComponent &  comp,
const property::EModifiedBy  modifiedBy = property::eModifiedByHost 
) [inline]

Definition at line 196 of file OfxhClipImage.hpp.

References tuttle::ofx::imageEffect::mapPixelComponentEnumToString(), and setComponentsString().

Here is the call graph for this function:

void tuttle::host::ofx::attribute::OfxhClipImage::setComponentsString ( const std::string &  s,
const property::EModifiedBy  modifiedBy = property::eModifiedByHost 
) [inline]

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