48#ifndef vtkConnectivityFilter_h
49#define vtkConnectivityFilter_h
51#include "vtkFiltersCoreModule.h"
56#define VTK_EXTRACT_POINT_SEEDED_REGIONS 1
57#define VTK_EXTRACT_CELL_SEEDED_REGIONS 2
58#define VTK_EXTRACT_SPECIFIED_REGIONS 3
59#define VTK_EXTRACT_LARGEST_REGION 4
60#define VTK_EXTRACT_ALL_REGIONS 5
61#define VTK_EXTRACT_CLOSEST_POINT_REGION 6
63VTK_ABI_NAMESPACE_BEGIN
98 vtkSetVector2Macro(ScalarRange,
double);
99 vtkGetVector2Macro(ScalarRange,
double);
108 vtkGetMacro(ExtractionMode,
int);
127 const char* GetExtractionModeAsString();
165 vtkSetVector3Macro(ClosestPoint,
double);
166 vtkGetVectorMacro(ClosestPoint,
double, 3);
199 vtkSetMacro(RegionIdAssignmentMode,
int);
200 vtkGetMacro(RegionIdAssignmentMode,
int);
208 vtkSetMacro(OutputPointsPrecision,
int);
209 vtkGetMacro(OutputPointsPrecision,
int);
219 vtkSetMacro(CompressArrays,
bool);
220 vtkGetMacro(CompressArrays,
bool);
221 vtkBooleanMacro(CompressArrays,
bool);
261 double ClosestPoint[3] = { 0, 0, 0 };
264 double ScalarRange[2] = { 0, 1 };
266 int RegionIdAssignmentMode = UNSPECIFIED;
301 bool CompressArrays =
true;
314 return "ExtractPointSeededRegions";
318 return "ExtractCellSeededRegions";
322 return "ExtractSpecifiedRegions";
326 return "ExtractAllRegions";
330 return "ExtractClosestPointRegion";
334 return "ExtractLargestRegion";
extract data based on geometric connectivity
~vtkConnectivityFilter() override
void TraverseAndMark(vtkDataSet *input)
Mark current cell as visited and assign region number.
vtkSmartPointer< vtkDataArray > CompressWithImplicit(vtkDataArray *array)
Compress the given array, returning a vtkImplicitArray.
void SetExtractionModeToClosestPointRegion()
Control the extraction of connected surfaces.
void SetExtractionModeToLargestRegion()
Control the extraction of connected surfaces.
void OrderRegionIds(vtkIdTypeArray *pointRegionIds, vtkIdTypeArray *cellRegionIds)
void AddSpecifiedRegion(int id)
Add a region id to extract.
static vtkConnectivityFilter * New()
Construct with default extraction mode to extract largest regions.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void DeleteSeed(vtkIdType id)
Delete a seed id (point or cell id).
int FillInputPortInformation(int port, vtkInformation *info) override
Usual vtkAlgorithm method implementations.
const char * GetExtractionModeAsString()
Return the method of extraction as a string.
void SetExtractionModeToCellSeededRegions()
Control the extraction of connected surfaces.
void AddRegionsIds(vtkDataSet *output, vtkDataArray *pointArray, vtkDataArray *cellArray)
Add regions ids array to output dataset.
void AddSeed(vtkIdType id)
Add a seed id (point or cell id).
RegionIdAssignment
Enumeration of the various ways to assign RegionIds when the ColorRegions option is on.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Usual vtkAlgorithm method implementations.
int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation *info) override
Usual vtkAlgorithm method implementations.
void InitializeSeedList()
Initialize list of point ids/cell ids used to seed regions.
void DeleteSpecifiedRegion(int id)
Delete a region id to extract.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Usual vtkAlgorithm method implementations.
void SetExtractionModeToPointSeededRegions()
Control the extraction of connected surfaces.
void SetExtractionModeToAllRegions()
Control the extraction of connected surfaces.
void InitializeSpecifiedRegionList()
Initialize list of region ids to extract.
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Usual vtkAlgorithm method implementations.
void SetExtractionModeToSpecifiedRegions()
Control the extraction of connected surfaces.
int GetNumberOfExtractedRegions()
Obtain the number of connected regions.
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
dynamic, self-adjusting array of float
list of point or cell ids
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
dynamic, self-adjusting array of int
Allocate and hold a VTK object.
Superclass for algorithms that produce output of the same type as input.
concrete dataset represents vertices, lines, polygons, and triangle strips
Hold a reference to a vtkObjectBase instance.
#define VTK_EXTRACT_CLOSEST_POINT_REGION
#define VTK_EXTRACT_POINT_SEEDED_REGIONS
#define VTK_EXTRACT_ALL_REGIONS
#define VTK_EXTRACT_CELL_SEEDED_REGIONS
#define VTK_EXTRACT_SPECIFIED_REGIONS
#define VTK_EXTRACT_LARGEST_REGION