19 #include <QtCore/QObject>
20 #include <QtCore/QSet>
21 #include <QtCore/QString>
124 vtkPolyData* polyData =
nullptr);
143 bool removeSeed =
false,
144 bool removeIntermediateLayers =
false);
171 vtkPolyData* polyData,
174 bool removeSeed =
false,
175 bool removeIntermediateLayers =
false);
205 vtkPolyData* polyData,
208 bool removeSeed =
false,
209 bool removeIntermediateLayers =
false);
239 static QSet<vtkIdType> getCellNeighbors(vtkPolyData* polyData,
241 static QSet<vtkIdType> getPointNeighbors(vtkPolyData* polyData,
243 static bool isBoundaryCell(vtkPolyData* polyData,
245 const QSet<vtkIdType>& selectedSet);
246 static bool isBoundaryPoint(vtkPolyData* polyData,
248 const QSet<vtkIdType>& selectedSet);
249 double computeCellArea(vtkPolyData* polyData, vtkIdType cellId);
250 double computeAngleBetweenNormals(
const double n1[3],
const double n2[3]);
251 bool isPointInBounds(
const double point[3],
const double bounds[6]);
252 double computeDistance(
const double p1[3],
const double p2[3]);
253 int countCellNeighbors(vtkPolyData* polyData, vtkIdType cellId);
309 const QString& attributeName,
318 const QString& attributeName,
346 const double bounds[6]);
388 static QStringList getAttributeNames(vtkPolyData* polyData,
389 bool pointData =
true);
403 double computeCellArea(vtkPolyData* polyData, vtkIdType cellId);
404 double computeAngleBetweenNormals(
const double n1[3],
const double n2[3]);
405 bool isPointInBounds(
const double point[3],
const double bounds[6]);
406 double computeDistance(
const double p1[3],
const double p2[3]);
407 int countCellNeighbors(vtkPolyData* polyData, vtkIdType cellId);
Selection algebra operations.
Operation
Algebra operations Using enum class to avoid macro conflicts (e.g., DIFFERENCE may be defined as a ma...
void progressChanged(int percentage)
Emitted when filtering progress changes.
void filteringComplete(const cvSelectionData &result)
Emitted when filtering is complete.
void operationComplete(const cvSelectionData &result)
Emitted when operation is complete.
Encapsulates selection data without exposing VTK types.
Advanced selection filtering system.
ComparisonOp
Comparison operators.
void filteringComplete(const cvSelectionData &result)
Emitted when filtering is complete.
void progressChanged(int percentage)
Emitted when filtering progress changes.
@ ATTRIBUTE_RANGE
Filter by attribute value range.
@ SPATIAL_DISTANCE
Filter by distance from point.
@ GEOMETRIC_AREA
Filter by cell area.
@ GEOMETRIC_ANGLE
Filter by normal angle.
@ SPATIAL_BBOX
Filter by bounding box.
#define QPCL_ENGINE_LIB_API