00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkSurfaceLICPainter_h
00031 #define __vtkSurfaceLICPainter_h
00032
00033 #include "vtkPolyDataPainter.h"
00034
00035 class vtkRenderWindow;
00036
00037 class VTK_RENDERING_EXPORT vtkSurfaceLICPainter : public vtkPolyDataPainter
00038 {
00039 public:
00040 static vtkSurfaceLICPainter* New();
00041 vtkTypeMacro(vtkSurfaceLICPainter, vtkPolyDataPainter);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00047 virtual void ReleaseGraphicsResources(vtkWindow *);
00048
00053 virtual vtkDataObject* GetOutput();
00054
00056
00057 vtkSetMacro(Enable, int);
00058 vtkGetMacro(Enable, int);
00059 vtkBooleanMacro(Enable, int);
00061
00063
00067 void SetInputArrayToProcess(int fieldAssociation, const char *name);
00068 void SetInputArrayToProcess(int fieldAssociation, int fieldAttributeType);
00070
00072
00078 vtkSetMacro( EnhancedLIC, int );
00079 vtkGetMacro( EnhancedLIC, int );
00080 vtkBooleanMacro( EnhancedLIC, int );
00082
00084
00085 vtkSetMacro(NumberOfSteps, int);
00086 vtkGetMacro(NumberOfSteps, int);
00088
00090
00091 vtkSetMacro(StepSize, double);
00092 vtkGetMacro(StepSize, double);
00094
00096
00099 vtkSetClampMacro(LICIntensity, double, 0.0, 1.0);
00100 vtkGetMacro(LICIntensity, double);
00102
00104
00105 int GetRenderingPreparationSuccess()
00106 { return this->RenderingPreparationSuccess; }
00108
00110 int GetLICSuccess() { return this->LICSuccess; }
00111
00114 static bool IsSupported(vtkRenderWindow*);
00115
00116 protected:
00117 vtkSurfaceLICPainter();
00118 ~vtkSurfaceLICPainter();
00119
00121 virtual void ReportReferences(vtkGarbageCollector *collector);
00122
00127 virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
00128
00130
00135 virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
00136 unsigned long typeflags, bool forceCompileOnly);
00138
00140 bool PrepareOutput();
00141
00143 bool CanRenderLIC(vtkRenderer*, vtkActor*);
00144
00145
00146 int NumberOfSteps;
00147 double StepSize;
00148
00149 int Enable;
00150 int EnhancedLIC;
00151 int RenderingPreparationSuccess;
00152 int LICSuccess;
00153 double LICIntensity;
00154
00155 private:
00156 vtkSurfaceLICPainter(const vtkSurfaceLICPainter&);
00157 void operator=(const vtkSurfaceLICPainter&);
00158
00159 vtkDataObject* Output;
00160 class vtkInternals;
00161 vtkInternals* Internals;
00162
00163 };
00164
00165 #endif