VTK
vtkDefaultPainter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDefaultPainter.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 =========================================================================*/
32 #ifndef vtkDefaultPainter_h
33 #define vtkDefaultPainter_h
34 
35 #include "vtkRenderingOpenGLModule.h" // For export macro
36 #include "vtkPainter.h"
37 
42 class vtkLightingPainter;
45 
47 {
48 public:
49  static vtkDefaultPainter *New();
50  vtkTypeMacro(vtkDefaultPainter, vtkPainter);
51  virtual void PrintSelf(ostream &os, vtkIndent indent);
52 
54 
55  void SetScalarsToColorsPainter(vtkScalarsToColorsPainter*);
56  vtkGetObjectMacro(ScalarsToColorsPainter, vtkScalarsToColorsPainter);
58 
60 
61  void SetClipPlanesPainter(vtkClipPlanesPainter*);
62  vtkGetObjectMacro(ClipPlanesPainter, vtkClipPlanesPainter);
64 
66 
67  void SetDisplayListPainter(vtkDisplayListPainter*);
68  vtkGetObjectMacro(DisplayListPainter, vtkDisplayListPainter);
70 
72 
73  void SetCompositePainter(vtkCompositePainter*);
74  vtkGetObjectMacro(CompositePainter, vtkCompositePainter);
76 
78 
79  void SetCoincidentTopologyResolutionPainter(
81  vtkGetObjectMacro(CoincidentTopologyResolutionPainter,
84 
86 
87  void SetLightingPainter(vtkLightingPainter*);
88  vtkGetObjectMacro(LightingPainter, vtkLightingPainter);
90 
92 
93  void SetRepresentationPainter(vtkRepresentationPainter*);
94  vtkGetObjectMacro(RepresentationPainter, vtkRepresentationPainter);
96 
98 
101  virtual void SetDelegatePainter(vtkPainter*);
102  virtual vtkPainter* GetDelegatePainter() { return this->DefaultPainterDelegate; }
104 
106 
111  virtual void Render(vtkRenderer* renderer, vtkActor* actor,
112  unsigned long typeflags, bool forceCompileOnly);
114 
119  virtual void ReleaseGraphicsResources(vtkWindow *);
120 
124  void UpdateBounds(double bounds[6]);
125 
126 protected:
129 
131  virtual void BuildPainterChain();
132 
134  virtual void ReportReferences(vtkGarbageCollector *collector);
135 
144 
146  void SetDefaultPainterDelegate(vtkPainter*);
147 
148 private:
149  vtkDefaultPainter(const vtkDefaultPainter &); // Not implemented
150  void operator=(const vtkDefaultPainter &); // Not implemented
151 };
152 
153 #endif //_vtkDefaultPainter_h
vtkPainter * DefaultPainterDelegate
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
painter that can be inserted before any vtkDataSet painting chain to handle composite datasets...
vtkClipPlanesPainter * ClipPlanesPainter
virtual void ReportReferences(vtkGarbageCollector *collector)
record modification and/or execution time
Definition: vtkTimeStamp.h:34
abstract class defining interface for painter that manages clipping.
virtual vtkPainter * GetDelegatePainter()
abstract specification for renderers
Definition: vtkRenderer.h:63
virtual void ReleaseGraphicsResources(vtkWindow *)
Detect and break reference loops.
virtual void SetDelegatePainter(vtkPainter *)
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
vtkDisplayListPainter * DisplayListPainter
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKRENDERINGOPENGL_EXPORT
abstract class defining interface for painter that can handle lightin.
abstract superclass for painter that builds/uses display lists.
painter that converts scalars to colors. It enable/disables coloring state depending on the ScalarMod...
Abstract class for drawing poly data.
Definition: vtkPainter.h:63
vtkScalarsToColorsPainter * ScalarsToColorsPainter
sets up a default chain of painters.
painter that handles representation.
vtkCompositePainter * CompositePainter
vtkLightingPainter * LightingPainter
vtkCoincidentTopologyResolutionPainter * CoincidentTopologyResolutionPainter
virtual void UpdateBounds(double bounds[6])
virtual void Render(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
static vtkObject * New()
painter that resolves conicident topology.
vtkRepresentationPainter * RepresentationPainter
vtkTimeStamp ChainBuildTime
virtual void PrintSelf(ostream &os, vtkIndent indent)