VTK
vtkSelectEnclosedPoints.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSelectEnclosedPoints.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 =========================================================================*/
45 #ifndef vtkSelectEnclosedPoints_h
46 #define vtkSelectEnclosedPoints_h
47 
48 #include "vtkFiltersModelingModule.h" // For export macro
49 #include "vtkDataSetAlgorithm.h"
50 
52 class vtkCellLocator;
53 class vtkIdList;
54 class vtkGenericCell;
55 
56 
58 {
59 public:
61 
63  void PrintSelf(ostream& os, vtkIndent indent);
65 
68 
70 
76 
78 
82 
84 
87  vtkSetMacro(InsideOut,int);
88  vtkBooleanMacro(InsideOut,int);
89  vtkGetMacro(InsideOut,int);
91 
93 
95  vtkSetMacro(CheckSurface,int);
96  vtkBooleanMacro(CheckSurface,int);
97  vtkGetMacro(CheckSurface,int);
99 
102  int IsInside(vtkIdType inputPtId);
103 
105 
107  vtkSetClampMacro(Tolerance,double,0.0,VTK_FLOAT_MAX);
108  vtkGetMacro(Tolerance,double);
110 
112 
116  void Initialize(vtkPolyData *surface);
117  int IsInsideSurface(double x, double y, double z);
118  int IsInsideSurface(double x[3]);
119  void Complete();
121 
122 protected:
125 
128  double Tolerance;
129 
132 
133  // Internal structures for accelerating the intersection test
138  double Bounds[6];
139  double Length;
140 
143 
145 
146 private:
147  vtkSelectEnclosedPoints(const vtkSelectEnclosedPoints&); // Not implemented.
148  void operator=(const vtkSelectEnclosedPoints&); // Not implemented.
149 };
150 
151 #endif
vtkSelectEnclosedPoints::IsSurfaceClosed
int IsSurfaceClosed(vtkPolyData *surface)
vtkgl::z
GLdouble GLdouble z
Definition: vtkgl.h:11754
vtkSelectEnclosedPoints::CheckSurface
int CheckSurface
Definition: vtkSelectEnclosedPoints.h:126
vtkSelectEnclosedPoints::FillInputPortInformation
virtual int FillInputPortInformation(int, vtkInformation *)
vtkSelectEnclosedPoints::InsideOut
int InsideOut
Definition: vtkSelectEnclosedPoints.h:127
vtkCellLocator
octree-based spatial search object to quickly locate cells
Definition: vtkCellLocator.h:52
vtkSelectEnclosedPoints::New
static vtkSelectEnclosedPoints * New()
vtkSelectEnclosedPoints::IsInsideSurface
int IsInsideSurface(double x[3])
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkSelectEnclosedPoints::Complete
void Complete()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkSelectEnclosedPoints::ReportReferences
virtual void ReportReferences(vtkGarbageCollector *)
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:49
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkSelectEnclosedPoints::Tolerance
double Tolerance
Definition: vtkSelectEnclosedPoints.h:128
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkFiltersModelingModule.h
vtkSelectEnclosedPoints::IsInsideSurface
int IsInsideSurface(double x, double y, double z)
vtkSelectEnclosedPoints::InsideOutsideArray
vtkUnsignedCharArray * InsideOutsideArray
Definition: vtkSelectEnclosedPoints.h:131
vtkSelectEnclosedPoints::~vtkSelectEnclosedPoints
~vtkSelectEnclosedPoints()
vtkDataSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkDataSetAlgorithm.h:51
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkSelectEnclosedPoints::Cell
vtkGenericCell * Cell
Definition: vtkSelectEnclosedPoints.h:136
vtkSelectEnclosedPoints::Surface
vtkPolyData * Surface
Definition: vtkSelectEnclosedPoints.h:137
vtkSelectEnclosedPoints::Initialize
void Initialize(vtkPolyData *surface)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkSelectEnclosedPoints::Length
double Length
Definition: vtkSelectEnclosedPoints.h:139
vtkSelectEnclosedPoints::GetSurface
vtkPolyData * GetSurface(vtkInformationVector *sourceInfo)
VTK_FLOAT_MAX
#define VTK_FLOAT_MAX
Definition: vtkType.h:140
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGarbageCollector
Detect and break reference loops.
Definition: vtkGarbageCollector.h:99
vtkSelectEnclosedPoints::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkSelectEnclosedPoints::SetSurfaceData
void SetSurfaceData(vtkPolyData *pd)
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkDataSetAlgorithm.h
vtkgl::y
GLint GLint GLint GLint GLint GLint y
Definition: vtkgl.h:11318
vtkSelectEnclosedPoints::vtkSelectEnclosedPoints
vtkSelectEnclosedPoints()
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:39
vtkSelectEnclosedPoints::GetSurface
vtkPolyData * GetSurface()
vtkSelectEnclosedPoints
mark points as to whether they are inside a closed surface
Definition: vtkSelectEnclosedPoints.h:58
vtkSelectEnclosedPoints::CellIds
vtkIdList * CellIds
Definition: vtkSelectEnclosedPoints.h:135
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkGenericCell
provides thread-safe access to cells
Definition: vtkGenericCell.h:42
VTKFILTERSMODELING_EXPORT
#define VTKFILTERSMODELING_EXPORT
Definition: vtkFiltersModelingModule.h:15
vtkSelectEnclosedPoints::CellLocator
vtkCellLocator * CellLocator
Definition: vtkSelectEnclosedPoints.h:134
vtkSelectEnclosedPoints::SetSurfaceConnection
void SetSurfaceConnection(vtkAlgorithmOutput *algOutput)
vtkSelectEnclosedPoints::IsInside
int IsInside(vtkIdType inputPtId)
vtkSelectEnclosedPoints::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)