TuttleOFX
1
|
a clip image instance More...
#include <OfxhClipImage.hpp>
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 OfxhClipImage * | clone () 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 |
a clip image instance
Definition at line 30 of file OfxhClipImage.hpp.
Reimplemented from tuttle::host::ofx::attribute::OfxhClip.
Definition at line 35 of file OfxhClipImage.hpp.
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().
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.
virtual OfxhClipImage* tuttle::host::ofx::attribute::OfxhClipImage::clone | ( | ) | const [pure virtual] |
clone this clip
Implements tuttle::host::ofx::attribute::OfxhClip.
Implemented in tuttle::host::attribute::ClipImage.
Referenced by tuttle::host::ofx::attribute::new_clone().
virtual OfxRectD tuttle::host::ofx::attribute::OfxhClipImage::fetchRegionOfDefinition | ( | const OfxTime | time | ) | const [pure virtual] |
override this to return the rod on the clip
Implemented in tuttle::host::attribute::ClipImage.
Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::calcDefaultRegionOfDefinition(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::computeClipRodUnionAtTimes().
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
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().
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().
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().
const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthString | ( | ) | const [inline] |
fetch depth of all chromatic component in this clip
kOfxBitDepthNone (implying a clip is unconnected, not valid for an image) kOfxBitDepthByte kOfxBitDepthShort kOfxBitDepthFloat
Definition at line 72 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(), getBitDepth(), tuttle::host::ImageEffectNode::maximizeBitDepthFromReadsToWrites(), tuttle::host::ImageEffectNode::maximizeBitDepthFromWritesToReads(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setupClipPreferencesArgs().
virtual std::string tuttle::host::ofx::attribute::OfxhClipImage::getClipIdentifier | ( | ) | const [pure virtual] |
Implemented in tuttle::host::attribute::ClipImage.
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().
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().
virtual std::string tuttle::host::ofx::attribute::OfxhClipImage::getConnectedClipFullName | ( | ) | const [pure virtual] |
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().
virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getFieldExtraction | ( | ) | const [inline, virtual] |
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().
virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getFieldOrder | ( | ) | const [inline, virtual] |
Field Order - Which spatial field occurs temporally 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().
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().
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().
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().
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.
const double tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio | ( | ) | const [inline] |
Pixel Aspect Ratio The pixel aspect ratio of a clip or image.
Definition at line 137 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::OfxhSet::getDoubleProperty(), and tuttle::host::ofx::attribute::OfxhAttribute::getProperties().
Referenced by tuttle::host::graph::ProcessVertexAtTime::exportDotDebug(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getOutputPixelAspectRatio(), tuttle::host::attribute::Image::Image(), tuttle::host::ImageEffectNode::initInputClipsPixelAspectRatio(), tuttle::host::ImageEffectNode::isIdentity(), tuttle::host::ImageEffectNode::process(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setupClipPreferencesArgs().
std::size_t tuttle::host::ofx::attribute::OfxhClipImage::getPixelMemorySize | ( | ) | const [inline] |
Definition at line 97 of file OfxhClipImage.hpp.
References getBitDepthMemorySize(), and getNbComponents().
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().
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
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().
virtual const std::string& tuttle::host::ofx::attribute::OfxhClipImage::getUnmappedComponents | ( | ) | const [inline, virtual] |
Get the Raw Unmapped Components from the host
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().
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().
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().
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==().
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().
void tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthString | ( | const std::string & | s, |
const property::EModifiedBy | modifiedBy = property::eModifiedByHost |
||
) | [inline] |
set the current pixel depth called by clip preferences action
Definition at line 105 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::OfxhSet::fetchLocalStringProperty(), tuttle::host::ofx::attribute::OfxhAttribute::getEditableProperties(), and tuttle::host::ofx::property::OfxhPropertyTemplate< T >::setValue().
Referenced by setBitDepth(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setupClipInstancePreferences().
void tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpper | ( | const std::string & | s | ) | [inline] |
Definition at line 117 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::OfxhSet::fetchLocalStringProperty(), getBitDepth(), tuttle::host::ofx::attribute::OfxhAttribute::getEditableProperties(), tuttle::ofx::imageEffect::mapBitDepthStringToEnum(), and tuttle::host::ofx::property::OfxhPropertyTemplate< T >::setValue().
Referenced by tuttle::host::ImageEffectNode::maximizeBitDepthFromWritesToReads().
void tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpperAndNotModifiedByPlugin | ( | const std::string & | s | ) | [inline] |
Definition at line 125 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::eModifiedByPlugin, tuttle::host::ofx::property::OfxhSet::fetchLocalStringProperty(), getBitDepth(), tuttle::host::ofx::attribute::OfxhAttribute::getEditableProperties(), tuttle::host::ofx::property::OfxhProperty::getModifiedBy(), tuttle::ofx::imageEffect::mapBitDepthStringToEnum(), and tuttle::host::ofx::property::OfxhPropertyTemplate< T >::setValue().
Referenced by tuttle::host::ImageEffectNode::maximizeBitDepthFromReadsToWrites(), and tuttle::host::ImageEffectNode::maximizeBitDepthFromWritesToReads().
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().
void tuttle::host::ofx::attribute::OfxhClipImage::setComponentsString | ( | const std::string & | s, |
const property::EModifiedBy | modifiedBy = property::eModifiedByHost |
||
) | [inline] |
set the current set of components called by clip preferences action
Definition at line 190 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::OfxhSet::fetchLocalStringProperty(), tuttle::host::ofx::attribute::OfxhAttribute::getEditableProperties(), and tuttle::host::ofx::property::OfxhPropertyTemplate< T >::setValue().
Referenced by setComponents(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setupClipInstancePreferences().
void tuttle::host::ofx::attribute::OfxhClipImage::setComponentsStringIfNotModifiedByPlugin | ( | const std::string & | s | ) | [inline] |
Definition at line 201 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::eModifiedByPlugin, tuttle::host::ofx::property::OfxhSet::fetchLocalStringProperty(), tuttle::host::ofx::attribute::OfxhAttribute::getEditableProperties(), tuttle::host::ofx::property::OfxhProperty::getModifiedBy(), and tuttle::host::ofx::property::OfxhPropertyTemplate< T >::setValue().
Referenced by tuttle::host::ImageEffectNode::initComponents().
void tuttle::host::ofx::attribute::OfxhClipImage::setPixelAspectRatio | ( | const double & | s, |
const property::EModifiedBy | modifiedBy | ||
) | [inline] |
set the current pixel aspect ratio called by clip preferences action
Definition at line 146 of file OfxhClipImage.hpp.
References tuttle::host::ofx::property::OfxhSet::fetchLocalDoubleProperty(), tuttle::host::ofx::attribute::OfxhAttribute::getEditableProperties(), and tuttle::host::ofx::property::OfxhPropertyTemplate< T >::setValue().
Referenced by tuttle::host::ImageEffectNode::initInputClipsPixelAspectRatio(), tuttle::host::ImageEffectNode::initPixelAspectRatio(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setDefaultClipPreferences(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::setupClipInstancePreferences().