82#ifndef vtkPolyDataEdgeConnectivityFilter_h
83#define vtkPolyDataEdgeConnectivityFilter_h
85#include "vtkFiltersCoreModule.h"
89#define VTK_EXTRACT_POINT_SEEDED_REGIONS 1
90#define VTK_EXTRACT_CELL_SEEDED_REGIONS 2
91#define VTK_EXTRACT_SPECIFIED_REGIONS 3
92#define VTK_EXTRACT_LARGEST_REGION 4
93#define VTK_EXTRACT_ALL_REGIONS 5
94#define VTK_EXTRACT_CLOSEST_POINT_REGION 6
95#define VTK_EXTRACT_LARGE_REGIONS 7
121 vtkGetMacro(ExtractionMode,
int);
141 const char* GetExtractionModeAsString();
177 vtkSetVector2Macro(BarrierEdgeLength,
double);
178 vtkGetVector2Macro(BarrierEdgeLength,
double);
196 vtkSetVector2Macro(ScalarRange,
double);
197 vtkGetVector2Macro(ScalarRange,
double);
248 vtkSetVector3Macro(ClosestPoint,
double);
249 vtkGetVectorMacro(ClosestPoint,
double, 3);
255 RegionGrowingOff = 0,
271 vtkSetClampMacro(RegionGrowing,
int, RegionGrowingOff, SmallRegions);
272 vtkGetMacro(RegionGrowing,
int);
291 vtkSetClampMacro(LargeRegionThreshold,
double, 0.0, 1.0);
292 vtkGetMacro(LargeRegionThreshold,
double);
334 vtkSetMacro(OutputPointsPrecision,
int);
335 vtkGetMacro(OutputPointsPrecision,
int);
354 double BarrierEdgeLength[2];
356 double ScalarRange[2];
360 double ClosestPoint[3];
417 return "ExtractPointSeededRegions";
421 return "ExtractCellSeededRegions";
425 return "ExtractSpecifiedRegions";
429 return "ExtractAllRegions";
433 return "ExtractClosestPointRegion";
437 return "ExtractLargeRegions";
441 return "ExtractLargestRegion";
Proxy object to connect input/output ports.
dynamic, self-adjusting array of char
abstract superclass for arrays of numeric data
keep track of edges (edge is pair of integer id's)
list of point or cell ids
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Superclass for algorithms that produce only polydata as output.
segment polygonal mesh based on shared edge connectivity
vtkIdType NumberOfRegions
int OutputPointsPrecision
void GrowLargeRegionsOff()
Specify a strategy for region growing.
std::vector< double > CellAreas
vtkTypeBool CellRegionAreas
void SetExtractionModeToLargeRegions()
Control the extraction of connected surfaces.
vtkPolyData * GetSource()
Specify the source vtkPolyData object used to specify barrier edges (this is an optional connection....
void GrowSmallRegionsOn()
Specify a strategy for region growing.
std::vector< vtkIdType > Seeds
void SetRegionGrowingToLargeRegions()
Specify a strategy for region growing.
void GrowLargeRegionsOn()
Specify a strategy for region growing.
static vtkPolyDataEdgeConnectivityFilter * New()
Standard methods to instantiate, get type information, and print the object.
vtkSmartPointer< vtkIdList > CellNeighbors
vtkTypeBool ScalarConnectivity
int GetNumberOfSpecifiedRegions()
Get number of specified regions.
vtkSmartPointer< vtkIdTypeArray > RegionSizes
int AssimilateCell(vtkIdType cellId, vtkIdType npts, const vtkIdType *pts)
int IsScalarConnected(vtkIdType cellId, vtkIdType neiId)
void GrowSmallRegionsOff()
Specify a strategy for region growing.
const char * GetExtractionModeAsString()
Return the method of extraction as a string.
double LargeRegionThreshold
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void SetExtractionModeToLargestRegion()
Control the extraction of connected surfaces.
void SetSourceData(vtkPolyData *)
Specify the source vtkPolyData object used to specify barrier edges (this is an optional connection....
~vtkPolyDataEdgeConnectivityFilter() override
void SetExtractionModeToAllRegions()
Control the extraction of connected surfaces.
void SetRegionGrowingToSmallRegions()
Specify a strategy for region growing.
vtkSmartPointer< vtkEdgeTable > Barriers
void ExchangeRegions(vtkIdType currentRegionId, vtkIdType neiId, vtkIdType neiRegId)
vtkPolyDataEdgeConnectivityFilter()
vtkIdType NumberOfExtractedRegions
void SetExtractionModeToSpecifiedRegions()
Control the extraction of connected surfaces.
std::vector< vtkIdType > RegionIds
std::vector< vtkIdType > Wave2
void SetExtractionModeToPointSeededRegions()
Control the extraction of connected surfaces.
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify the source vtkPolyData object used to specify barrier edges (this is an optional connection....
void InitializeSeedList()
Initialize list of point ids/cell ids used to seed regions.
vtkIdType NumCellsInRegion
void SetExtractionModeToCellSeededRegions()
Control the extraction of connected surfaces.
std::vector< char > RegionClassification
void SetRegionGrowingOff()
Specify a strategy for region growing.
std::vector< vtkIdType > PointMap
void DeleteSpecifiedRegion(int id)
Delete a region id to extract.
bool IsBarrierEdge(vtkIdType p0, vtkIdType p1)
int GetNumberOfExtractedRegions()
Obtain the number of connected regions found.
vtkSmartPointer< vtkIdList > CellIds
double ComputeRegionAreas()
void SetExtractionModeToClosestPointRegion()
Control the extraction of connected surfaces.
void DeleteSeed(int id)
Delete a seed id (point or cell id).
std::vector< vtkIdType > SpecifiedRegionIds
vtkSmartPointer< vtkPolyData > Mesh
void GetConnectedNeighbors(vtkIdType cellId, vtkIdType npts, const vtkIdType *pts, vtkIdList *neis)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void AddSpecifiedRegion(int id)
Add a region id to extract.
void AddSeed(int id)
Add a seed id (point or cell id).
vtkIdType FindNumberOfExtractedRegions()
void InitializeSpecifiedRegionList()
Initialize list of region ids to extract.
std::vector< vtkIdType > Wave
vtkSmartPointer< vtkDataArray > InScalars
std::vector< double > RegionAreas
vtkSmartPointer< vtkIdList > CellEdgeNeighbors
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, get type information, and print the object.
vtkSmartPointer< vtkIdList > PointIds
double GetTotalArea()
Obtain the total area of all regions combined.
concrete dataset represents vertices, lines, polygons, and triangle strips
#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_LARGE_REGIONS
#define VTK_EXTRACT_SPECIFIED_REGIONS
#define VTK_EXTRACT_LARGEST_REGION