Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

OFX::ImageEffect Class Reference

#include <ofxsImageEffect.h>

Inheritance diagram for OFX::ImageEffect:

OFX::ParamSet List of all members.

Detailed Description

Wraps up an effect instance, plugin implementations need to inherit from this.


Public Member Functions

 ImageEffect (OfxImageEffectHandle handle)
 ctor
virtual ~ImageEffect ()
 dtor
const PropertySetgetPropertySet () const
PropertySetgetPropertySet ()
OfxImageEffectHandle getHandle (void) const
ContextEnum getContext (void) const
 the context this effect was instantiate in
OfxPointD getProjectSize (void) const
 size of the project
OfxPointD getProjectOffset (void) const
 origin of the project
OfxPointD getProjectExtent (void) const
 extent of the project
double getProjectPixelAspectRatio (void) const
 pixel aspect ratio of the project
double getEffectDuration (void) const
 how long does the effect last
double getFrameRate (void) const
 the frame rate of the project
bool isInteractive (void) const
 is the instance currently being interacted with
void setSequentialRender (bool v)
 set the instance to be sequentially renderred, this should have been part of clip preferences!
bool getSequentialRender (void) const
 Have we informed the host we want to be seqentially renderred ?
OFX::Message::MessageReplyEnum sendMessage (OFX::Message::MessageTypeEnum type, const std::string &id, const std::string &msg)
ClipfetchClip (const std::string &name)
 Fetch the named clip from this instance.
bool abort (void) const
 does the host want us to abort rendering?
void addOverlayInteract (OverlayInteract *interact)
 adds a new interact to the set of interacts open on this effect
void removeOverlayInteract (OverlayInteract *interact)
 removes an interact to the set of interacts open on this effect
void redrawOverlays (void)
 force all overlays on this interact to be redrawn
virtual void purgeCaches (void)
 The purge caches action, a request for an instance to free up as much memory as possible in low memory situations.
virtual void syncPrivateData (void)
 The sync private data action, called when the effect needs to sync any private data to persistant parameters.
virtual void render (const RenderArguments &args)=0
 client render function, this is one of the few that must be overridden
virtual void beginSequenceRender (const BeginSequenceRenderArguments &args)
 client begin sequence render function
virtual void endSequenceRender (const EndSequenceRenderArguments &args)
 client end sequence render function, this is one of the few that must be set
virtual bool isIdentity (const RenderArguments &args, Clip *&identityClip, double &identityTime)
 client is identity function, returns the clip and time for the identity function
virtual bool getRegionOfDefinition (const RegionOfDefinitionArguments &args, OfxRectD &rod)
 The get RoD action.
virtual void getRegionsOfInterest (const RegionsOfInterestArguments &args, RegionOfInterestSetter &rois)
 the get RoI action
virtual void getFramesNeeded (const FramesNeededArguments &args, FramesNeededSetter &frames)
 the get frames needed action
virtual void getClipPreferences (ClipPreferencesSetter &clipPreferences)
 get the clip preferences
virtual void beginEdit (void)
 the effect is about to be actively edited by a user, called when the first user interface is opened on an instance
virtual void endEdit (void)
 the effect is no longer being edited by a user, called when the last user interface is closed on an instance
virtual void beginChanged (InstanceChangeReason reason)
 the effect is about to have some values changed
virtual void changedParam (const InstanceChangedArgs &args, const std::string &paramName)
 called when a param has just had its value changed
virtual void changedClip (const InstanceChangedArgs &args, const std::string &clipName)
 called when a clip has just been changed in some way (a rewire maybe)
virtual void endChanged (InstanceChangeReason reason)
 the effect has just had some values changed
virtual bool getTimeDomain (OfxRangeD &range)
 get the time domain
void progressStart (const std::string &message)
 Start doing progress.
void progressEnd ()
 finish yer progress
bool progressUpdate (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

Protected Member Functions

 mDeclareProtectedAssignAndCC (ImageEffect)

Friends

class ImageMemory
 to get access to the effect handle without exposing it generally via a function


Constructor & Destructor Documentation

OFX::ImageEffect::ImageEffect OfxImageEffectHandle  handle  ) 
 

ctor

OFX::ImageEffect::~ImageEffect  )  [virtual]
 

dtor


Member Function Documentation

bool OFX::ImageEffect::abort void   )  const
 

does the host want us to abort rendering?

void OFX::ImageEffect::addOverlayInteract OverlayInteract interact  ) 
 

adds a new interact to the set of interacts open on this effect

void OFX::ImageEffect::beginChanged InstanceChangeReason  reason  )  [virtual]
 

the effect is about to have some values changed

void OFX::ImageEffect::beginEdit void   )  [virtual]
 

the effect is about to be actively edited by a user, called when the first user interface is opened on an instance

void OFX::ImageEffect::beginSequenceRender const BeginSequenceRenderArguments args  )  [virtual]
 

client begin sequence render function

void OFX::ImageEffect::changedClip const InstanceChangedArgs args,
const std::string &  clipName
[virtual]
 

called when a clip has just been changed in some way (a rewire maybe)

void OFX::ImageEffect::changedParam const InstanceChangedArgs args,
const std::string &  paramName
[virtual]
 

called when a param has just had its value changed

void OFX::ImageEffect::endChanged InstanceChangeReason  reason  )  [virtual]
 

the effect has just had some values changed

void OFX::ImageEffect::endEdit void   )  [virtual]
 

the effect is no longer being edited by a user, called when the last user interface is closed on an instance

void OFX::ImageEffect::endSequenceRender const EndSequenceRenderArguments args  )  [virtual]
 

client end sequence render function, this is one of the few that must be set

Clip * OFX::ImageEffect::fetchClip const std::string &  name  ) 
 

Fetch the named clip from this instance.

The returned clip must not be deleted by the client code. This is all managed by the ImageEffect itself.

void OFX::ImageEffect::getClipPreferences ClipPreferencesSetter clipPreferences  )  [virtual]
 

get the clip preferences

ContextEnum OFX::ImageEffect::getContext void   )  const
 

the context this effect was instantiate in

double OFX::ImageEffect::getEffectDuration void   )  const
 

how long does the effect last

double OFX::ImageEffect::getFrameRate void   )  const
 

the frame rate of the project

void OFX::ImageEffect::getFramesNeeded const FramesNeededArguments args,
FramesNeededSetter frames
[virtual]
 

the get frames needed action

If the effect wants change the frames needed on an input clip from the default values (which is the same as the frame to be renderred) it should do so by calling the OFX::FramesNeededSetter::setFramesNeeded function on the frames argument.

OfxImageEffectHandle OFX::ImageEffect::getHandle void   )  const [inline]
 

OfxPointD OFX::ImageEffect::getProjectExtent void   )  const
 

extent of the project

OfxPointD OFX::ImageEffect::getProjectOffset void   )  const
 

origin of the project

double OFX::ImageEffect::getProjectPixelAspectRatio void   )  const
 

pixel aspect ratio of the project

OfxPointD OFX::ImageEffect::getProjectSize void   )  const
 

size of the project

PropertySet& OFX::ImageEffect::getPropertySet  )  [inline]
 

const PropertySet& OFX::ImageEffect::getPropertySet  )  const [inline]
 

bool OFX::ImageEffect::getRegionOfDefinition const RegionOfDefinitionArguments args,
OfxRectD &  rod
[virtual]
 

The get RoD action.

If the effect wants change the rod from the default value (which is the union of RoD's of all input clips) it should set the rod argument and return true.

This is all in cannonical coordinates.

void OFX::ImageEffect::getRegionsOfInterest const RegionsOfInterestArguments args,
RegionOfInterestSetter rois
[virtual]
 

the get RoI action

If the effect wants change its region of interest on any input clip from the default values (which is the same as the RoI in the arguments) it should do so by calling the OFX::RegionOfInterestSetter::setRegionOfInterest function on the rois argument.

Note, everything is in cannonical coordinates.

bool OFX::ImageEffect::getSequentialRender void   )  const
 

Have we informed the host we want to be seqentially renderred ?

bool OFX::ImageEffect::getTimeDomain OfxRangeD &  range  )  [virtual]
 

get the time domain

return true is range was set, otherwise the default (the union of the time domain of all input clips) is used

bool OFX::ImageEffect::isIdentity const RenderArguments args,
Clip *&  identityClip,
double &  identityTime
[virtual]
 

client is identity function, returns the clip and time for the identity function

If the effect would do no processing for the given param set and render arguments, then this function should return true and set the identityClip pointer to point to the clip that is the identity and identityTime to be the time at which to access the clip for the identity operation.

bool OFX::ImageEffect::isInteractive void   )  const
 

is the instance currently being interacted with

OFX::ImageEffect::mDeclareProtectedAssignAndCC ImageEffect   )  [protected]
 

void OFX::ImageEffect::progressEnd  ) 
 

finish yer progress

void OFX::ImageEffect::progressStart const std::string &  message  ) 
 

Start doing progress.

bool OFX::ImageEffect::progressUpdate double  t  ) 
 

set the progress to some level of completion, returns false if you should abandon processing, true to continue

void OFX::ImageEffect::purgeCaches void   )  [virtual]
 

The purge caches action, a request for an instance to free up as much memory as possible in low memory situations.

void OFX::ImageEffect::redrawOverlays void   ) 
 

force all overlays on this interact to be redrawn

void OFX::ImageEffect::removeOverlayInteract OverlayInteract interact  ) 
 

removes an interact to the set of interacts open on this effect

virtual void OFX::ImageEffect::render const RenderArguments args  )  [pure virtual]
 

client render function, this is one of the few that must be overridden

OFX::Message::MessageReplyEnum OFX::ImageEffect::sendMessage OFX::Message::MessageTypeEnum  type,
const std::string &  id,
const std::string &  msg
 

void OFX::ImageEffect::setSequentialRender bool  v  ) 
 

set the instance to be sequentially renderred, this should have been part of clip preferences!

void OFX::ImageEffect::syncPrivateData void   )  [virtual]
 

The sync private data action, called when the effect needs to sync any private data to persistant parameters.

void OFX::ImageEffect::timeLineGetBounds double &  t1,
double &  t2
 

get the first and last times available on the effect's timeline

double OFX::ImageEffect::timeLineGetTime  ) 
 

get the current time on the timeline. This is not necessarily the same time as being passed to an action (eg render)

void OFX::ImageEffect::timeLineGotoTime double  t  ) 
 

set the timeline to a specific time


Friends And Related Function Documentation

friend class ImageMemory [friend]
 

to get access to the effect handle without exposing it generally via a function


The documentation for this class was generated from the following files:
Generated on Thu Oct 9 13:03:49 2008 for OFX Support by  doxygen 1.3.9.1