Mudbox/ImageFilter.h Source File

ImageFilter.h
Go to the documentation of this file.
1 //**************************************************************************/
2 // Copyright (c) 2008 Autodesk, Inc.
3 // All rights reserved.
4 //
5 // Use of this software is subject to the terms of the Autodesk license
6 // agreement provided at the time of installation or download, or which
7 // otherwise accompanies this software in either electronic or hard copy form.
8 //
9 //**************************************************************************/
10 // DESCRIPTION:
11 // CREATED: September 2009
12 //**************************************************************************/
13 
14 #if !defined IMAGE_FILTER_H_
15 #define IMAGE_FILTER_H_
16 
17 namespace mudbox {
18 
19 class Image;
20 class Texture;
21 class ImageFilter;
22 
23 //------------------------------------------------------------------------------
45 class MBDLL_DECL ImageFilter : public Node
46 {
48 
49 public:
50  enum FilterType {
51  kInvalid, kSpatial, kNonSpatial
52  };
53 
54  enum Location {
55  kCPUMemory = 1, kGPUTexture = 2, kCPUorGPU = 3
56  };
57 
58  // Lets try using the node attribites for the filter parameters...
59 
60 protected:
61  ImageFilter( void );
62 
66 
67 public:
68 
70  FilterType getType() const { return m_FilterType; }
71  Location getLocationSupported() const { return m_LocationSupported; }
72 
74  const QString &getName() const { return m_FilterName; }
75 
76  /* Hack to set the filter parameters... Imre, how can I get access to the attributes of a class
77  * implemented in a plugin? Blur filter takes a single float. */
78  virtual void setParameterBlock(void *parmBlock, int size);
79  virtual int getParameterBlockSize() const;
80  virtual const void *getParameterBlockPtr() const;
81 
83  virtual void ProcessFilter(Image *src, Image *dst);
84  virtual void ProcessFilter(Texture *src, Texture *dst);
85 };
86 
87 
88 
89 //-
90 // ==================================================================
91 // (C) Copyright 2009 by Autodesk, Inc. All Rights Reserved. By using
92 // this code, you are agreeing to the terms and conditions of the
93 // License Agreement included in the documentation for this code.
94 // AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
95 // CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
96 // IT. AUTODESK PROVIDES THE CODE ON AN 'AS-IS' BASIS AND EXPLICITLY
97 // DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
98 // DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
99 //
100 // Use, duplication, or disclosure by the U.S. Government is subject
101 // to restrictions set forth in FAR 52.227-19 (Commercial Computer
102 // Software Restricted Rights) as well as DFAR 252.227-7013(c)(1)(ii)
103 // (Rights in Technical Data and Computer Software), as applicable.
104 // ==================================================================
105 //+
106 
107 #endif
108 //------------------------------------------------------------------------------
109 
110 }; // end of namespace mudbox
This is the base image filter type defining the interface to image filters (blur, sharpen...
Definition: ImageFilter.h:45
GLuint src
Definition: GLee.h:7190
This is the base class for most classes in the Mudbox SDK.
Definition: node.h:740
Location m_LocationSupported
Definition: ImageFilter.h:64
const QString & getName() const
return the filter name.
Definition: ImageFilter.h:74
Represents a texture tile inside a texture pool.
Definition: material.h:716
Class: ConvolutionKernel.
Definition: array.h:15
GLuint dst
Definition: GLee.h:6952
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
Definition: node.h:91
Location getLocationSupported() const
Definition: ImageFilter.h:71
FilterType getType() const
Get the filter type – spatial or not spatial.
Definition: ImageFilter.h:70
This is the base image type defining the interface to images.
Definition: image.h:1504
#define MBDLL_DECL
Definition: dllinterface.h:35
GLsizeiptr size
Definition: GLee.h:1561
FilterType m_FilterType
Definition: ImageFilter.h:63