VTK  9.4.20251007
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
38#define VTK_SPHERE_TREE_LEVELS 0
39#define VTK_SPHERE_TREE_POINT 1
40#define VTK_SPHERE_TREE_LINE 2
41#define VTK_SPHERE_TREE_PLANE 3
42
43VTK_ABI_NAMESPACE_BEGIN
44class vtkSphereTree;
45
46class VTKFILTERSCORE_EXPORT vtkSphereTreeFilter : public vtkPolyDataAlgorithm
47{
48public:
53
55
59 void PrintSelf(ostream& os, vtkIndent indent) override;
61
63
67 vtkGetObjectMacro(SphereTree, vtkSphereTree);
69
71
79 vtkSetMacro(ExtractionMode, int);
80 vtkGetMacro(ExtractionMode, int);
87
89
94 vtkSetMacro(TreeHierarchy, bool);
95 vtkGetMacro(TreeHierarchy, bool);
96 vtkBooleanMacro(TreeHierarchy, bool);
98
100
107 vtkSetClampMacro(Level, int, -1, VTK_SHORT_MAX);
108 vtkGetMacro(Level, int);
110
112
116 vtkSetVector3Macro(Point, double);
117 vtkGetVectorMacro(Point, double, 3);
119
121
126 vtkSetVector3Macro(Ray, double);
127 vtkGetVectorMacro(Ray, double, 3);
129
131
135 vtkSetVector3Macro(Normal, double);
136 vtkGetVectorMacro(Normal, double, 3);
138
143
144protected:
147
151 int Level;
152 double Point[3];
153 double Ray[3];
154 double Normal[3];
155
157 int FillInputPortInformation(int port, vtkInformation* info) override;
158
160
161private:
163 void operator=(const vtkSphereTreeFilter&) = delete;
164};
165
166VTK_ABI_NAMESPACE_END
167#endif
Detect and break reference loops.
a simple class to control print indentation
Definition vtkIndent.h:29
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:140
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270