80 #ifndef vtkSelectPolyData_h
81 #define vtkSelectPolyData_h
83 #include "vtkFiltersModelingModule.h"
86 #define VTK_INSIDE_SMALLEST_REGION 0
87 #define VTK_INSIDE_LARGEST_REGION 1
88 #define VTK_INSIDE_CLOSEST_POINT_REGION 2
90 #define VTK_GREEDY_EDGE_SEARCH 0
91 #define VTK_DIJKSTRA_EDGE_SEARCH 1
93 VTK_ABI_NAMESPACE_BEGIN
128 vtkSetStringMacro(SelectionScalarsArrayName);
129 vtkGetStringMacro(SelectionScalarsArrayName);
152 vtkGetMacro(EdgeSearchMode,
int);
155 const char* GetEdgeSearchModeAsString();
171 vtkSetVector3Macro(ClosestPoint,
double);
172 vtkGetVector3Macro(ClosestPoint,
double);
180 vtkGetMacro(SelectionMode,
int);
187 const char* GetSelectionModeAsString();
253 double ClosestPoint[3];
274 return "InsideSmallestRegion";
278 return "InsideLargestRegion";
282 return "InsideClosestPointRegion";
293 return "GreedyEdgeSearch";
297 return "DijkstraEdgeSearch";
306 VTK_ABI_NAMESPACE_END
Proxy object to connect input/output ports.
represent and manipulate cell attribute data
dynamic, self-adjusting array of char
list of point or cell ids
a simple class to control print indentation
dynamic, self-adjusting array of int
represent and manipulate point attribute data
represent and manipulate 3D points
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
select portion of polygonal mesh; generate selection scalars
virtual void SetLoop(vtkPoints *)
Set/Get the array of point coordinates defining the loop.
vtkIdType ComputeTopologicalDistance(vtkPolyData *mesh, vtkIdList *edgeIds, vtkIntArray *pointMarks, vtkIntArray *cellMarks)
static vtkSelectPolyData * New()
Instantiate object with InsideOut turned off, and GenerateSelectionScalars turned off.
void SetSelectionScalarsToOutput(vtkPointData *originalPointData, vtkCellData *originalCellData, vtkPolyData *mesh, vtkIdList *edgeIds, vtkIntArray *pointMarks, vtkPolyData *output)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetSelectionModeToSmallestRegion()
Control how inside/outside of loop is defined.
void SetEdgeSearchModeToGreedy()
Set the edge search mode.
vtkPolyData * GetSelectionEdges()
Return the (mesh) edges of the selection region.
void SetSelectionModeToLargestRegion()
Control how inside/outside of loop is defined.
vtkTypeBool GenerateUnselectedOutput
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkIdType GetClosestCellId(vtkPolyData *mesh, vtkIntArray *pointMarks)
void SetClippedResultToOutput(vtkPointData *originalPointData, vtkCellData *originalCellData, vtkPolyData *mesh, vtkIntArray *cellMarks, vtkPolyData *output)
void DijkstraEdgeSearch(vtkPolyData *mesh, vtkIdList *edgeIds)
const char * GetSelectionModeAsString()
Return the method of determining in/out of loop as a string.
const char * GetEdgeSearchModeAsString()
Return the edge search mode as a string.
vtkTypeBool GenerateSelectionScalars
char * SelectionScalarsArrayName
void SetSelectionModeToClosestPointRegion()
Control how inside/outside of loop is defined.
void FillMarksInRegion(vtkPolyData *mesh, vtkIdList *edgePointIds, vtkIntArray *pointMarks, vtkIntArray *cellMarks, vtkIdType cellIdInSelectedRegion)
void SetEdgeSearchModeToDijkstra()
Set the edge search mode.
vtkMTimeType GetMTime() override
Return this object's modified time.
void GreedyEdgeSearch(vtkPolyData *mesh, vtkIdList *edgeIds)
vtkAlgorithmOutput * GetUnselectedOutputPort()
Return output port that hasn't been selected (if GenreateUnselectedOutput is enabled).
~vtkSelectPolyData() override
vtkPolyData * GetUnselectedOutput()
Return output that hasn't been selected (if GenreateUnselectedOutput is enabled).
#define VTK_INSIDE_SMALLEST_REGION
#define VTK_DIJKSTRA_EDGE_SEARCH
#define VTK_INSIDE_LARGEST_REGION
#define VTK_GREEDY_EDGE_SEARCH
#define VTK_INSIDE_CLOSEST_POINT_REGION
vtkTypeUInt32 vtkMTimeType