- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# ImageFilter.h

Go to the documentation of this file.

    00001 //**************************************************************************/
    00002 // Copyright (c) 2008 Autodesk, Inc.
    00003 // All rights reserved.
    00004 //
    00005 // Use of this software is subject to the terms of the Autodesk license
    00006 // agreement provided at the time of installation or download, or which
    00007 // otherwise accompanies this software in either electronic or hard copy form.
    00008 //
    00009 //**************************************************************************/
    00010 // DESCRIPTION:
    00011 // CREATED: September 2009
    00012 //**************************************************************************/
    00013
    00014 #if !defined IMAGE_FILTER_H_
    00015 #define IMAGE_FILTER_H_
    00016
    00017 namespace mudbox {
    00018
    00019 class Image;
    00020 class Texture;
    00021 class ImageFilter;
    00022
    00023 //------------------------------------------------------------------------------
    00045 class MBDLL_DECL ImageFilter : public Node
    00046 {
    00047     DECLARE_CLASS;
    00048
    00049 public:
    00050     enum FilterType {
    00051         kInvalid, kSpatial, kNonSpatial
    00052     };
    00053
    00054     enum Location {
    00055         kCPUMemory = 1, kGPUTexture = 2, kCPUorGPU = 3
    00056     };
    00057
    00058     // Lets try using the node attribites for the filter parameters...
    00059
    00060 protected:
    00061     ImageFilter( void );
    00062
    00063     FilterType  m_FilterType;
    00064     Location    m_LocationSupported;
    00065     QString     m_FilterName;
    00066
    00067 public:
    00068
    00070     FilterType getType() const              { return m_FilterType;         }
    00071     Location   getLocationSupported() const { return m_LocationSupported;  }
    00072
    00074     const QString  &getName() const { return m_FilterName; }
    00075
    00076     /* Hack to set the filter parameters... Imre, how can I get access to the attributes of a class
    00077     *  implemented in a plugin? Blur filter takes a single float. */
    00078     virtual void         setParameterBlock(void *parmBlock, int size);
    00079     virtual int          getParameterBlockSize() const;
    00080     virtual const void  *getParameterBlockPtr() const;
    00081
    00083     virtual void ProcessFilter(Image *src,   Image *dst);
    00084     virtual void ProcessFilter(Texture *src, Texture *dst);
    00085 };
    00086
    00087
    00088
    00089 //-
    00090 // ==================================================================
    00091 // (C) Copyright 2009 by Autodesk, Inc. All Rights Reserved. By using
    00092 // this code,  you  are  agreeing  to the terms and conditions of the
    00093 // License  Agreement  included  in  the documentation for this code.
    00094 // AUTODESK  MAKES  NO  WARRANTIES,  EXPRESS  OR  IMPLIED,  AS TO THE
    00095 // CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
    00096 // IT.  AUTODESK PROVIDES THE CODE ON AN 'AS-IS' BASIS AND EXPLICITLY
    00097 // DISCLAIMS  ANY  LIABILITY,  INCLUDING CONSEQUENTIAL AND INCIDENTAL
    00098 // DAMAGES  FOR ERRORS, OMISSIONS, AND  OTHER  PROBLEMS IN THE  CODE.
    00099 //
    00100 // Use, duplication,  or disclosure by the U.S. Government is subject
    00101 // to  restrictions  set forth  in FAR 52.227-19 (Commercial Computer
    00102 // Software Restricted Rights) as well as DFAR 252.227-7013(c)(1)(ii)
    00103 // (Rights  in Technical Data and Computer Software),  as applicable.
    00104 // ==================================================================
    00105 //+
    00106
    00107 #endif
    00108 //------------------------------------------------------------------------------
    00109
    00110 }; // end of namespace mudbox