VTK  9.6.20260206
vtkWebGPUCompositePolyDataMapperDelegator.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
3
13
14#ifndef vtkWebGPUCompositePolyDataMapperDelegator_h
15#define vtkWebGPUCompositePolyDataMapperDelegator_h
16
18
19#include "vtkRenderingWebGPUModule.h" // for export macro
20
21VTK_ABI_NAMESPACE_BEGIN
22
25
26class VTKRENDERINGWEBGPU_EXPORT vtkWebGPUCompositePolyDataMapperDelegator
28{
29public:
34 void PrintSelf(ostream& os, vtkIndent indent) override;
35
37
39
42 // Copy array names used for selection. Ex: PointIdArrayName, CompositeIdArrayName, ..
45 void UnmarkBatchElements() override;
47
48protected:
51
53
56 std::vector<vtkPolyData*> GetRenderedList() const override;
57 void SetParent(vtkCompositePolyDataMapper* mapper) override;
58 void Insert(BatchElement&& item) override;
59 BatchElement* Get(vtkPolyData* polydata) override;
60 void Clear() override;
62
63 // The actual mapper which renders multiple vtkPolyData.
64 // Constructor assigns it to vtkBatchedPolyDataMapperDelegator::Delegate.
65 // From that point on, parent class manages lifetime of this WebGPUDelegate.
66 // Instead of repeatedly downcasting the abstract Delegate, we trampoline
67 // calls to WebGPUDelegate.
69
70private:
73 void operator=(const vtkWebGPUCompositePolyDataMapperDelegator&) = delete;
74};
75
76#define vtkWebGPUCompositePolyDataMapperDelegator_OVERRIDE_ATTRIBUTES \
77 vtkWebGPUCompositePolyDataMapperDelegator::CreateOverrideAttributes()
78VTK_ABI_NAMESPACE_END
79#endif
a class that renders hierarchical polygonal data
a simple class to control print indentation
Definition vtkIndent.h:108
Attribute for vtkObjectFactory overrides.
concrete dataset represents vertices, lines, polygons, and triangle strips
A WebGPU mapper for batched rendering of vtkPolyData.
void SetParent(vtkCompositePolyDataMapper *mapper) override
Implement parent class API.
BatchElement * Get(vtkPolyData *polydata) override
Implement parent class API.
static vtkOverrideAttribute * CreateOverrideAttributes()
std::vector< vtkPolyData * > GetRenderedList() const override
Implement parent class API.
void Insert(BatchElement &&item) override
Implement parent class API.
void UnmarkBatchElements() override
Implement parent class API.
static vtkWebGPUCompositePolyDataMapperDelegator * New()
void ClearUnmarkedBatchElements() override
Implement parent class API.
void ShallowCopy(vtkCompositePolyDataMapper *mapper) override
Implement parent class API.
vtkCompositePolyDataMapperDelegator::BatchElement BatchElement
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Clear() override
Implement parent class API.
#define VTK_NEWINSTANCE