VTK
vtkLinearSelector.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkLinearSelector.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 =========================================================================*/
34 #ifndef vtkLinearSelector_h
35 #define vtkLinearSelector_h
36 
37 #include "vtkFiltersSelectionModule.h" // For export macro
38 #include "vtkSelectionAlgorithm.h"
39 
40 class vtkAlgorithmOutput;
41 class vtkDataSet;
42 class vtkDoubleArray;
43 class vtkIdTypeArray;
44 class vtkPoints;
45 
46 class VTKFILTERSSELECTION_EXPORT vtkLinearSelector : public vtkSelectionAlgorithm
47 {
48  public:
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
53 
55 
58  vtkSetVector3Macro(StartPoint,double);
59  vtkGetVectorMacro(StartPoint,double,3);
61 
63 
66  vtkSetVector3Macro(EndPoint,double);
67  vtkGetVectorMacro(EndPoint,double,3);
69 
71 
74  virtual void SetPoints(vtkPoints*);
75  vtkGetObjectMacro(Points,vtkPoints);
77 
79 
82  vtkSetMacro(Tolerance,double);
83  vtkGetMacro(Tolerance,double);
85 
87 
90  vtkSetMacro(IncludeVertices,bool);
91  vtkGetMacro(IncludeVertices,bool);
92  vtkBooleanMacro(IncludeVertices,bool);
94 
96 
99  vtkSetClampMacro(VertexEliminationTolerance,double,0.,.1 );
100  vtkGetMacro(VertexEliminationTolerance,double);
102 
103  protected:
106 
108 
109  virtual int RequestData(vtkInformation *request,
110  vtkInformationVector **inputVector,
111  vtkInformationVector *outputVector);
112 
118 
119  private:
120  vtkLinearSelector(const vtkLinearSelector&) VTK_DELETE_FUNCTION;
121  void operator =(const vtkLinearSelector&) VTK_DELETE_FUNCTION;
122 
124 
128  double StartPoint[3];
129  double EndPoint[3];
131 
136  vtkPoints* Points;
137 
141  double Tolerance;
142 
147  bool IncludeVertices;
148 
150 
154  double VertexEliminationTolerance;
155 };
157 
158 
159 #endif // vtkLinearSelector_h
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:40
vtkLinearSelector::New
static vtkLinearSelector * New()
vtkLinearSelector::~vtkLinearSelector
virtual ~vtkLinearSelector()
vtkLinearSelector
select cells intersecting a line (possibly broken)
Definition: vtkLinearSelector.h:47
vtkLinearSelector::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
vtkLinearSelector::SetPoints
virtual void SetPoints(vtkPoints *)
Set/Get the list of points defining the intersecting broken line.
vtkLinearSelector::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkSelectionAlgorithm.h
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkLinearSelector::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:42
vtkLinearSelector::vtkLinearSelector
vtkLinearSelector()
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:40
vtkSelectionAlgorithm
Superclass for algorithms that produce only Selection as output.
Definition: vtkSelectionAlgorithm.h:47
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:42
vtkLinearSelector::SeekIntersectingCells
void SeekIntersectingCells(vtkDataSet *input, vtkIdTypeArray *outIndices)
The main routine that iterates over cells and looks for those that intersect at least one of the segm...