|
TuttleOFX
1
|
#include <ImageEffectNode.hpp>


Public Types | |
| typedef ImageEffectNode | This |
Public Member Functions | |
| ImageEffectNode (ofx::imageEffect::OfxhImageEffectPlugin &plugin, ofx::imageEffect::OfxhImageEffectNodeDescriptor &desc, const std::string &context) | |
| ImageEffectNode (const ImageEffectNode &other) | |
| ~ImageEffectNode () | |
| std::string | getLabel () const |
| const std::string & | getName () const |
| void | setName (const std::string &name) |
| std::size_t | getNbParams () const |
| const ofx::attribute::OfxhParam & | getParam (const std::string &name) const |
| ofx::attribute::OfxhParam & | getParam (const std::string &name) |
| const ofx::attribute::OfxhParam & | getParamByScriptName (const std::string &name, const bool acceptPartialName=false) const |
| ofx::attribute::OfxhParam & | getParamByScriptName (const std::string &name, const bool acceptPartialName=false) |
| const ofx::attribute::OfxhParam & | getParam (const std::size_t index) const |
| ofx::attribute::OfxhParam & | getParam (const std::size_t index) |
| const ofx::property::OfxhSet & | getProperties () const |
| ofx::property::OfxhSet & | getEditableProperties () |
| std::vector< int > | getVersion () const |
| ImageEffectNode * | clone () const |
| bool | operator== (const INode &other) const |
| bool | operator== (const ImageEffectNode &other) const |
| const ENodeType | getNodeType () const |
| void | connect (const INode &sourceEffect, attribute::Attribute &attr) |
| attribute::ClipImage & | getClip (const std::string &name, const bool acceptPartialName=false) |
| const attribute::ClipImage & | getClip (const std::string &name, const bool acceptPartialName=false) const |
| attribute::ClipImage & | getOutputClip () |
| const attribute::ClipImage & | getOutputClip () const |
| attribute::Attribute & | getAttribute (const std::string &name) |
| attribute::Attribute & | getSingleInputAttribute () |
| const attribute::Attribute & | getSingleInputAttribute () const |
| ofx::attribute::OfxhParamSet & | getParamSet () |
| const ofx::attribute::OfxhParamSet & | getParamSet () const |
| ofx::attribute::OfxhClipImageSet & | getClipImageSet () |
| const ofx::attribute::OfxhClipImageSet & | getClipImageSet () const |
| std::size_t | getLocalHashAtTime (const OfxTime time) const |
| OfxRectD | getRegionOfDefinition (const OfxTime time) const |
| OfxRangeD | getTimeDomain () const |
| void | debugOutputImage (const OfxTime time) const |
| OfxRangeD | getDefaultTimeDomain () const |
| std::ostream & | print (std::ostream &os) const |
| const std::string & | getDefaultOutputFielding () const |
| int | abort () |
| ofx::OfxhMemory * | newMemoryInstance (size_t nBytes) |
| ofx::attribute::OfxhClipImage * | newClipImage (const ofx::attribute::OfxhClipImageDescriptor &descriptor) |
| make a clip | |
| void | vmessage (const char *type, const char *id, const char *format, va_list args) const OFX_EXCEPTION_SPEC |
| vmessage | |
| void | getProjectSize (double &xSize, double &ySize) const |
| void | getProjectOffset (double &xOffset, double &yOffset) const |
| void | getProjectExtent (double &xSize, double &ySize) const |
| double | getProjectPixelAspectRatio () const |
| const std::string | getProjectPixelComponentsType () const |
| const std::string | getProjectBitDepth () const |
| double | getEffectDuration () const |
| double | getFrameRecursive () const |
| void | getRenderScaleRecursive (double &x, double &y) const |
| ofx::attribute::OfxhParam * | newParam (const ofx::attribute::OfxhParamDescriptor &Descriptor) OFX_EXCEPTION_SPEC |
| Create a parameter instance. | |
| void | editBegin (const std::string &name) OFX_EXCEPTION_SPEC |
| void | editEnd () OFX_EXCEPTION_SPEC |
| void | progressStart (const std::string &message) |
| Start doing progress. | |
| void | progressEnd () |
| finish yer progress | |
| bool | progressUpdate (const double t) |
| double | timelineGetTime () |
| void | timelineGotoTime (double t) |
| set the timeline to a specific time | |
| void | timelineGetBounds (double &t1, double &t2) |
| get the first and last times available on the effect's timeline | |
| const OfxRangeD & | getEffectFrameRange () const |
| void | beginSequenceRenderAction (OfxTime startFrame, OfxTime endFrame, double step, bool interactive, OfxPointD renderScale) OFX_EXCEPTION_SPEC |
| override to get frame range of the effect | |
| OfxRangeD | computeTimeDomain () |
| void | setup1 () |
| void | setup2_reverse () |
| void | setup3 () |
| void | beginSequence (graph::ProcessVertexData &vData) |
| Begin of the a new frame range to process. Initilize this node. | |
| INode::ClipTimesSetMap | getTimesNeeded (const OfxTime time) const |
| Asks the plugin all times it needs for each of it's input clips. | |
| void | preProcess1 (graph::ProcessVertexAtTimeData &vData) |
| Initialization pass to propagate informations from inputs to outputs. | |
| void | preProcess2_reverse (graph::ProcessVertexAtTimeData &vData) |
| Initialization pass to propagate informations from outputs to inputs. | |
| bool | isIdentity (const graph::ProcessVertexAtTimeData &vData, std::string &clip, OfxTime &time) const |
| The node can declare to be an identity operation. In this case, the node is not processed and the rendering engine direcly use the indicated input clip at a particular time. | |
| void | preProcess_infos (const graph::ProcessVertexAtTimeData &vData, const OfxTime time, graph::ProcessVertexAtTimeInfo &nodeInfos) const |
| Fill ProcessInfo to compute statistics for the current process, like memory used by this node, by all input nodes, etc. | |
| void | process (graph::ProcessVertexAtTimeData &vData) |
| Process this node. All inputs are compute. | |
| void | postProcess (graph::ProcessVertexAtTimeData &vData) |
| The process of all nodes is done for one frame, now finalize this node. | |
| void | endSequence (graph::ProcessVertexData &vData) |
| End of the whole frame range process, now finalize this node. | |
Private Member Functions | |
| void | checkClipsConnected () const |
| void | initComponents () |
| void | initInputClipsPixelAspectRatio () |
| void | initPixelAspectRatio () |
| void | initInputClipsFps () |
| void | initFps () |
| void | maximizeBitDepthFromReadsToWrites () |
| void | maximizeBitDepthFromWritesToReads () |
| void | coutBitDepthConnections () const |
| void | validInputClipsConnections () const |
Private Attributes | |
| std::string | _defaultOutputFielding |
| our clip is pretending to be progressive PAL SD, so return kOfxImageFieldNone | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const This &v) |
Definition at line 18 of file ImageEffectNode.hpp.
Reimplemented from tuttle::host::INode.
Definition at line 22 of file ImageEffectNode.hpp.
| tuttle::host::ImageEffectNode::ImageEffectNode | ( | ofx::imageEffect::OfxhImageEffectPlugin & | plugin, |
| ofx::imageEffect::OfxhImageEffectNodeDescriptor & | desc, | ||
| const std::string & | context | ||
| ) |
Definition at line 40 of file ImageEffectNode.cpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::populate().
Referenced by clone().

| tuttle::host::ImageEffectNode::ImageEffectNode | ( | const ImageEffectNode & | other | ) |
Definition at line 51 of file ImageEffectNode.cpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::copyAttributesValues(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::createInstanceAction(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::populate().

| tuttle::host::ImageEffectNode::~ImageEffectNode | ( | ) |
Definition at line 61 of file ImageEffectNode.cpp.
| int tuttle::host::ImageEffectNode::abort | ( | ) | [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 141 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::beginSequence | ( | graph::ProcessVertexData & | processData | ) | [virtual] |
Begin of the a new frame range to process. Initilize this node.
| [in] | processData |
Implements tuttle::host::INode.
Definition at line 772 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexData::_interactive, tuttle::host::graph::ProcessVertexData::_renderScale, tuttle::host::graph::ProcessVertexData::_renderTimeRange, tuttle::host::graph::ProcessVertexData::_step, and beginSequenceRenderAction().

| void tuttle::host::ImageEffectNode::beginSequenceRenderAction | ( | OfxTime | startFrame, |
| OfxTime | endFrame, | ||
| double | step, | ||
| bool | interactive, | ||
| OfxPointD | renderScale | ||
| ) | [virtual] |
override to get frame range of the effect
Reimplemented from tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 372 of file ImageEffectNode.cpp.
Referenced by beginSequence().
| void tuttle::host::ImageEffectNode::checkClipsConnected | ( | ) | const [private] |
Definition at line 381 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getFullName(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhClipAccessor::isOptional(), and tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput().
Referenced by setup1().

| ImageEffectNode* tuttle::host::ImageEffectNode::clone | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 58 of file ImageEffectNode.hpp.
References ImageEffectNode().

| OfxRangeD tuttle::host::ImageEffectNode::computeTimeDomain | ( | ) | [virtual] |
Implementation of INode virtual functions
Implements tuttle::host::INode.
Definition at line 706 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getConnectedClip(), getDefaultTimeDomain(), tuttle::host::ofx::attribute::OfxhClipImage::getFrameRange(), getName(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getTimeDomainAction(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::quotes(), tuttle::host::attribute::ClipImage::setFrameRange(), tuttle::host::attribute::ClipImage::setUnmappedFrameRange(), TUTTLE_INFO, and TUTTLE_TLOG.

| void tuttle::host::ImageEffectNode::connect | ( | const INode & | sourceEffect, |
| attribute::Attribute & | attr | ||
| ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 80 of file ImageEffectNode.cpp.
References tuttle::host::INode::getClip(), and tuttle::host::attribute::ClipImage::setConnectedClip().

| void tuttle::host::ImageEffectNode::coutBitDepthConnections | ( | ) | const [private] |
Definition at line 611 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth(), tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getFullName(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), TUTTLE_INFO, and TUTTLE_TLOG.

| void tuttle::host::ImageEffectNode::debugOutputImage | ( | const OfxTime | time | ) | const |
Definition at line 1040 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::memory::IMemoryCache::get(), tuttle::host::INode::getData(), tuttle::host::graph::ProcessVertexData::getInternMemoryCache(), getName(), tuttle::host::attribute::Attribute::getNode(), and tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput().
Referenced by process().

| void tuttle::host::ImageEffectNode::editBegin | ( | const std::string & | name | ) | [virtual] |
Triggered when the plug-in calls OfxParameterSuiteV1::paramEditBegin
Client host code needs to implement this
Implements tuttle::host::ofx::attribute::OfxhParamSet.
Definition at line 316 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::editEnd | ( | ) | [virtual] |
Triggered when the plug-in calls OfxParameterSuiteV1::paramEditEnd
Client host code needs to implement this
Implements tuttle::host::ofx::attribute::OfxhParamSet.
Definition at line 321 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::endSequence | ( | graph::ProcessVertexData & | processData | ) | [virtual] |
End of the whole frame range process, now finalize this node.
| [in] | processData |
Implements tuttle::host::INode.
Definition at line 999 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexData::_interactive, tuttle::host::graph::ProcessVertexData::_renderScale, tuttle::host::graph::ProcessVertexData::_renderTimeRange, tuttle::host::graph::ProcessVertexData::_step, and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::endSequenceRenderAction().

| attribute::Attribute& tuttle::host::ImageEffectNode::getAttribute | ( | const std::string & | name | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 76 of file ImageEffectNode.hpp.
References getClip().

| attribute::ClipImage& tuttle::host::ImageEffectNode::getClip | ( | const std::string & | name, |
| const bool | acceptPartialName = false |
||
| ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 70 of file ImageEffectNode.hpp.
Referenced by getAttribute(), getClip(), getOutputClip(), and process().
| const attribute::ClipImage& tuttle::host::ImageEffectNode::getClip | ( | const std::string & | name, |
| const bool | acceptPartialName = false |
||
| ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 71 of file ImageEffectNode.hpp.
References getClip().

| ofx::attribute::OfxhClipImageSet& tuttle::host::ImageEffectNode::getClipImageSet | ( | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 84 of file ImageEffectNode.hpp.
| const ofx::attribute::OfxhClipImageSet& tuttle::host::ImageEffectNode::getClipImageSet | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 85 of file ImageEffectNode.hpp.
| const std::string& tuttle::host::ImageEffectNode::getDefaultOutputFielding | ( | ) | const [inline, virtual] |
get default output fielding. This is passed into the clip prefs action and might be mapped (if the host allows such a thing)
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 138 of file ImageEffectNode.hpp.
References _defaultOutputFielding.
| OfxRangeD tuttle::host::ImageEffectNode::getDefaultTimeDomain | ( | ) | const |
Definition at line 673 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::Attribute::getNode(), tuttle::host::INode::getTimeDomain(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::max(), and tuttle::min().
Referenced by computeTimeDomain().

| ofx::property::OfxhSet& tuttle::host::ImageEffectNode::getEditableProperties | ( | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 45 of file ImageEffectNode.hpp.
| double tuttle::host::ImageEffectNode::getEffectDuration | ( | ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 219 of file ImageEffectNode.cpp.
| const OfxRangeD& tuttle::host::ImageEffectNode::getEffectFrameRange | ( | ) | const [inline] |
Definition at line 251 of file ImageEffectNode.hpp.
References tuttle::host::graph::ProcessVertexData::_renderTimeRange, and tuttle::host::INode::getData().

| double tuttle::host::ImageEffectNode::getFrameRecursive | ( | ) | const [virtual] |
This is called whenever a param is changed by the plugin so that the recursive instanceChangedAction will be fed the correct frame
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 226 of file ImageEffectNode.cpp.
| std::string tuttle::host::ImageEffectNode::getLabel | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 33 of file ImageEffectNode.hpp.
Referenced by print().
| std::size_t tuttle::host::ImageEffectNode::getLocalHashAtTime | ( | const OfxTime | time | ) | const [virtual] |
Implements tuttle::host::INode.
Definition at line 124 of file ImageEffectNode.cpp.
References tuttle::host::ofx::OfxhPluginDesc::getHash(), tuttle::host::ofx::attribute::OfxhParamSet::getHashAtTime(), getParamSet(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isFrameVarying().

| const std::string& tuttle::host::ImageEffectNode::getName | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 34 of file ImageEffectNode.hpp.
Referenced by computeTimeDomain(), debugOutputImage(), maximizeBitDepthFromReadsToWrites(), preProcess1(), process(), progressStart(), and validInputClipsConnections().
| std::size_t tuttle::host::ImageEffectNode::getNbParams | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 36 of file ImageEffectNode.hpp.
| const ENodeType tuttle::host::ImageEffectNode::getNodeType | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 66 of file ImageEffectNode.hpp.
References tuttle::host::INode::eNodeTypeImageEffect.
| attribute::ClipImage& tuttle::host::ImageEffectNode::getOutputClip | ( | ) | [inline] |
Reimplemented from tuttle::host::INode.
Definition at line 73 of file ImageEffectNode.hpp.
References getClip().
Referenced by tuttle::host::graph::ProcessVertex::exportDotDebug(), tuttle::host::graph::ProcessVertexAtTime::exportDotDebug(), initComponents(), initFps(), initPixelAspectRatio(), isIdentity(), maximizeBitDepthFromReadsToWrites(), maximizeBitDepthFromWritesToReads(), preProcess_infos(), and process().

| const attribute::ClipImage& tuttle::host::ImageEffectNode::getOutputClip | ( | ) | const [inline] |
Reimplemented from tuttle::host::INode.
Definition at line 74 of file ImageEffectNode.hpp.
References getClip().

| const ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::string & | name | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 37 of file ImageEffectNode.hpp.
Referenced by tuttle::host::io::getBestReader(), and getParam().
| ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::string & | name | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 38 of file ImageEffectNode.hpp.
References getParam().

| const ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::size_t | index | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 41 of file ImageEffectNode.hpp.
References getParam().

| ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::size_t | index | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 42 of file ImageEffectNode.hpp.
References getParam().

| const ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParamByScriptName | ( | const std::string & | name, |
| const bool | acceptPartialName = false |
||
| ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 39 of file ImageEffectNode.hpp.
Referenced by getParamByScriptName().
| ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParamByScriptName | ( | const std::string & | name, |
| const bool | acceptPartialName = false |
||
| ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 40 of file ImageEffectNode.hpp.
References getParamByScriptName().

| ofx::attribute::OfxhParamSet& tuttle::host::ImageEffectNode::getParamSet | ( | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 81 of file ImageEffectNode.hpp.
Referenced by getLocalHashAtTime().
| const ofx::attribute::OfxhParamSet& tuttle::host::ImageEffectNode::getParamSet | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 82 of file ImageEffectNode.hpp.
| const std::string tuttle::host::ImageEffectNode::getProjectBitDepth | ( | ) | const |
The pixel bit depth of the current project (host work in float)
Definition at line 252 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::getProjectExtent | ( | double & | xSize, |
| double & | ySize | ||
| ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 192 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::INode::_dataAtTime, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, and tuttle::host::INode::getLastData().

| void tuttle::host::ImageEffectNode::getProjectOffset | ( | double & | xOffset, |
| double & | yOffset | ||
| ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 185 of file ImageEffectNode.cpp.
| double tuttle::host::ImageEffectNode::getProjectPixelAspectRatio | ( | ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 213 of file ImageEffectNode.cpp.
| const std::string tuttle::host::ImageEffectNode::getProjectPixelComponentsType | ( | ) | const |
The pixel components type of the current project
Definition at line 243 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::getProjectSize | ( | double & | xSize, |
| double & | ySize | ||
| ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 164 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::INode::_dataAtTime, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, and tuttle::host::INode::getLastData().

| const ofx::property::OfxhSet& tuttle::host::ImageEffectNode::getProperties | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 44 of file ImageEffectNode.hpp.
| OfxRectD tuttle::host::ImageEffectNode::getRegionOfDefinition | ( | const OfxTime | time | ) | const [inline] |
Definition at line 89 of file ImageEffectNode.hpp.
References tuttle::host::INode::getData().
Referenced by tuttle::host::attribute::ClipImage::fetchRegionOfDefinition(), and tuttle::host::io::getBestReader().

| void tuttle::host::ImageEffectNode::getRenderScaleRecursive | ( | double & | x, |
| double & | y | ||
| ) | const [virtual] |
This is called whenever a param is changed by the plugin so that the recursive instanceChangedAction will be fed the correct renderScale
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 234 of file ImageEffectNode.cpp.
| attribute::Attribute & tuttle::host::ImageEffectNode::getSingleInputAttribute | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 88 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::getClipsByName(), and tuttle::host::ofx::attribute::OfxhClipImageSet::getClipsByOrder().

| const attribute::Attribute& tuttle::host::ImageEffectNode::getSingleInputAttribute | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 79 of file ImageEffectNode.hpp.
References getSingleInputAttribute().
Referenced by getSingleInputAttribute().

| OfxRangeD tuttle::host::ImageEffectNode::getTimeDomain | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 94 of file ImageEffectNode.hpp.
References tuttle::host::graph::ProcessVertexData::_timeDomain, and tuttle::host::INode::getData().
Referenced by tuttle::host::io::getBestReader().

| INode::ClipTimesSetMap tuttle::host::ImageEffectNode::getTimesNeeded | ( | const OfxTime | time | ) | const [inline, virtual] |
Asks the plugin all times it needs for each of it's input clips.
| [in] | time |
Implements tuttle::host::INode.
Definition at line 113 of file ImageEffectNode.hpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getFramesNeeded().

| std::vector<int> tuttle::host::ImageEffectNode::getVersion | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 47 of file ImageEffectNode.hpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getDescriptor(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin().

| void tuttle::host::ImageEffectNode::initComponents | ( | ) | [private] |
Definition at line 396 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::imageEffect::OfxhImageEffectNode::findMostChromaticComponents(), tuttle::host::ofx::attribute::OfxhClipImage::getComponentsString(), tuttle::host::attribute::ClipImage::getConnectedClip(), getOutputClip(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::attribute::OfxhClipImageAccessor::isSupportedComponent(), and tuttle::host::ofx::attribute::OfxhClipImage::setComponentsStringIfNotModifiedByPlugin().
Referenced by setup1().

| void tuttle::host::ImageEffectNode::initFps | ( | ) | [private] |
Definition at line 486 of file ImageEffectNode.cpp.
References getOutputClip(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getOutputFrameRate(), and tuttle::host::attribute::ClipImage::setFrameRate().
Referenced by setup1().

| void tuttle::host::ImageEffectNode::initInputClipsFps | ( | ) | [private] |
Definition at line 471 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getFrameRate(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), and tuttle::host::attribute::ClipImage::setFrameRate().
Referenced by setup1().

| void tuttle::host::ImageEffectNode::initInputClipsPixelAspectRatio | ( | ) | [private] |
Definition at line 432 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::property::eModifiedByHost, tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getName(), tuttle::host::ofx::attribute::OfxhClipImageSet::getNbClips(), tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::attribute::OfxhClipImage::setPixelAspectRatio(), tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::supportsMultipleClipPARs(), TUTTLE_INFO, and TUTTLE_TLOG.
Referenced by setup1().

| void tuttle::host::ImageEffectNode::initPixelAspectRatio | ( | ) | [private] |
Definition at line 492 of file ImageEffectNode.cpp.
References tuttle::host::ofx::property::eModifiedByHost, getOutputClip(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getOutputPixelAspectRatio(), and tuttle::host::ofx::attribute::OfxhClipImage::setPixelAspectRatio().
Referenced by setup1().

| bool tuttle::host::ImageEffectNode::isIdentity | ( | const graph::ProcessVertexAtTimeData & | processData, |
| std::string & | clip, | ||
| OfxTime & | time | ||
| ) | const [virtual] |
The node can declare to be an identity operation. In this case, the node is not processed and the rendering engine direcly use the indicated input clip at a particular time.
| [in] | processData | |
| [out] | clip | the input clip to use as identity |
| [out] | time | the time to use as identity |
Implements tuttle::host::INode.
Definition at line 816 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_field, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, getOutputClip(), tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isIdentityAction().

| void tuttle::host::ImageEffectNode::maximizeBitDepthFromReadsToWrites | ( | ) | [private] |
Definition at line 498 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::INode::asImageEffectNode(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::bestSupportedBitDepth(), tuttle::host::INode::eNodeTypeBuffer, tuttle::host::INode::eNodeTypeImageEffect, tuttle::ofx::imageEffect::findDeepestBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthString(), tuttle::host::attribute::ClipImage::getConnectedClip(), getName(), tuttle::host::attribute::Attribute::getNode(), tuttle::host::INode::getNodeType(), getOutputClip(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isSupportedBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpperAndNotModifiedByPlugin(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::supportsMultipleClipDepths().
Referenced by setup1(), and setup3().

| void tuttle::host::ImageEffectNode::maximizeBitDepthFromWritesToReads | ( | ) | [private] |
Definition at line 570 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::INode::asImageEffectNode(), tuttle::host::INode::eNodeTypeImageEffect, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthString(), tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::Attribute::getNode(), tuttle::host::INode::getNodeType(), getOutputClip(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isSupportedBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpper(), tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpperAndNotModifiedByPlugin(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::supportsMultipleClipDepths().
Referenced by setup2_reverse().

| tuttle::host::ofx::attribute::OfxhClipImage * tuttle::host::ImageEffectNode::newClipImage | ( | const ofx::attribute::OfxhClipImageDescriptor & | descriptor | ) | [virtual] |
make a clip
Implements tuttle::host::ofx::attribute::OfxhClipImageSet.
Definition at line 119 of file ImageEffectNode.cpp.
| ofx::OfxhMemory * tuttle::host::ImageEffectNode::newMemoryInstance | ( | size_t | nBytes | ) | [virtual] |
Allocating memory using the memoryPool
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 146 of file ImageEffectNode.cpp.
References tuttle::host::ofx::OfxhMemory::alloc().

| ofx::attribute::OfxhParam * tuttle::host::ImageEffectNode::newParam | ( | const ofx::attribute::OfxhParamDescriptor & | Descriptor | ) | [virtual] |
Create a parameter instance.
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 259 of file ImageEffectNode.cpp.
References tuttle::quotes().

| bool tuttle::host::ImageEffectNode::operator== | ( | const INode & | other | ) | const [virtual] |
Implements tuttle::host::INode.
Definition at line 64 of file ImageEffectNode.cpp.
Referenced by operator==().
| bool tuttle::host::ImageEffectNode::operator== | ( | const ImageEffectNode & | other | ) | const |
Definition at line 75 of file ImageEffectNode.cpp.
References operator==().

| void tuttle::host::ImageEffectNode::postProcess | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
The process of all nodes is done for one frame, now finalize this node.
| [in] | processData |
Implements tuttle::host::INode.
Definition at line 993 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::preProcess1 | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
Initialization pass to propagate informations from inputs to outputs.
| [in] | processData |
<
Reimplemented from tuttle::host::INode.
Definition at line 784 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, getName(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getRegionOfDefinitionAction(), TUTTLE_INFO, and TUTTLE_TLOG.

| void tuttle::host::ImageEffectNode::preProcess2_reverse | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
Initialization pass to propagate informations from outputs to inputs.
| [in] | processData |
Reimplemented from tuttle::host::INode.
Definition at line 803 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_inputsRoI, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getRegionOfInterestAction().

| void tuttle::host::ImageEffectNode::preProcess_infos | ( | const graph::ProcessVertexAtTimeData & | processData, |
| const OfxTime | time, | ||
| graph::ProcessVertexAtTimeInfo & | nodeInfos | ||
| ) | const [virtual] |
Fill ProcessInfo to compute statistics for the current process, like memory used by this node, by all input nodes, etc.
| [in] | processData |
Implements tuttle::host::INode.
Definition at line 831 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeInfo::_memory, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::getNbComponents(), and getOutputClip().

| std::ostream & tuttle::host::ImageEffectNode::print | ( | std::ostream & | os | ) | const [virtual] |
Implements tuttle::host::INode.
Definition at line 1010 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::imageEffect::OfxhImageEffectNode::_context, tuttle::host::ofx::attribute::OfxhParamSet::_paramVector, getLabel(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::getLongLabel().
Referenced by tuttle::host::operator<<().

| void tuttle::host::ImageEffectNode::process | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
Process this node. All inputs are compute.
| [in] | processData |
Implements tuttle::host::INode.
Definition at line 841 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_field, tuttle::host::graph::ProcessVertexAtTimeData::_inEdges, tuttle::host::graph::ProcessVertexAtTimeData::_isFinalNode, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::_outDegree, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, tuttle::host::core(), debugOutputImage(), tuttle::host::attribute::Image::eImageOrientationFromBottomToTop, tuttle::host::ofx::imageEffect::OfxhImage::eReferenceOwnerHost, tuttle::host::memory::IMemoryCache::get(), getClip(), tuttle::host::attribute::ClipImage::getClipIdentifier(), tuttle::host::attribute::ClipImage::getFullName(), tuttle::host::graph::IEdge::getIn(), tuttle::host::graph::IEdge::getInAttrName(), getName(), tuttle::host::graph::IEdge::getOut(), getOutputClip(), tuttle::host::graph::ProcessEdgeAtTime::getOutTime(), tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::memory::IMemoryCache::put(), tuttle::quotes(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::renderAction(), TUTTLE_INFO, TUTTLE_LOG_TRACE, and TUTTLE_TLOG.

| void tuttle::host::ImageEffectNode::progressEnd | ( | ) | [virtual] |
finish yer progress
Implements tuttle::host::ofx::OfxhIProgress.
Definition at line 335 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::progressStart | ( | const std::string & | message | ) | [virtual] |
Start doing progress.
Implements tuttle::host::ofx::OfxhIProgress.
Definition at line 327 of file ImageEffectNode.cpp.
References tuttle::common::Color::get(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getContext(), getName(), TUTTLE_LOG_INFO, and TUTTLE_LOG_PLUGIN_NAME_WIDTH.

| bool tuttle::host::ImageEffectNode::progressUpdate | ( | const double | progress | ) | [virtual] |
set the progress to some level of completion, returns true if you should abandon processing, false to continue
Implements tuttle::host::ofx::OfxhIProgress.
Definition at line 342 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::setName | ( | const std::string & | name | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 35 of file ImageEffectNode.hpp.
| void tuttle::host::ImageEffectNode::setup1 | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 744 of file ImageEffectNode.cpp.
References checkClipsConnected(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getClipPreferencesAction(), initComponents(), initFps(), initInputClipsFps(), initInputClipsPixelAspectRatio(), initPixelAspectRatio(), and maximizeBitDepthFromReadsToWrites().

| void tuttle::host::ImageEffectNode::setup2_reverse | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 760 of file ImageEffectNode.cpp.
References maximizeBitDepthFromWritesToReads().

| void tuttle::host::ImageEffectNode::setup3 | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 765 of file ImageEffectNode.cpp.
References maximizeBitDepthFromReadsToWrites(), and validInputClipsConnections().

| void tuttle::host::ImageEffectNode::timelineGetBounds | ( | double & | t1, |
| double & | t2 | ||
| ) | [virtual] |
get the first and last times available on the effect's timeline
Implements tuttle::host::ofx::OfxhITimeline.
Definition at line 365 of file ImageEffectNode.cpp.
| double tuttle::host::ImageEffectNode::timelineGetTime | ( | ) | [virtual] |
get the current time on the timeline. This is not necessarily the same time as being passed to an action (eg render)
Implements tuttle::host::ofx::OfxhITimeline.
Definition at line 355 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::timelineGotoTime | ( | double | t | ) | [virtual] |
set the timeline to a specific time
Implements tuttle::host::ofx::OfxhITimeline.
Definition at line 361 of file ImageEffectNode.cpp.
| void tuttle::host::ImageEffectNode::validInputClipsConnections | ( | ) | const [private] |
Definition at line 642 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::getComponents(), tuttle::host::ofx::attribute::OfxhClipImage::getComponentsString(), tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getFullName(), getName(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), and tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput().
Referenced by setup3().

| void tuttle::host::ImageEffectNode::vmessage | ( | const char * | type, |
| const char * | id, | ||
| const char * | format, | ||
| va_list | args | ||
| ) | const [virtual] |
vmessage
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 155 of file ImageEffectNode.cpp.
| std::ostream& operator<< | ( | std::ostream & | os, |
| const This & | v | ||
| ) | [friend] |
Definition at line 1035 of file ImageEffectNode.cpp.
std::string tuttle::host::ImageEffectNode::_defaultOutputFielding [private] |
our clip is pretending to be progressive PAL SD, so return kOfxImageFieldNone
Definition at line 277 of file ImageEffectNode.hpp.
Referenced by getDefaultOutputFielding().