MCPcopy Create free account
hub / github.com/Kitware/VTK / ExecutePolyData

Function ExecutePolyData

Filters/Geometry/vtkGeometryFilter.cxx:2474–2648  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2472{
2473template <typename TInputIdType>
2474int ExecutePolyData(vtkGeometryFilter* self, vtkDataSet* dataSetInput, vtkPolyData* output,
2475 vtkExcludedFaces<TInputIdType>* exc)
2476{
2477 vtkPolyData* input = static_cast<vtkPolyData*>(dataSetInput);
2478 vtkIdType cellId;
2479 int i;
2480 int allVisible;
2481 vtkIdType npts;
2482 const vtkIdType* pts;
2483 vtkPoints* p = input->GetPoints();
2484 vtkIdType numCells = input->GetNumberOfCells();
2485 vtkIdType numPts = input->GetNumberOfPoints();
2486 vtkPointData* pd = input->GetPointData();
2487 vtkCellData* cd = input->GetCellData();
2488 vtkPointData* outputPD = output->GetPointData();
2489 vtkCellData* outputCD = output->GetCellData();
2490 vtkIdType newCellId, ptId;
2491 int visible, type;
2492 double x[3];
2493 unsigned char* cellGhosts = nullptr;
2494 vtkStaticCellLinksTemplate<TInputIdType>* links = (exc == nullptr ? nullptr : exc->Links);
2495
2496 vtkDebugWithObjectMacro(self, << "Executing geometry filter for poly data input");
2497
2498 if (cd)
2499 {
2500 if (auto ghosts = cd->GetGhostArray())
2501 {
2502 cellGhosts = ghosts->GetPointer(0);
2503 }
2504 }
2505
2506 auto cellClipping = self->GetCellClipping();
2507 auto cellMinimum = self->GetCellMinimum();
2508 auto cellMaximum = self->GetCellMaximum();
2509 auto pointClipping = self->GetPointClipping();
2510 auto pointMinimum = self->GetPointMinimum();
2511 auto pointMaximum = self->GetPointMaximum();
2512 auto extentClipping = self->GetExtentClipping();
2513 auto extent = self->GetExtent();
2514 if ((!cellClipping) && (!pointClipping) && (!extentClipping))
2515 {
2516 allVisible = 1;
2517 }
2518 else
2519 {
2520 allVisible = 0;
2521 }
2522
2523 IdRecorder origCellIds(
2524 self->GetPassThroughCellIds(), self->GetOriginalCellIdsName(), output->GetCellData());
2525 IdRecorder origPointIds(
2526 self->GetPassThroughPointIds(), self->GetOriginalPointIdsName(), output->GetPointData());
2527
2528 // vtkPolyData points are not culled
2529 if (origPointIds.PassThru())
2530 {
2531 origPointIds.SetNumberOfValues(numPts);

Callers

nothing calls this directly

Calls 15

PassThruMethod · 0.80
AllocateEstimateMethod · 0.80
CheckAbortMethod · 0.80
ForFunction · 0.50
GetPointsMethod · 0.45
GetNumberOfCellsMethod · 0.45
GetNumberOfPointsMethod · 0.45
GetPointDataMethod · 0.45
GetCellDataMethod · 0.45
GetGhostArrayMethod · 0.45
GetPointerMethod · 0.45
GetExtentMethod · 0.45

Tested by

no test coverage detected