Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00026 #ifndef __vtkKWEPaintbrushBlend_h
00027 #define __vtkKWEPaintbrushBlend_h
00028
00029 #include "VTKEdgeConfigure.h"
00030 #include "vtkThreadedImageAlgorithm.h"
00031 #include <vtkstd/map>
00032
00033 class vtkImageStencilData;
00034 class vtkKWEPaintbrushDrawing;
00035 class vtkKWEPaintbrushBlendColors;
00036
00037 class VTKEdge_WIDGETS_EXPORT vtkKWEPaintbrushBlend : public vtkThreadedImageAlgorithm
00038 {
00039 public:
00040 static vtkKWEPaintbrushBlend *New();
00041 vtkTypeRevisionMacro(vtkKWEPaintbrushBlend,vtkThreadedImageAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045
00046 vtkSetClampMacro(Opacity,double,0.0,1.0);
00047 vtkGetMacro(Opacity,double);
00049
00056 virtual void SetPaintbrushDrawing(vtkKWEPaintbrushDrawing *);
00057 vtkKWEPaintbrushDrawing * GetPaintbrushDrawing();
00059
00061
00066 vtkSetMacro( UseOverlay, int );
00067 vtkGetMacro( UseOverlay, int );
00068 vtkBooleanMacro( UseOverlay, int );
00070
00071 protected:
00072 vtkKWEPaintbrushBlend();
00073 ~vtkKWEPaintbrushBlend();
00074
00075 virtual int RequestUpdateExtent(vtkInformation *,
00076 vtkInformationVector **,
00077 vtkInformationVector *);
00078
00079 void ThreadedRequestData (vtkInformation* request,
00080 vtkInformationVector** inputVector,
00081 vtkInformationVector* outputVector,
00082 vtkImageData ***inData, vtkImageData **outData,
00083 int ext[6], int id);
00084
00085
00086 virtual int FillInputPortInformation(int, vtkInformation*);
00087
00088
00089 virtual int RequestData(vtkInformation* request,
00090 vtkInformationVector** inputVector,
00091 vtkInformationVector* outputVector);
00092
00093 double Opacity;
00094 int UseOverlay;
00095
00096 private:
00097 vtkKWEPaintbrushBlend(const vtkKWEPaintbrushBlend&);
00098 void operator=(const vtkKWEPaintbrushBlend&);
00099
00100 };
00101
00102 #endif
00103