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 =========================================================================*/
33 #ifndef vtkDefaultPainter_h
34 #define vtkDefaultPainter_h
35 
36 #include "vtkRenderingOpenGLModule.h" // For export macro
37 #include "vtkPainter.h"
38 
43 class vtkLightingPainter;
46 
47 class VTKRENDERINGOPENGL_EXPORT vtkDefaultPainter : public vtkPainter
48 {
49 public:
50  static vtkDefaultPainter *New();
51  vtkTypeMacro(vtkDefaultPainter, vtkPainter);
52  virtual void PrintSelf(ostream &os, vtkIndent indent);
53 
55 
58  void SetScalarsToColorsPainter(vtkScalarsToColorsPainter*);
59  vtkGetObjectMacro(ScalarsToColorsPainter, vtkScalarsToColorsPainter);
61 
63 
66  void SetClipPlanesPainter(vtkClipPlanesPainter*);
67  vtkGetObjectMacro(ClipPlanesPainter, vtkClipPlanesPainter);
69 
71 
74  void SetDisplayListPainter(vtkDisplayListPainter*);
75  vtkGetObjectMacro(DisplayListPainter, vtkDisplayListPainter);
77 
79 
82  void SetCompositePainter(vtkCompositePainter*);
83  vtkGetObjectMacro(CompositePainter, vtkCompositePainter);
85 
87 
90  void SetCoincidentTopologyResolutionPainter(
92  vtkGetObjectMacro(CoincidentTopologyResolutionPainter,
95 
97 
100  void SetLightingPainter(vtkLightingPainter*);
101  vtkGetObjectMacro(LightingPainter, vtkLightingPainter);
103 
105 
108  void SetRepresentationPainter(vtkRepresentationPainter*);
109  vtkGetObjectMacro(RepresentationPainter, vtkRepresentationPainter);
111 
117  virtual void SetDelegatePainter(vtkPainter*);
118  virtual vtkPainter* GetDelegatePainter() { return this->DefaultPainterDelegate; }
119 
128  virtual void Render(vtkRenderer* renderer, vtkActor* actor,
129  unsigned long typeflags, bool forceCompileOnly);
130 
137  virtual void ReleaseGraphicsResources(vtkWindow *);
138 
144  void UpdateBounds(double bounds[6]);
145 
146 protected:
149 
153  virtual void BuildPainterChain();
154 
158  void ReportReferences(vtkGarbageCollector *collector) VTK_OVERRIDE;
159 
168 
170  void SetDefaultPainterDelegate(vtkPainter*);
171 
172 private:
173  vtkDefaultPainter(const vtkDefaultPainter &) VTK_DELETE_FUNCTION;
174  void operator=(const vtkDefaultPainter &) VTK_DELETE_FUNCTION;
175 };
176 
177 #endif //_vtkDefaultPainter_h
vtkPainter * DefaultPainterDelegate
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
painter that can be inserted before any vtkDataSet painting chain to handle composite datasets...
vtkClipPlanesPainter * ClipPlanesPainter
record modification and/or execution time
Definition: vtkTimeStamp.h:35
abstract class defining interface for painter that manages clipping.
virtual vtkPainter * GetDelegatePainter()
Set/Get the painter to which this painter should propagare its draw calls.
abstract specification for renderers
Definition: vtkRenderer.h:63
virtual void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this painter.
Detect and break reference loops.
virtual void SetDelegatePainter(vtkPainter *)
Set/Get the painter to which this painter should propagare its draw calls.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
void ReportReferences(vtkGarbageCollector *collector) override
Take part in garbage collection.
vtkDisplayListPainter * DisplayListPainter
a simple class to control print indentation
Definition: vtkIndent.h:39
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.
Abstract class for drawing poly data.
Definition: vtkPainter.h:61
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])
Expand or shrink the estimated bounds of the object based on the geometric transformations performed ...
virtual void Render(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
Generates rendering primitives of appropriate type(s).
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
painter that resolves conicident topology.
vtkRepresentationPainter * RepresentationPainter
vtkTimeStamp ChainBuildTime
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.