TuttleOFX  1
tuttle::plugin::merge Namespace Reference

Data Structures

struct  MergeProcessParams
class  MergePlugin
class  MergeProcess
 Merge process. More...

Enumerations

enum  EParamRod { eParamRodIntersect = 0, eParamRodUnion, eParamRodA, eParamRodB }
enum  EParamMerge {
  eParamMergeATop, eParamMergeAverage, eParamMergeColor, eParamMergeColorBurn,
  eParamMergeColorDodge, eParamMergeConjointOver, eParamMergeCopy, eParamMergeDifference,
  eParamMergeDisjointOver, eParamMergeDivide, eParamMergeExclusion, eParamMergeFreeze,
  eParamMergeFrom, eParamMergeGeometric, eParamMergeHardLight, eParamMergeHypot,
  eParamMergeIn, eParamMergeInterpolated, eParamMergeMask, eParamMergeMatte,
  eParamMergeLighten, eParamMergeDarken, eParamMergeMinus, eParamMergeMultiply,
  eParamMergeOut, eParamMergeOver, eParamMergeOverlay, eParamMergePinLight,
  eParamMergePlus, eParamMergeReflect, eParamMergeScreen, eParamMergeStencil,
  eParamMergeUnder, eParamMergeXOR
}

Functions

 mDeclarePluginFactory (MergePluginFactory,{},{})
template<typename View , typename Value >
GIL_FORCEINLINE void fill_pixels (const View &dstView, const Value &val, const OfxRectI &region)
template<typename View >
GIL_FORCEINLINE void copy_pixels (const View &src, const OfxRectI &srcRegion, const View &dst, const OfxRectI &dstRegion)
template<class View >
void fillAroundIntersection (const View &viewA, const OfxRectI &srcAPixelRod, const View &viewB, const OfxRectI &srcBPixelRod, const View &dstView, const OfxRectI &dstPixelRod, const OfxRectI &procWindowRoW)
template<class View >
void fillAroundIntersection (const View &viewA, const OfxRectI &srcAPixelRod, const OfxRectI &srcBPixelRod, const View &dstView, const OfxRectI &dstPixelRod, const OfxRectI &procWindowRoW)

Variables

static const std::string kParamSourceA = "A"
static const std::string kParamSourceB = "B"
static const std::string kParamFunction = "mergingFunction"
static const std::string kParamFunctionLabel = "Merging function"
static const std::string kParamOffsetA = "offsetA"
static const std::string kParamOffsetB = "offsetB"
static const std::string kParamRod = "rod"
static const std::string kParamRodIntersect = "intersection"
static const std::string kParamRodUnion = "union"
static const std::string kParamRodA = "A"
static const std::string kParamRodB = "B"
static const bool kSupportTiles = false

Enumeration Type Documentation

Enumerator:
eParamMergeATop 
eParamMergeAverage 
eParamMergeColor 
eParamMergeColorBurn 
eParamMergeColorDodge 
eParamMergeConjointOver 
eParamMergeCopy 
eParamMergeDifference 
eParamMergeDisjointOver 
eParamMergeDivide 
eParamMergeExclusion 
eParamMergeFreeze 
eParamMergeFrom 
eParamMergeGeometric 
eParamMergeHardLight 
eParamMergeHypot 
eParamMergeIn 
eParamMergeInterpolated 
eParamMergeMask 
eParamMergeMatte 
eParamMergeLighten 
eParamMergeDarken 
eParamMergeMinus 
eParamMergeMultiply 
eParamMergeOut 
eParamMergeOver 
eParamMergeOverlay 
eParamMergePinLight 
eParamMergePlus 
eParamMergeReflect 
eParamMergeScreen 
eParamMergeStencil 
eParamMergeUnder 
eParamMergeXOR 

Definition at line 35 of file MergeDefinitions.hpp.

Enumerator:
eParamRodIntersect 
eParamRodUnion 
eParamRodA 
eParamRodB 

Definition at line 25 of file MergeDefinitions.hpp.


Function Documentation

template<typename View >
GIL_FORCEINLINE void tuttle::plugin::merge::copy_pixels ( const View &  src,
const OfxRectI srcRegion,
const View &  dst,
const OfxRectI dstRegion 
)

Definition at line 94 of file MergeProcess.tcc.

References terry::subimage_view(), OfxPointI::x, OfxRectI::x1, OfxRectI::x2, OfxPointI::y, OfxRectI::y1, and OfxRectI::y2.

Referenced by tuttle::imageUtils::ImageTensors< View >::anisotropic_gradient(), tuttle::plugin::ocio::lut::OCIOLutProcess< View >::applyLut(), tuttle::plugin::ocio::colorspace::OCIOColorSpaceProcess< View >::applyLut(), tuttle::plugin::anisotropicFilter::diffusion::AnisotropicDiffusionProcess< View >::blur_anisotropic(), terry::detail_copy_channel::copy_channel_if_exist(), tuttle::imageUtils::deriche(), fillAroundIntersection(), terry::filter::floodFill::flood_fill_bruteForce(), tuttle::plugin::invert::InvertProcess< View >::invertGrayPixels(), tuttle::plugin::invert::InvertProcess< View >::invertRGBAPixels(), tuttle::plugin::invert::InvertProcess< View >::invertRGBPixels(), main(), tuttle::plugin::imagemagick::writer::ImageMagickWriterProcess< View >::multiThreadProcessImages(), tuttle::plugin::flip::FlipProcess< View >::multiThreadProcessImages(), tuttle::plugin::turboJpeg::writer::TurboJpegWriterProcess< View >::multiThreadProcessImages(), tuttle::plugin::crop::CropProcess< View >::multiThreadProcessImages(), tuttle::plugin::jpeg::writer::JpegWriterProcess< View >::multiThreadProcessImages(), tuttle::plugin::debugImageEffectApi::DebugImageEffectApiProcess< View >::multiThreadProcessImages(), tuttle::plugin::png::writer::PngWriterProcess< View >::multiThreadProcessImages(), tuttle::plugin::ctl::CTLProcess< View >::multiThreadProcessImages(), tuttle::plugin::fade::FadeProcess< View >::multiThreadProcessImages(), tuttle::plugin::openImageIO::writer::OpenImageIOWriterProcess< View >::multiThreadProcessImages(), tuttle::plugin::print::PrintProcess< View >::multiThreadProcessImages(), tuttle::plugin::pushPixel::PushPixelProcess< View >::multiThreadProcessImages(), layer::pattern< view_t >::operator()(), layer::aligned< view_t >::operator()(), and tuttle::plugin::normalize::NormalizeProcess< View >::processChannel().

Here is the call graph for this function:

template<class View >
void tuttle::plugin::merge::fillAroundIntersection ( const View &  viewA,
const OfxRectI srcAPixelRod,
const View &  viewB,
const OfxRectI srcBPixelRod,
const View &  dstView,
const OfxRectI dstPixelRod,
const OfxRectI procWindowRoW 
)
Todo:
tuttle: fill only the good regions add color choice?
Todo:
tuttle: fill only the good regions
Todo:
tuttle: fill only the good regions

Definition at line 115 of file MergeProcess.tcc.

References copy_pixels(), fill_pixels(), tuttle::rectangleContainsAnother(), tuttle::rectanglesIntersection(), and tuttle::translateRegion().

Referenced by tuttle::plugin::merge::MergeProcess< View, Functor >::multiThreadProcessImages().

Here is the call graph for this function:

template<class View >
void tuttle::plugin::merge::fillAroundIntersection ( const View &  viewA,
const OfxRectI srcAPixelRod,
const OfxRectI srcBPixelRod,
const View &  dstView,
const OfxRectI dstPixelRod,
const OfxRectI procWindowRoW 
)
Todo:
tuttle: fill only the good regions

Definition at line 212 of file MergeProcess.tcc.

References copy_pixels(), and tuttle::translateRegion().

Here is the call graph for this function:

tuttle::plugin::merge::mDeclarePluginFactory ( MergePluginFactory  )

Variable Documentation

const std::string tuttle::plugin::merge::kParamFunction = "mergingFunction" [static]
const std::string tuttle::plugin::merge::kParamFunctionLabel = "Merging function" [static]

Definition at line 14 of file MergeDefinitions.hpp.

const std::string tuttle::plugin::merge::kParamOffsetA = "offsetA" [static]
const std::string tuttle::plugin::merge::kParamOffsetB = "offsetB" [static]
const std::string tuttle::plugin::merge::kParamRod = "rod" [static]
const std::string tuttle::plugin::merge::kParamRodA = "A" [static]

Definition at line 22 of file MergeDefinitions.hpp.

const std::string tuttle::plugin::merge::kParamRodB = "B" [static]

Definition at line 23 of file MergeDefinitions.hpp.

const std::string tuttle::plugin::merge::kParamRodIntersect = "intersection" [static]

Definition at line 20 of file MergeDefinitions.hpp.

const std::string tuttle::plugin::merge::kParamRodUnion = "union" [static]

Definition at line 21 of file MergeDefinitions.hpp.

const std::string tuttle::plugin::merge::kParamSourceA = "A" [static]
const std::string tuttle::plugin::merge::kParamSourceB = "B" [static]
const bool tuttle::plugin::merge::kSupportTiles = false [static]

Definition at line 10 of file MergePluginFactory.hpp.