![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Advanced selection filtering system. More...
#include <cvSelectionAlgebra.h>


Public Types | |
| enum | FilterType { ATTRIBUTE_RANGE , GEOMETRIC_AREA , GEOMETRIC_ANGLE , SPATIAL_BBOX , SPATIAL_DISTANCE , TOPOLOGY_NEIGHBORS } |
| Filter types. More... | |
| enum | ComparisonOp { EQUAL , NOT_EQUAL , LESS_THAN , LESS_EQUAL , GREATER_THAN , GREATER_EQUAL , BETWEEN , OUTSIDE } |
| Comparison operators. More... | |
Signals | |
| void | progressChanged (int percentage) |
| Emitted when filtering progress changes. More... | |
| void | filteringComplete (const cvSelectionData &result) |
| Emitted when filtering is complete. More... | |
Public Member Functions | |
| cvSelectionFilter (QObject *parent=nullptr) | |
| ~cvSelectionFilter () override | |
| cvSelectionData | filterByAttributeRange (vtkPolyData *polyData, const cvSelectionData &input, const QString &attributeName, double minValue, double maxValue) |
| Filter by attribute value range. More... | |
| cvSelectionData | filterByAttributeComparison (vtkPolyData *polyData, const cvSelectionData &input, const QString &attributeName, ComparisonOp op, double value) |
| Filter by attribute comparison. More... | |
| cvSelectionData | filterByArea (vtkPolyData *polyData, const cvSelectionData &input, double minArea, double maxArea) |
| Filter cells by area. More... | |
| cvSelectionData | filterByNormalAngle (vtkPolyData *polyData, const cvSelectionData &input, double refX, double refY, double refZ, double minAngleDeg, double maxAngleDeg) |
| Filter by normal angle relative to reference direction. More... | |
| cvSelectionData | filterByBoundingBox (vtkPolyData *polyData, const cvSelectionData &input, const double bounds[6]) |
| Filter by bounding box. More... | |
| cvSelectionData | filterByDistanceFromPoint (vtkPolyData *polyData, const cvSelectionData &input, double x, double y, double z, double minDistance, double maxDistance) |
| Filter by distance from point. More... | |
| cvSelectionData | filterByNeighborCount (vtkPolyData *polyData, const cvSelectionData &input, int minNeighbors, int maxNeighbors) |
| Filter by neighbor count (topology) More... | |
Static Public Member Functions | |
| static cvSelectionData | combineAND (const cvSelectionData &a, const cvSelectionData &b) |
| Combine two selections with AND operation. More... | |
| static cvSelectionData | combineOR (const cvSelectionData &a, const cvSelectionData &b) |
| Combine two selections with OR operation. More... | |
| static cvSelectionData | invert (vtkPolyData *polyData, const cvSelectionData &input) |
| Invert selection (NOT operation) More... | |
| static QStringList | getAttributeNames (vtkPolyData *polyData, bool pointData=true) |
| Get attribute names available in polyData. More... | |
Advanced selection filtering system.
Provides various filters to refine selections:
Based on ParaView's selection filter functionality.
Definition at line 271 of file cvSelectionAlgebra.h.
Comparison operators.
| Enumerator | |
|---|---|
| EQUAL | |
| NOT_EQUAL | |
| LESS_THAN | |
| LESS_EQUAL | |
| GREATER_THAN | |
| GREATER_EQUAL | |
| BETWEEN | |
| OUTSIDE | |
Definition at line 290 of file cvSelectionAlgebra.h.
Filter types.
Definition at line 278 of file cvSelectionAlgebra.h.
|
explicit |
Definition at line 1043 of file cvSelectionAlgebra.cpp.
References CVLog::PrintVerbose().
|
override |
Definition at line 1048 of file cvSelectionAlgebra.cpp.
|
static |
Combine two selections with AND operation.
Definition at line 1438 of file cvSelectionAlgebra.cpp.
References a, cvSelectionData::count(), cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), CVLog::PrintVerbose(), qSetFromVector(), qVectorFromSet(), and result.
|
static |
Combine two selections with OR operation.
Definition at line 1463 of file cvSelectionAlgebra.cpp.
References a, cvSelectionData::count(), cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), CVLog::PrintVerbose(), qSetFromVector(), qVectorFromSet(), and result.
| cvSelectionData cvSelectionFilter::filterByArea | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| double | minArea, | ||
| double | maxArea | ||
| ) |
Filter cells by area.
Definition at line 1175 of file cvSelectionAlgebra.cpp.
References cvSelectionData::CELLS, cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), CVLog::PrintVerbose(), and CVLog::Warning().
| cvSelectionData cvSelectionFilter::filterByAttributeComparison | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| const QString & | attributeName, | ||
| ComparisonOp | op, | ||
| double | value | ||
| ) |
Filter by attribute comparison.
Definition at line 1101 of file cvSelectionAlgebra.cpp.
References e, EQUAL, cvSelectionData::fieldAssociation(), GREATER_EQUAL, GREATER_THAN, cvSelectionData::ids(), cvSelectionData::isEmpty(), LESS_EQUAL, LESS_THAN, NOT_EQUAL, cvSelectionData::POINTS, CVLog::PrintVerbose(), and CVLog::Warning().
| cvSelectionData cvSelectionFilter::filterByAttributeRange | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| const QString & | attributeName, | ||
| double | minValue, | ||
| double | maxValue | ||
| ) |
Filter by attribute value range.
Definition at line 1051 of file cvSelectionAlgebra.cpp.
References cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), cvSelectionData::POINTS, CVLog::PrintVerbose(), and CVLog::Warning().
| cvSelectionData cvSelectionFilter::filterByBoundingBox | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| const double | bounds[6] | ||
| ) |
Filter by bounding box.
Definition at line 1266 of file cvSelectionAlgebra.cpp.
References cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), cvSelectionData::POINTS, and CVLog::PrintVerbose().
| cvSelectionData cvSelectionFilter::filterByDistanceFromPoint | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| double | x, | ||
| double | y, | ||
| double | z, | ||
| double | minDistance, | ||
| double | maxDistance | ||
| ) |
Filter by distance from point.
Definition at line 1329 of file cvSelectionAlgebra.cpp.
References cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), cvSelectionData::POINTS, CVLog::PrintVerbose(), x, y, and z.
| cvSelectionData cvSelectionFilter::filterByNeighborCount | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| int | minNeighbors, | ||
| int | maxNeighbors | ||
| ) |
Filter by neighbor count (topology)
Definition at line 1399 of file cvSelectionAlgebra.cpp.
References cvSelectionData::CELLS, cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), CVLog::PrintVerbose(), and CVLog::Warning().
| cvSelectionData cvSelectionFilter::filterByNormalAngle | ( | vtkPolyData * | polyData, |
| const cvSelectionData & | input, | ||
| double | refX, | ||
| double | refY, | ||
| double | refZ, | ||
| double | minAngleDeg, | ||
| double | maxAngleDeg | ||
| ) |
Filter by normal angle relative to reference direction.
Definition at line 1213 of file cvSelectionAlgebra.cpp.
References cvSelectionData::CELLS, cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), normal, normals, CVLog::PrintVerbose(), and CVLog::Warning().
|
signal |
Emitted when filtering is complete.
|
static |
Get attribute names available in polyData.
Definition at line 1514 of file cvSelectionAlgebra.cpp.
References data.
|
static |
Invert selection (NOT operation)
Definition at line 1487 of file cvSelectionAlgebra.cpp.
References cvSelectionData::count(), cvSelectionData::fieldAssociation(), cvSelectionData::ids(), cvSelectionData::isEmpty(), cvSelectionData::POINTS, CVLog::PrintVerbose(), and qSetFromVector().
|
signal |
Emitted when filtering progress changes.