VTK  9.3.0
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 
22 VTK_ABI_NAMESPACE_BEGIN
23 class vtkBoundingBox;
24 class vtkDataObject;
25 class vtkDataObjectTree;
26 class vtkDataSet;
27 class vtkGraph;
28 class vtkInformation;
31 class vtkOverlappingAMR;
32 class vtkPolyData;
33 class vtkUniformGridAMR;
34 
35 class VTKFILTERSPARALLEL_EXPORT vtkPOutlineFilterInternals
36 {
37 public:
39  virtual ~vtkPOutlineFilterInternals() = default;
40 
48 
54 
60 
65  void SetCornerFactor(double cornerFactor);
66 
67 private:
69  vtkPOutlineFilterInternals& operator=(const vtkPOutlineFilterInternals&) = delete;
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 
87 VTK_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
Definition: vtkDataObject.h:64
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
Base class for graph data types.
Definition: vtkGraph.h:290
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
Definition: vtkPolyData.h:89
a concrete implementation of vtkCompositeDataSet
@ value
Definition: vtkX3D.h:220