VTK  9.2.6
vtkSphereTreeFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSphereTreeFilter.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
44#ifndef vtkSphereTreeFilter_h
45#define vtkSphereTreeFilter_h
46
47#include "vtkFiltersCoreModule.h" // For export macro
49
50#define VTK_SPHERE_TREE_LEVELS 0
51#define VTK_SPHERE_TREE_POINT 1
52#define VTK_SPHERE_TREE_LINE 2
53#define VTK_SPHERE_TREE_PLANE 3
54
55class vtkSphereTree;
56
57class VTKFILTERSCORE_EXPORT vtkSphereTreeFilter : public vtkPolyDataAlgorithm
58{
59public:
64
66
70 void PrintSelf(ostream& os, vtkIndent indent) override;
72
74
78 vtkGetObjectMacro(SphereTree, vtkSphereTree);
80
82
90 vtkSetMacro(ExtractionMode, int);
91 vtkGetMacro(ExtractionMode, int);
92 void SetExtractionModeToLevels() { this->SetExtractionMode(VTK_SPHERE_TREE_LEVELS); }
93 void SetExtractionModeToPoint() { this->SetExtractionMode(VTK_SPHERE_TREE_POINT); }
94 void SetExtractionModeToLine() { this->SetExtractionMode(VTK_SPHERE_TREE_LINE); }
95 void SetExtractionModeToPlane() { this->SetExtractionMode(VTK_SPHERE_TREE_PLANE); }
98
100
105 vtkSetMacro(TreeHierarchy, bool);
106 vtkGetMacro(TreeHierarchy, bool);
107 vtkBooleanMacro(TreeHierarchy, bool);
109
111
118 vtkSetClampMacro(Level, int, -1, VTK_SHORT_MAX);
119 vtkGetMacro(Level, int);
121
123
127 vtkSetVector3Macro(Point, double);
128 vtkGetVectorMacro(Point, double, 3);
130
132
137 vtkSetVector3Macro(Ray, double);
138 vtkGetVectorMacro(Ray, double, 3);
140
142
146 vtkSetVector3Macro(Normal, double);
147 vtkGetVectorMacro(Normal, double, 3);
149
154
155protected:
158
162 int Level;
163 double Point[3];
164 double Ray[3];
165 double Normal[3];
166
168 int FillInputPortInformation(int port, vtkInformation* info) override;
169
170private:
172 void operator=(const vtkSphereTreeFilter&) = delete;
173};
174
175#endif
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
represent a sphere tree as vtkPolyData
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
void SetExtractionModeToPlane()
Specify what information this filter is to extract from the sphere tree.
vtkSphereTree * SphereTree
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.
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
Definition: vtkSphereTree.h:73
#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:151
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287