VTK
vtkSurfaceLICPainter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSurfaceLICPainter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef __vtkSurfaceLICPainter_h
28 #define __vtkSurfaceLICPainter_h
29 
30 #include "vtkPainter.h"
31 
32 class vtkRenderWindow;
33 
35 {
36 public:
37  static vtkSurfaceLICPainter* New();
39  void PrintSelf(ostream& os, vtkIndent indent);
40 
44  virtual void ReleaseGraphicsResources(vtkWindow *);
45 
50  virtual vtkDataObject* GetOutput();
51 
53 
54  vtkSetMacro(Enable, int);
55  vtkGetMacro(Enable, int);
56  vtkBooleanMacro(Enable, int);
58 
60 
64  void SetInputArrayToProcess(int fieldAssociation, const char *name);
65  void SetInputArrayToProcess(int fieldAssociation, int fieldAttributeType);
67 
69 
75  vtkSetMacro( EnhancedLIC, int );
76  vtkGetMacro( EnhancedLIC, int );
77  vtkBooleanMacro( EnhancedLIC, int );
79 
81 
82  vtkSetMacro(NumberOfSteps, int);
83  vtkGetMacro(NumberOfSteps, int);
85 
87 
88  vtkSetMacro(StepSize, double);
89  vtkGetMacro(StepSize, double);
91 
93 
96  vtkSetClampMacro(LICIntensity, double, 0.0, 1.0);
97  vtkGetMacro(LICIntensity, double);
99 
101 
102  int GetRenderingPreparationSuccess()
103  { return this->RenderingPreparationSuccess; }
105 
107  int GetLICSuccess() { return this->LICSuccess; }
108 
110 
112  static bool IsSupported(vtkRenderWindow*);
113 //BTX
114 protected:
118 
120  void GetBounds(vtkDataObject* data, double bounds[6]);
121 
123  virtual void ReportReferences(vtkGarbageCollector *collector);
124 
129  virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
130 
132 
137  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
138  unsigned long typeflags, bool forceCompileOnly);
140 
142 
143  bool PrepareOutput();
144  bool FixTCoords(vtkDataSet* ds);
146 
148  bool CanRenderLIC(vtkRenderer*, vtkActor*);
149 
150  // Unit is a pixel length.
152  double StepSize;
153 
154  int Enable;
158  double LICIntensity;
159 
160 private:
161  vtkSurfaceLICPainter(const vtkSurfaceLICPainter&); // Not implemented.
162  void operator=(const vtkSurfaceLICPainter&); // Not implemented.
163 
164  vtkDataObject* Output;
165  class vtkInternals;
166  vtkInternals* Internals;
167 //ETX
168 };
169 
170 #endif