| 2472 | { |
| 2473 | template <typename TInputIdType> |
| 2474 | int 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); |
nothing calls this directly
no test coverage detected