VTK
vtkLinearSelector.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkCellDistanceFilter,v $
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 =========================================================================*/
33 #ifndef VTK_LINEAR_SELECTOR_H
34 #define VTK_LINEAR_SELECTOR_H
35 
36 #include "vtkFiltersSelectionModule.h" // For export macro
37 #include "vtkSelectionAlgorithm.h"
38 
39 class vtkAlgorithmOutput;
40 class vtkDataSet;
41 class vtkDoubleArray;
42 class vtkIdTypeArray;
43 class vtkPoints;
44 
46 {
47  public:
49  void PrintSelf(ostream& os, vtkIndent indent);
50 
51  static vtkLinearSelector* New();
52 
54 
55  vtkSetVector3Macro(StartPoint,double);
56  vtkGetVectorMacro(StartPoint,double,3);
58 
60 
61  vtkSetVector3Macro(EndPoint,double);
62  vtkGetVectorMacro(EndPoint,double,3);
64 
66 
67  virtual void SetPoints(vtkPoints*);
68  vtkGetObjectMacro(Points,vtkPoints);
70 
72 
73  vtkSetMacro(Tolerance,double);
74  vtkGetMacro(Tolerance,double);
76 
78 
79  vtkSetMacro(IncludeVertices,bool);
80  vtkGetMacro(IncludeVertices,bool);
81  vtkBooleanMacro(IncludeVertices,bool);
83 
85 
86  vtkSetClampMacro(VertexEliminationTolerance,double,0.,.1 );
87  vtkGetMacro(VertexEliminationTolerance,double);
89 
90  protected:
92  virtual ~vtkLinearSelector();
93 
95 
96  virtual int RequestData(vtkInformation *request,
97  vtkInformationVector **inputVector,
98  vtkInformationVector *outputVector);
99 
102  void SeekIntersectingCells(vtkDataSet* input, vtkIdTypeArray* outIndices);
103 
104  private:
105  vtkLinearSelector(const vtkLinearSelector&); // Not implemented
106  void operator =(const vtkLinearSelector&); // Not implemented
107 
109 
111  double StartPoint[3];
112  double EndPoint[3];
114 
117  vtkPoints* Points;
118 
120  double Tolerance;
121 
123  bool IncludeVertices;
124 
126 
127  double VertexEliminationTolerance;
128 };
130 
131 
132 #endif // VTK_LINEAR_SELECTOR_H
#define VTKFILTERSSELECTION_EXPORT
Store vtkAlgorithm input/output information.
virtual int FillInputPortInformation(int port, vtkInformation *info)
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
dynamic, self-adjusting array of vtkIdType
Proxy object to connect input/output ports.
dynamic, self-adjusting array of double
select cells intersecting a line (possibly broken)
static vtkSelectionAlgorithm * New()
a simple class to control print indentation
Definition: vtkIndent.h:38
Superclass for algorithms that produce only Selection as output.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent)
represent and manipulate 3D points
Definition: vtkPoints.h:38