vtkCinemaLayerMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkCinemaLayerMapper.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
28 #ifndef vtkCinemaLayerMapper_h
29 #define vtkCinemaLayerMapper_h
30 
31 #include "vtkMapper2D.h"
32 
33 #include "vtkNew.h" // for vtkNew
34 #include "vtkRemotingCinemaModule.h" // for export macros
35 #include "vtkSmartPointer.h" // for vtkSmartPointer
36 #include <string> // needed for std::string
37 #include <vector> // needed for std::vector
38 
39 class vtkImageData;
40 class vtkMatrix4x4;
41 class vtkScalarsToColors;
42 
43 class VTKREMOTINGCINEMA_EXPORT vtkCinemaLayerMapper : public vtkMapper2D
44 {
45 public:
46  static vtkCinemaLayerMapper* New();
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
54 
59  void RenderOverlay(vtkViewport*, vtkActor2D*) override;
60 
64  void ReleaseGraphicsResources(vtkWindow*) override;
65 
67 
70  vtkSetMacro(ScalarVisibility, bool);
71  vtkGetMacro(ScalarVisibility, bool);
72  vtkBooleanMacro(ScalarVisibility, bool);
74 
76 
79  void SetLookupTable(vtkScalarsToColors* lut);
80  vtkScalarsToColors* GetLookupTable() { return this->LookupTable; }
82 
86  vtkMTimeType GetMTime() override;
87 
89 
95  void SetLayers(const std::vector<vtkSmartPointer<vtkImageData> >& layers);
96  const std::vector<vtkSmartPointer<vtkImageData> >& GetLayers() const { return this->Layers; }
97  void ClearLayers();
99 
101 
105  void SetLayerProjectionMatrix(vtkMatrix4x4* projMat);
106  vtkMatrix4x4* GetLayerProjectionMatrix();
108 
110 
115  vtkSetVector3Macro(LayerCameraViewUp, double);
116  vtkGetVector3Macro(LayerCameraViewUp, double);
118 
128  vtkSetMacro(RenderLayersAsImage, bool);
129  vtkGetMacro(RenderLayersAsImage, bool);
130  vtkBooleanMacro(RenderLayersAsImage, bool);
131 
132 protected:
134  ~vtkCinemaLayerMapper() override;
135 
138 
142  std::vector<vtkSmartPointer<vtkImageData> > Layers;
144  double LayerCameraViewUp[3];
145 
147 
148 private:
150  void operator=(const vtkCinemaLayerMapper&) = delete;
151 
152  class vtkInternals;
153  vtkInternals* Internals;
155 };
156 
157 #endif
vtkScalarsToColors * GetLookupTable()
Specify a lookup table for the mapper to use.
vtkTimeStamp BuildTime
Mapper for Cinema layers.
virtual void RenderOverlay(vtkViewport *, vtkActor2D *)
virtual vtkMTimeType GetMTime()
vtkTypeUInt64 vtkMTimeType
void PrintSelf(ostream &os, vtkIndent indent)
virtual void ReleaseGraphicsResources(vtkWindow *)
std::vector< vtkSmartPointer< vtkImageData > > Layers
Keeps track of layers to render.
static vtkAlgorithm * New()
vtkScalarsToColors * LookupTable
virtual void RenderOpaqueGeometry(vtkViewport *, vtkActor2D *)
vtkNew< vtkMatrix4x4 > LayerProjectionMatrix
void operator=(const vtkObjectBase &)
const std::vector< vtkSmartPointer< vtkImageData > > & GetLayers() const
Set the layers to render currently.