VTK  9.7.1
vtkWebGPUBatchedLabeledDataMapper.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
26 #ifndef vtkWebGPUBatchedLabeledDataMapper_h
27 #define vtkWebGPUBatchedLabeledDataMapper_h
28 
30 #include "vtkNew.h" // For vtkNew
31 #include "vtkRenderingWebGPUModule.h" // For export macro
32 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 class vtkActor;
38 
39 class VTKRENDERINGWEBGPU_EXPORT VTK_MARSHALAUTO vtkWebGPUBatchedLabeledDataMapper
41 {
42 public:
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
47  static vtkOverrideAttribute* CreateOverrideAttributes();
48 
50  void SetLabelTextProperty(vtkTextProperty* p, int type) override;
51 
52  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) override;
53  void ReleaseGraphicsResources(vtkWindow*) override;
54 
55 protected:
58 
59  void ActivateGlyphTexture() override {}
60  void DeactivateGlyphTexture() override {}
61 
62 private:
64  void operator=(const vtkWebGPUBatchedLabeledDataMapper&) = delete;
65 
67  vtkNew<vtkActor> DummyActor;
68 
70 
71  void SetupHelper();
72  bool HelperSetup = false;
73 };
74 
75 #define vtkWebGPUBatchedLabeledDataMapper_OVERRIDE_ATTRIBUTES \
76  vtkWebGPUBatchedLabeledDataMapper::CreateOverrideAttributes()
77 VTK_ABI_NAMESPACE_END
78 
79 #endif
Attribute for vtkObjectFactory overrides.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
draw text labels at dataset points using batch rendering
void SetLabelTextProperty(vtkTextProperty *p) override
Set/Get the text property.
abstract specification for Viewports
Definition: vtkViewport.h:46
void ActivateGlyphTexture() override
Called before and after the helper renders to bind/unbind the atlas texture.
a actor that draws 2D data
Definition: vtkActor2D.h:35
void RenderOpaqueGeometry(vtkViewport *, vtkActor2D *) override
No-op: backend subclasses override this to drive the render pipeline.
static vtkBatchedLabeledDataMapper * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
a simple class to control print indentation
Definition: vtkIndent.h:28
WebGPU backend for vtkBatchedLabeledDataMapper.
represent text properties.
void ReleaseGraphicsResources(vtkWindow *) override
Releases any GPU resources held by backend subclasses.
#define VTK_MARSHALAUTO