VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSurfaceLICPainter.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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 //BTX 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 // Unit is a pixel length. 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&); // Not implemented. 00157 void operator=(const vtkSurfaceLICPainter&); // Not implemented. 00158 00159 vtkDataObject* Output; 00160 class vtkInternals; 00161 vtkInternals* Internals; 00162 //ETX 00163 }; 00164 00165 #endif