VTK: Rendering/OpenGL2/vtkOpenGLLabeledContourMapper.h Source File

| VTK 9.3.1

vtkOpenGLLabeledContourMapper.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
10 #ifndef vtkOpenGLLabeledContourMapper_h
11 #define vtkOpenGLLabeledContourMapper_h
12
13 #include "vtkLabeledContourMapper.h"
14 #include "vtkRenderingOpenGL2Module.h" // For export macro
15
16 VTK_ABI_NAMESPACE_BEGIN
17 class vtkMatrix4x4;
18 class vtkOpenGLHelper;
19
20 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLLabeledContourMapper : public vtkLabeledContourMapper
21 {
22 public:
23 static vtkOpenGLLabeledContourMapper* New();
24 vtkTypeMacro(vtkOpenGLLabeledContourMapper, vtkLabeledContourMapper);
25 void PrintSelf(ostream& os, vtkIndent indent) override;
26
30 void ReleaseGraphicsResources(vtkWindow* win) override;
31
32 protected:
33 vtkOpenGLLabeledContourMapper();
34 ~vtkOpenGLLabeledContourMapper() override;
35
36 // We override this for compatibility with the OpenGL backend:
37 // The old backend pushes actor matrices onto the matrix stack, so the text
38 // actors already accounted for any transformations on this mapper's actor.
39 // The new backend passes each actor's matrix to the shader individually, and
40 // this mapper's actor matrix doesn't affect the label rendering.
41 bool CreateLabels(vtkActor* actor) override;
42
43 bool ApplyStencil(vtkRenderer* ren, vtkActor* act) override;
44 bool RemoveStencil(vtkRenderer* ren) override;
45
46 vtkOpenGLHelper* StencilBO;
47 vtkMatrix4x4* TempMatrix4;
48
49 private:
50 vtkOpenGLLabeledContourMapper(const vtkOpenGLLabeledContourMapper&) = delete;
51 void operator=(const vtkOpenGLLabeledContourMapper&) = delete;
52 };
53
54 VTK_ABI_NAMESPACE_END
55 #endif
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkLabeledContourMapper
Draw labeled isolines.
Definition: vtkLabeledContourMapper.h:38
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:40
vtkOpenGLHelper
Definition: vtkOpenGLHelper.h:21
vtkOpenGLLabeledContourMapper
vtkOpenGLLabeledContourMapper is an override for vtkLabeledContourMapper that implements stenciling u...
Definition: vtkOpenGLLabeledContourMapper.h:21
vtkOpenGLLabeledContourMapper::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOpenGLLabeledContourMapper::ApplyStencil
bool ApplyStencil(vtkRenderer *ren, vtkActor *act) override
vtkOpenGLLabeledContourMapper::TempMatrix4
vtkMatrix4x4 * TempMatrix4
Definition: vtkOpenGLLabeledContourMapper.h:47
vtkOpenGLLabeledContourMapper::StencilBO
vtkOpenGLHelper * StencilBO
Definition: vtkOpenGLLabeledContourMapper.h:46
vtkOpenGLLabeledContourMapper::~vtkOpenGLLabeledContourMapper
~vtkOpenGLLabeledContourMapper() override
vtkOpenGLLabeledContourMapper::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *win) override
Release graphics resources.
vtkOpenGLLabeledContourMapper::New
static vtkOpenGLLabeledContourMapper * New()
vtkOpenGLLabeledContourMapper::CreateLabels
bool CreateLabels(vtkActor *actor) override
vtkOpenGLLabeledContourMapper::vtkOpenGLLabeledContourMapper
vtkOpenGLLabeledContourMapper()
vtkOpenGLLabeledContourMapper::RemoveStencil
bool RemoveStencil(vtkRenderer *ren) override
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:71
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkLabeledContourMapper.h