VTK
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
45 #include "vtkPolyDataAlgorithm.h"
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 
52 
53 class vtkSphereTree;
54 
55 class VTKFILTERSCORE_EXPORT vtkSphereTreeFilter : public vtkPolyDataAlgorithm
56 {
57 public:
61  static vtkSphereTreeFilter *New();
62 
64 
68  void PrintSelf(ostream& os, vtkIndent indent) override;
70 
72 
75  virtual void SetSphereTree(vtkSphereTree*);
76  vtkGetObjectMacro(SphereTree,vtkSphereTree);
78 
80 
88  vtkSetMacro(ExtractionMode,int);
89  vtkGetMacro(ExtractionMode,int);
91  {this->SetExtractionMode(VTK_SPHERE_TREE_LEVELS);}
93  {this->SetExtractionMode(VTK_SPHERE_TREE_POINT);}
95  {this->SetExtractionMode(VTK_SPHERE_TREE_LINE);}
97  {this->SetExtractionMode(VTK_SPHERE_TREE_PLANE);}
98  const char *GetExtractionModeAsString();
100 
102 
107  vtkSetMacro(TreeHierarchy, bool);
108  vtkGetMacro(TreeHierarchy, bool);
109  vtkBooleanMacro(TreeHierarchy, bool);
111 
113 
120  vtkSetClampMacro(Level,int,-1,VTK_SHORT_MAX);
121  vtkGetMacro(Level,int);
123 
125 
129  vtkSetVector3Macro(Point,double);
130  vtkGetVectorMacro(Point,double,3);
132 
134 
139  vtkSetVector3Macro(Ray,double);
140  vtkGetVectorMacro(Ray,double,3);
142 
144 
148  vtkSetVector3Macro(Normal,double);
149  vtkGetVectorMacro(Normal,double,3);
151 
155  vtkMTimeType GetMTime() override;
156 
157 protected:
159  ~vtkSphereTreeFilter() override;
160 
164  int Level;
165  double Point[3];
166  double Ray[3];
167  double Normal[3];
168 
170  vtkInformationVector *) override;
172  vtkInformation *info) override;
173 
174 private:
175  vtkSphereTreeFilter(const vtkSphereTreeFilter&) = delete;
176  void operator=(const vtkSphereTreeFilter&) = delete;
177 
178 };
179 
180 #endif
void SetExtractionModeToLine()
Specify what information this filter is to extract from the sphere tree.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_SPHERE_TREE_PLANE
represent a sphere tree as vtkPolyData
void SetExtractionModeToPoint()
Specify what information this filter is to extract from the sphere tree.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
void SetExtractionModeToPlane()
Specify what information this filter is to extract from the sphere tree.
#define VTK_SPHERE_TREE_POINT
virtual vtkMTimeType GetMTime()
Return this object's modified time.
#define VTK_SHORT_MAX
Definition: vtkType.h:155
vtkSphereTree * SphereTree
#define VTK_SPHERE_TREE_LINE
class to build and traverse sphere trees
Definition: vtkSphereTree.h:70
#define VTK_SPHERE_TREE_LEVELS
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetExtractionModeToLevels()
Specify what information this filter is to extract from the sphere tree.