00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkSurfaceLICPainter_h
00028 #define __vtkSurfaceLICPainter_h
00029
00030 #include "vtkPainter.h"
00031
00032 class vtkRenderWindow;
00033
00034 class VTK_RENDERING_EXPORT vtkSurfaceLICPainter : public vtkPainter
00035 {
00036 public:
00037 static vtkSurfaceLICPainter* New();
00038 vtkTypeMacro(vtkSurfaceLICPainter, vtkPainter);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00044 virtual void ReleaseGraphicsResources(vtkWindow *);
00045
00050 virtual vtkDataObject* GetOutput();
00051
00053
00054 vtkSetMacro(Enable, int);
00055 vtkGetMacro(Enable, int);
00056 vtkBooleanMacro(Enable, int);
00058
00060
00064 void SetInputArrayToProcess(int fieldAssociation, const char *name);
00065 void SetInputArrayToProcess(int fieldAssociation, int fieldAttributeType);
00067
00069
00075 vtkSetMacro( EnhancedLIC, int );
00076 vtkGetMacro( EnhancedLIC, int );
00077 vtkBooleanMacro( EnhancedLIC, int );
00079
00081
00082 vtkSetMacro(NumberOfSteps, int);
00083 vtkGetMacro(NumberOfSteps, int);
00085
00087
00088 vtkSetMacro(StepSize, double);
00089 vtkGetMacro(StepSize, double);
00091
00093
00096 vtkSetClampMacro(LICIntensity, double, 0.0, 1.0);
00097 vtkGetMacro(LICIntensity, double);
00099
00101
00102 int GetRenderingPreparationSuccess()
00103 { return this->RenderingPreparationSuccess; }
00105
00107 int GetLICSuccess() { return this->LICSuccess; }
00108
00110
00112 static bool IsSupported(vtkRenderWindow*);
00113
00114 protected:
00115 vtkSurfaceLICPainter();
00116 ~vtkSurfaceLICPainter();
00118
00120 void GetBounds(vtkDataObject* data, double bounds[6]);
00121
00123 virtual void ReportReferences(vtkGarbageCollector *collector);
00124
00129 virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
00130
00132
00137 virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
00138 unsigned long typeflags, bool forceCompileOnly);
00140
00142
00143 bool PrepareOutput();
00144 bool FixTCoords(vtkDataSet* ds);
00146
00148 bool CanRenderLIC(vtkRenderer*, vtkActor*);
00149
00150
00151 int NumberOfSteps;
00152 double StepSize;
00153
00154 int Enable;
00155 int EnhancedLIC;
00156 int RenderingPreparationSuccess;
00157 int LICSuccess;
00158 double LICIntensity;
00159
00160 private:
00161 vtkSurfaceLICPainter(const vtkSurfaceLICPainter&);
00162 void operator=(const vtkSurfaceLICPainter&);
00163
00164 vtkDataObject* Output;
00165 class vtkInternals;
00166 vtkInternals* Internals;
00167
00168 };
00169
00170 #endif