VTK  9.5.20251120
vtkSphereTreeFilter.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
31
32#ifndef vtkSphereTreeFilter_h
33#define vtkSphereTreeFilter_h
34
35#include "vtkFiltersCoreModule.h" // For export macro
37#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
38
39#define VTK_SPHERE_TREE_LEVELS 0
40#define VTK_SPHERE_TREE_POINT 1
41#define VTK_SPHERE_TREE_LINE 2
42#define VTK_SPHERE_TREE_PLANE 3
43
44VTK_ABI_NAMESPACE_BEGIN
45class vtkSphereTree;
46
47class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkSphereTreeFilter : public vtkPolyDataAlgorithm
48{
49public:
54
56
60 void PrintSelf(ostream& os, vtkIndent indent) override;
62
64
68 vtkGetObjectMacro(SphereTree, vtkSphereTree);
70
72
80 vtkSetMacro(ExtractionMode, int);
81 vtkGetMacro(ExtractionMode, int);
88
90
95 vtkSetMacro(TreeHierarchy, bool);
96 vtkGetMacro(TreeHierarchy, bool);
97 vtkBooleanMacro(TreeHierarchy, bool);
99
101
108 vtkSetClampMacro(Level, int, -1, VTK_SHORT_MAX);
109 vtkGetMacro(Level, int);
111
113
117 vtkSetVector3Macro(Point, double);
118 vtkGetVectorMacro(Point, double, 3);
120
122
127 vtkSetVector3Macro(Ray, double);
128 vtkGetVectorMacro(Ray, double, 3);
130
132
136 vtkSetVector3Macro(Normal, double);
137 vtkGetVectorMacro(Normal, double, 3);
139
144
145protected:
148
152 int Level;
153 double Point[3];
154 double Ray[3];
155 double Normal[3];
156
158 int FillInputPortInformation(int port, vtkInformation* info) override;
159
161
162private:
164 void operator=(const vtkSphereTreeFilter&) = delete;
165};
166
167VTK_ABI_NAMESPACE_END
168#endif
Detect and break reference loops.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
void SetExtractionModeToLine()
Specify what information this filter is to extract from the sphere tree.
const char * GetExtractionModeAsString()
Specify what information this filter is to extract from the sphere tree.
virtual void SetSphereTree(vtkSphereTree *)
Specify and retrieve the sphere tree.
~vtkSphereTreeFilter() override
virtual void SetExtractionMode(int)
Specify what information this filter is to extract from the sphere tree.
void SetExtractionModeToPlane()
Specify what information this filter is to extract from the sphere tree.
static vtkSphereTreeFilter * New()
Instantiate the sphere tree filter.
void SetExtractionModeToLevels()
Specify what information this filter is to extract from the sphere tree.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void ReportReferences(vtkGarbageCollector *) override
vtkMTimeType GetMTime() override
Modified GetMTime because the sphere tree may have changed.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard type related macros and PrintSelf() method.
void SetExtractionModeToPoint()
Specify what information this filter is to extract from the sphere tree.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
class to build and traverse sphere trees
#define VTK_SPHERE_TREE_POINT
#define VTK_SPHERE_TREE_LEVELS
#define VTK_SPHERE_TREE_LINE
#define VTK_SPHERE_TREE_PLANE
#define VTK_SHORT_MAX
Definition vtkType.h:192
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:322
#define VTK_MARSHALAUTO