VTK  9.3.20240424
vtkPOutlineFilterInternals.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
15#ifndef vtkPOutlineFilterInternals_h
16#define vtkPOutlineFilterInternals_h
17
18#include "vtkBoundingBox.h" // needed for vtkBoundingBox.
19#include "vtkFiltersParallelModule.h" // For export macro
20#include <vector> // needed for std::vector
21
22VTK_ABI_NAMESPACE_BEGIN
23class vtkBoundingBox;
24class vtkDataObject;
26class vtkDataSet;
27class vtkGraph;
28class vtkInformation;
32class vtkPolyData;
34
35class VTKFILTERSPARALLEL_EXPORT vtkPOutlineFilterInternals
36{
37public:
39 virtual ~vtkPOutlineFilterInternals() = default;
40
48
54
59 void SetIsCornerSource(bool value);
60
65 void SetCornerFactor(double cornerFactor);
66
67private:
70
71 int RequestData(vtkOverlappingAMR* amr, vtkPolyData* output);
72 int RequestData(vtkUniformGridAMR* amr, vtkPolyData* output);
73 int RequestData(vtkDataObjectTree* cd, vtkPolyData* output);
74 int RequestData(vtkDataSet* ds, vtkPolyData* output);
75 int RequestData(vtkGraph* graph, vtkPolyData* output);
76
77 void CollectCompositeBounds(vtkDataObject* input);
78 vtkSmartPointer<vtkPolyData> GenerateOutlineGeometry(double bounds[6]);
79
80 std::vector<vtkBoundingBox> BoundsList;
81 vtkMultiProcessController* Controller = nullptr;
82
83 bool IsCornerSource = false;
84 double CornerFactor = 0.2;
85};
86
87VTK_ABI_NAMESPACE_END
88#endif
89// VTK-HeaderTest-Exclude: vtkPOutlineFilterInternals.h
Fast, simple class for representing and operating on 3D bounds.
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
abstract class to specify dataset behavior
Definition vtkDataSet.h:166
Base class for graph data types.
Definition vtkGraph.h:340
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
hierarchical dataset of vtkUniformGrids
create wireframe outline (or corners) for arbitrary data set
void SetCornerFactor(double cornerFactor)
Set the corner factor to use when creating corner outline.
vtkPOutlineFilterInternals()=default
virtual ~vtkPOutlineFilterInternals()=default
void SetIsCornerSource(bool value)
Set whether or not to generate a corner outline.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Behave like a vtkAlgorithm::RequestData and compute the outline geometry based on the parameters and ...
void SetController(vtkMultiProcessController *)
Set the controller to be used.
concrete dataset represents vertices, lines, polygons, and triangle strips
Hold a reference to a vtkObjectBase instance.
a concrete implementation of vtkCompositeDataSet