VTK  9.3.20240418
vtkSurfaceLICMapper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
44 #ifndef vtkSurfaceLICMapper_h
45 #define vtkSurfaceLICMapper_h
46 
48 #include "vtkRenderingLICOpenGL2Module.h" // For export macro
49 
50 VTK_ABI_NAMESPACE_BEGIN
53 
54 class VTKRENDERINGLICOPENGL2_EXPORT vtkSurfaceLICMapper : public vtkOpenGLPolyDataMapper
55 {
56 public:
59  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
66  void ReleaseGraphicsResources(vtkWindow* win) override;
67 
71  void RenderPiece(vtkRenderer* ren, vtkActor* act) override;
72 
76  void ShallowCopy(vtkAbstractMapper*) override;
77 
79 
82  vtkGetObjectMacro(LICInterface, vtkSurfaceLICInterface);
84 
85 protected:
88 
95  virtual void StartTimerEvent(const char*) {}
96  virtual void EndTimerEvent(const char*) {}
97 
101  void BuildBufferObjects(vtkRenderer* ren, vtkActor* act) override;
102 
106  void SetMapperShaderParameters(vtkOpenGLHelper& cellBO, vtkRenderer* ren, vtkActor* act) override;
107 
112  std::map<vtkShader::Type, vtkShader*> shaders, vtkRenderer* ren, vtkActor* act) override;
113 
115 
116 private:
117  vtkSurfaceLICMapper(const vtkSurfaceLICMapper&) = delete;
118  void operator=(const vtkSurfaceLICMapper&) = delete;
119 };
120 
121 VTK_ABI_NAMESPACE_END
122 #endif
abstract class specifies interface to map data
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:151
a simple class to control print indentation
Definition: vtkIndent.h:108
PolyDataMapper using OpenGL to render.
A communicator that can safely be used inside a painter.
abstract specification for renderers
Definition: vtkRenderer.h:172
public API for surface lic parameters arbitrary geometry.
mapper that performs LIC on the surface of arbitrary geometry.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ShallowCopy(vtkAbstractMapper *) override
Shallow copy of an actor.
virtual void StartTimerEvent(const char *)
Methods used for parallel benchmarks.
vtkSurfaceLICInterface * LICInterface
static vtkSurfaceLICMapper * New()
void RenderPiece(vtkRenderer *ren, vtkActor *act) override
Implemented by sub classes.
~vtkSurfaceLICMapper() override
void BuildBufferObjects(vtkRenderer *ren, vtkActor *act) override
Build the VBO/IBO, called by UpdateBufferObjects.
void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) override
Set the shader parameters related to the mapper/input data, called by UpdateShader.
virtual void EndTimerEvent(const char *)
void ReleaseGraphicsResources(vtkWindow *win) override
Release any graphics resources that are being consumed by this mapper.
void ReplaceShaderValues(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:48