VTK  9.1.0
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=========================================================================*/
41#ifndef vtkSphereTreeFilter_h
42#define vtkSphereTreeFilter_h
43
44#include "vtkFiltersCoreModule.h" // For export macro
46
47#define VTK_SPHERE_TREE_LEVELS 0
48#define VTK_SPHERE_TREE_POINT 1
49#define VTK_SPHERE_TREE_LINE 2
50#define VTK_SPHERE_TREE_PLANE 3
51
52class vtkSphereTree;
53
54class VTKFILTERSCORE_EXPORT vtkSphereTreeFilter : public vtkPolyDataAlgorithm
55{
56public:
61
63
67 void PrintSelf(ostream& os, vtkIndent indent) override;
69
71
75 vtkGetObjectMacro(SphereTree, vtkSphereTree);
77
79
87 vtkSetMacro(ExtractionMode, int);
88 vtkGetMacro(ExtractionMode, int);
89 void SetExtractionModeToLevels() { this->SetExtractionMode(VTK_SPHERE_TREE_LEVELS); }
90 void SetExtractionModeToPoint() { this->SetExtractionMode(VTK_SPHERE_TREE_POINT); }
91 void SetExtractionModeToLine() { this->SetExtractionMode(VTK_SPHERE_TREE_LINE); }
92 void SetExtractionModeToPlane() { this->SetExtractionMode(VTK_SPHERE_TREE_PLANE); }
95
97
102 vtkSetMacro(TreeHierarchy, bool);
103 vtkGetMacro(TreeHierarchy, bool);
104 vtkBooleanMacro(TreeHierarchy, bool);
106
108
115 vtkSetClampMacro(Level, int, -1, VTK_SHORT_MAX);
116 vtkGetMacro(Level, int);
118
120
124 vtkSetVector3Macro(Point, double);
125 vtkGetVectorMacro(Point, double, 3);
127
129
134 vtkSetVector3Macro(Ray, double);
135 vtkGetVectorMacro(Ray, double, 3);
137
139
143 vtkSetVector3Macro(Normal, double);
144 vtkGetVectorMacro(Normal, double, 3);
146
151
152protected:
155
159 int Level;
160 double Point[3];
161 double Ray[3];
162 double Normal[3];
163
165 int FillInputPortInformation(int port, vtkInformation* info) override;
166
167private:
169 void operator=(const vtkSphereTreeFilter&) = delete;
170};
171
172#endif
a simple class to control print indentation
Definition: vtkIndent.h:113
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:70
#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