File: TestPolyhedron4.cxx

package info (click to toggle)
paraview 5.11.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 497,236 kB
  • sloc: cpp: 3,171,290; ansic: 1,315,072; python: 134,290; xml: 103,324; sql: 65,887; sh: 5,286; javascript: 4,901; yacc: 4,383; java: 3,977; perl: 2,363; lex: 1,909; f90: 1,255; objc: 143; makefile: 119; tcl: 59; pascal: 50; fortran: 29
file content (46 lines) | stat: -rw-r--r-- 1,542 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    TestPolyhedron4.cxx

  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/

#include "vtkCutter.h"
#include "vtkNew.h"
#include "vtkPlane.h"
#include "vtkPolyData.h"
#include "vtkTestUtilities.h"
#include "vtkXMLUnstructuredGridReader.h"

int TestPolyhedron4(int argc, char* argv[])
{
  // Test that a nonwatertight polyhedron does no make vtkPolyhedron segfault
  char* filename = vtkTestUtilities::ExpandDataFileName(argc, argv,
    "Data/nonWatertightPolyhedron.vtu"); // this is in fact a bad name; the grid *is* watertight

  vtkNew<vtkXMLUnstructuredGridReader> reader;
  reader->SetFileName(filename);
  delete[] filename;

  vtkNew<vtkCutter> cutter;
  vtkNew<vtkPlane> p;
  p->SetOrigin(0, 0, 0);
  p->SetNormal(0, 1, 0);

  cutter->SetCutFunction(p);
  cutter->GenerateTrianglesOn();
  cutter->SetInputConnection(0, reader->GetOutputPort());

  // We want to check this does not segfault. We cannot check the error message
  vtkObject::GlobalWarningDisplayOff();
  cutter->Update();
  return EXIT_SUCCESS; // success
}