ImageFilter Class Reference

#include <ImageFilter.h>

Class Description

This is the base image filter type defining the interface to image filters (blur, sharpen, dodge, burn, etc).

The filters themselves are implemented as plugins.

There are two differend kinds of image filters;

  • Spatial – These include any where the output pixel depends on any pixel other than the matching (x, y) source pixel. This includes convolutions, warps or other deformations, scaling rotation etc.
  • Non Spatial – where the output pixel depends only on its matching input pixel. Examples would include dodge, burn, lighten, darken, contrast, hue shift, invert, color curves, etc.

A filter plugin must be capable of handling processing where both the source and target images are in CPU memory.

It can optionaly support processing with both the source and target in textures. If it supports textures, AND Mudbox has the images in textures, it will be called upon to do the work there, otherwise it will be in a physically contiguous image in memory.

Definition at line 45 of file ImageFilter.h.

+ Inheritance diagram for ImageFilter:

Public Types

enum  FilterType { kInvalid, kSpatial, kNonSpatial }
 
enum  Location { kCPUMemory = 1, kGPUTexture = 2, kCPUorGPU = 3 }
 
- Public Types inherited from Node
enum  DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 }
 Indicates the level of validity checking that is performed in CheckValidity() More...
 

Public Member Functions

FilterType getType () const
 Get the filter type – spatial or not spatial. More...
 
Location getLocationSupported () const
 
const QStringgetName () const
 return the filter name. More...
 
virtual void setParameterBlock (void *parmBlock, int size)
 
virtual int getParameterBlockSize () const
 
virtual const voidgetParameterBlockPtr () const
 
virtual void ProcessFilter (Image *src, Image *dst)
 The ProcessFilter API creates the contents of the destination Image or Texture. More...
 
virtual void ProcessFilter (Texture *src, Texture *dst)
 
- Public Member Functions inherited from Node
 Node (const QString &sStringID="", const QString &sDisplayName="")
 Standard constructor. More...
 
virtual ~Node (void)
 
virtual void Initialize (void)
 
void LoadTemplate (const QString &sFileName="", bool bStartEvent=false)
 Use an external XML file to initialize the attributes. More...
 
void SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false)
 Save current attributes as an XML template. More...
 
unsigned int Version (void) const
 Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called). More...
 
void SetVersion (unsigned int iVersion)
 Sets the current version number for the node. More...
 
unsigned int ReferenceCount (void) const
 Returns the number of pointers referencing this node. More...
 
AttributeReferencePointer (unsigned int iIndex) const
 Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More...
 
NodeReferenceNode (unsigned int iIndex) const
 Returns the address of a node referencing this node. More...
 
virtual QString Name (const ClassDesc *pClass=0) const
 Deprecated. More...
 
virtual void SetName (const QString &sName)
 Deprecated. More...
 
virtual QString StringID (const ClassDesc *pClass=0) const
 Returns the string id of the node. More...
 
virtual void SetStringID (const QString &sStringID)
 Sets the string id of the node. More...
 
virtual QString DisplayName (void) const
 Returns the display name of the node. More...
 
virtual void SetDisplayName (const QString &sDisplayName)
 Sets the display name of the node. More...
 
virtual QString HelpID (void) const
 Returns the help entry id of the node. Can be overwritten in derived classes. More...
 
virtual void SetHelpID (const QString &sHelpID)
 Sets the help entry id of the node. More...
 
void Annex (Node *pSource, const QString &sCategory="")
 Relink all the attributes of the source node to this one. More...
 
virtual void Serialize (Stream &s)
 Serializes the node. More...
 
bool IsKindOf (const ClassDesc *pClass) const
 Returns true if this node is derived from the pClass class. More...
 
void ContentChanged (void) const
 This function must be called if the content of the node is changed. More...
 
virtual void CheckValidity (DiagnosticLevel iLevel=dgnLevel2) const
 Checks the validity of this node. More...
 
virtual void CopyTo (Node *pNode) const
 
virtual NodeDuplicate (void) const
 
virtual void OnNodeEvent (const Attribute &cAttribute, NodeEventType cType)
 This function is called if an event occurs with any of the attributes of the node. More...
 
virtual void OnEvent (const EventGate &cEvent)
 This function is called when a generic event occurs. See EventGate class. More...
 
void RequestDeferredEvent (Attribute &cAttribute)
 Request for a deferred event, which will occur only in the main loop. More...
 
unsigned int AttributeCount (void) const
 Returns the number of attributes owned by the node. More...
 
AttributeAttributeByIndex (int iIndex) const
 Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More...
 
AttributeAttributeByName (const QString &sName) const
 Returns a specified attribute by its name. Returns 0 if the attribute not found. More...
 
AttributeAttributeByID (const QString &sID) const
 Returns a specified attribute by its ID. Returns 0 if the attribute not found. More...
 
void SetAttributeValue (const QString &sAttributeID, const QString &sNewValue)
 Set the value of an attribute from a string. More...
 
QString AttributeValue (const QString &sAttributeID) const
 Returns the current value of an attribute as a string. More...
 
void LogAttributes (void) const
 Write all attributes into the log file. More...
 
virtual QWidgetCreatePropertiesWindow (QWidget *pParent)
 Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More...
 
AttributeAddAttribute (Attribute::AttributeType type, const QString &id)
 Allows SDK users to add attributes at runtime. More...
 
NodeNext (void) const
 Returns the next node in the chain. Used to enumerate the current nodes. See also First(). More...
 
int ID (void) const
 Returns an ID for the node. The ID is unique in the whole application life. More...
 
bool SetID (int iID)
 Set ID for the node. More...
 

Protected Member Functions

 ImageFilter (void)
 

Protected Attributes

FilterType m_FilterType
 
Location m_LocationSupported
 
QString m_FilterName
 

Additional Inherited Members

- Static Public Member Functions inherited from Node
static void StartHashing ()
 This is called once in main once static ctors are done. More...
 
static NodeFirst (void)
 This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More...
 
static NodeByID (int iID)
 Returns the node with the specified ID, or zero if such a node does not exists. More...
 
static NodeByName (const QString &sClass, const QString &sName)
 Search for a node with the name sName. More...
 
- Public Attributes inherited from Node
AttributeThisPointer m_pThis
 
 DECLARE_CLASS
 

Member Enumeration Documentation

enum FilterType
Enumerator
kInvalid 
kSpatial 
kNonSpatial 

Definition at line 50 of file ImageFilter.h.

enum Location
Enumerator
kCPUMemory 
kGPUTexture 
kCPUorGPU 

Definition at line 54 of file ImageFilter.h.

Constructor & Destructor Documentation

ImageFilter ( void  )
protected

Member Function Documentation

FilterType getType ( ) const
inline

Get the filter type – spatial or not spatial.

Definition at line 70 of file ImageFilter.h.

70 { return m_FilterType; }
FilterType m_FilterType
Definition: ImageFilter.h:63
Location getLocationSupported ( ) const
inline

Definition at line 71 of file ImageFilter.h.

71 { return m_LocationSupported; }
Location m_LocationSupported
Definition: ImageFilter.h:64
const QString& getName ( ) const
inline

return the filter name.

eg "Blur" or "Dodge", etc.

Definition at line 74 of file ImageFilter.h.

74 { return m_FilterName; }
virtual void setParameterBlock ( void parmBlock,
int  size 
)
virtual
virtual int getParameterBlockSize ( ) const
virtual
virtual const void* getParameterBlockPtr ( ) const
virtual
virtual void ProcessFilter ( Image src,
Image dst 
)
virtual

The ProcessFilter API creates the contents of the destination Image or Texture.

virtual void ProcessFilter ( Texture src,
Texture dst 
)
virtual

Member Data Documentation

FilterType m_FilterType
protected

Definition at line 63 of file ImageFilter.h.

Location m_LocationSupported
protected

Definition at line 64 of file ImageFilter.h.

QString m_FilterName
protected

Definition at line 65 of file ImageFilter.h.


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