VTK
vtkCompositePainter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCompositePainter.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 =========================================================================*/
24 #ifndef vtkCompositePainter_h
25 #define vtkCompositePainter_h
26 
27 #include "vtkRenderingOpenGLModule.h" // For export macro
28 #include "vtkPainter.h"
29 #include "vtkColor.h" // needed for vtkColor3d
30 #include <stack> // needed for RenderBlockState.
31 
34 class vtkProperty;
35 class vtkRenderWindow;
36 
38 {
39 public:
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
47 
51 
53 
57  vtkGetObjectMacro(CompositeDataDisplayAttributes, vtkCompositeDataDisplayAttributes)
59 
60 //BTX
61 protected:
64 
66  virtual void ReportReferences(vtkGarbageCollector *collector);
67 
70  virtual void ProcessInformation(vtkInformation* information);
71 
73 
78  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
79  unsigned long typeflags, bool forceCompileOnly);
81 
83  {
84  public:
85  std::stack<bool> Visibility;
86  std::stack<double> Opacity;
87  std::stack<vtkColor3d> AmbientColor;
88  std::stack<vtkColor3d> DiffuseColor;
89  std::stack<vtkColor3d> SpecularColor;
90 
95  };
96 
97  void RenderBlock(vtkRenderer *renderer,
98  vtkActor *actor,
99  unsigned long typeflags,
100  bool forceCompileOnly,
101  vtkDataObject *dobj,
102  unsigned int &flat_index,
103  RenderBlockState &state);
104 
106 
107  virtual void UpdateRenderingState(
110 
113 private:
114  vtkCompositePainter(const vtkCompositePainter&); // Not implemented.
115  void operator=(const vtkCompositePainter&); // Not implemented.
116 //ETX
117 };
118 
119 #endif
vtkCompositePainter
painter that can be inserted before any vtkDataSet painting chain to handle composite datasets.
Definition: vtkCompositePainter.h:38
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkCompositePainter::SetCompositeDataDisplayAttributes
void SetCompositeDataDisplayAttributes(vtkCompositeDataDisplayAttributes *attributes)
vtkCompositePainter::RenderBlockState::RenderedDiffuseColor
vtkColor3d RenderedDiffuseColor
Definition: vtkCompositePainter.h:93
vtkCompositePainter::RenderBlock
void RenderBlock(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly, vtkDataObject *dobj, unsigned int &flat_index, RenderBlockState &state)
vtkCompositePainter::RenderBlockState::Opacity
std::stack< double > Opacity
Definition: vtkCompositePainter.h:86
vtkCompositePainter::ProcessInformation
virtual void ProcessInformation(vtkInformation *information)
vtkRenderingOpenGLModule.h
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkCompositePainter::UpdateRenderingState
virtual void UpdateRenderingState(vtkRenderWindow *, vtkProperty *, RenderBlockState &)
Definition: vtkCompositePainter.h:107
vtkCompositePainter::ReportReferences
virtual void ReportReferences(vtkGarbageCollector *collector)
vtkCompositePainter::GetOutput
virtual vtkDataObject * GetOutput()
vtkCompositePainter::RenderBlockState::RenderedSpecularColor
vtkColor3d RenderedSpecularColor
Definition: vtkCompositePainter.h:94
vtkCompositePainter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkCompositeDataDisplayAttributes
rendering attributes for a multi-block dataset.
Definition: vtkCompositeDataDisplayAttributes.h:36
vtkCompositePainter::~vtkCompositePainter
~vtkCompositePainter()
vtkCompositePainter::RenderBlockState::DiffuseColor
std::stack< vtkColor3d > DiffuseColor
Definition: vtkCompositePainter.h:88
vtkCompositePainter::RenderBlockState::Visibility
std::stack< bool > Visibility
Definition: vtkCompositePainter.h:85
vtkColor.h
vtkInformationObjectBaseKey
Key for vtkObjectBase values.
Definition: vtkInformationObjectBaseKey.h:33
vtkCompositePainter::RenderInternal
virtual void RenderInternal(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
vtkCompositePainter::RenderBlockState::SpecularColor
std::stack< vtkColor3d > SpecularColor
Definition: vtkCompositePainter.h:89
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCompositePainter::New
static vtkCompositePainter * New()
vtkPainter
Abstract class for drawing poly data.
Definition: vtkPainter.h:64
vtkCompositePainter::DISPLAY_ATTRIBUTES
static vtkInformationObjectBaseKey * DISPLAY_ATTRIBUTES()
vtkPainter.h
vtkGarbageCollector
Detect and break reference loops.
Definition: vtkGarbageCollector.h:99
vtkCompositePainter::OutputData
vtkDataObject * OutputData
Definition: vtkCompositePainter.h:111
vtkCompositePainter::RenderBlockState::AmbientColor
std::stack< vtkColor3d > AmbientColor
Definition: vtkCompositePainter.h:87
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkCompositePainter::vtkCompositePainter
vtkCompositePainter()
vtkColor3d
Definition: vtkColor.h:200
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkCompositePainter::RenderBlockState::RenderedOpacity
double RenderedOpacity
Definition: vtkCompositePainter.h:91
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:64
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:89
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkCompositePainter::RenderBlockState
Definition: vtkCompositePainter.h:83
vtkCompositePainter::RenderBlockState::RenderedAmbientColor
vtkColor3d RenderedAmbientColor
Definition: vtkCompositePainter.h:92
vtkCompositePainter::CompositeDataDisplayAttributes
vtkCompositeDataDisplayAttributes * CompositeDataDisplayAttributes
Definition: vtkCompositePainter.h:112
VTKRENDERINGOPENGL_EXPORT
#define VTKRENDERINGOPENGL_EXPORT
Definition: vtkRenderingOpenGLModule.h:15