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

Function DrawTriangles

Common/DataModel/Testing/Cxx/UnitTestTriangleIntersection.cxx:33–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31namespace
32{
33void DrawTriangles(double* p1, double* q1, double* r1, double* p2, double* q2, double* r2)
34{
35 // Create a triangle
36 vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
37 vtkIdType pid[6];
38 pid[0] = points->InsertNextPoint(p1[0], p1[1], p1[2]);
39 pid[1] = points->InsertNextPoint(q1[0], q1[1], q1[2]);
40 pid[2] = points->InsertNextPoint(r1[0], r1[1], r1[2]);
41 pid[3] = points->InsertNextPoint(p2[0], p2[1], p2[2]);
42 pid[4] = points->InsertNextPoint(q2[0], q2[1], q2[2]);
43 pid[5] = points->InsertNextPoint(r2[0], r2[1], r2[2]);
44
45 vtkSmartPointer<vtkCellArray> verts = vtkSmartPointer<vtkCellArray>::New();
46 for (int i = 0; i < 6; i++)
47 {
48 verts->InsertNextCell(1, &pid[i]);
49 }
50
51 vtkSmartPointer<vtkTriangle> triangle1 = vtkSmartPointer<vtkTriangle>::New();
52 triangle1->GetPointIds()->SetId(0, 0);
53 triangle1->GetPointIds()->SetId(1, 1);
54 triangle1->GetPointIds()->SetId(2, 2);
55
56 vtkSmartPointer<vtkTriangle> triangle2 = vtkSmartPointer<vtkTriangle>::New();
57 triangle2->GetPointIds()->SetId(0, 3);
58 triangle2->GetPointIds()->SetId(1, 4);
59 triangle2->GetPointIds()->SetId(2, 5);
60
61 vtkSmartPointer<vtkCellArray> triangles = vtkSmartPointer<vtkCellArray>::New();
62 triangles->InsertNextCell(triangle1);
63 triangles->InsertNextCell(triangle2);
64
65 vtkSmartPointer<vtkDoubleArray> pointIds = vtkSmartPointer<vtkDoubleArray>::New();
66 pointIds->SetNumberOfTuples(6);
67 pointIds->SetTuple1(0, 0.);
68 pointIds->SetTuple1(1, 1.);
69 pointIds->SetTuple1(2, 2.);
70 pointIds->SetTuple1(3, 3.);
71 pointIds->SetTuple1(4, 4.);
72 pointIds->SetTuple1(5, 5.);
73
74 // Create a polydata object
75 vtkSmartPointer<vtkPolyData> trianglePolyData = vtkSmartPointer<vtkPolyData>::New();
76
77 // Add the geometry and topology to the polydata
78 trianglePolyData->SetPoints(points);
79 trianglePolyData->SetVerts(verts);
80 trianglePolyData->SetPolys(triangles);
81 trianglePolyData->GetPointData()->SetScalars(pointIds);
82
83 // Create mapper and actor
84 vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
85 mapper->SetInputData(trianglePolyData);
86 mapper->SetScalarRange(0., 5.);
87 vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
88 actor->SetMapper(mapper);
89 actor->GetProperty()->SetPointSize(5);
90

Callers 4

TestNegativeResultFunction · 0.85
TestPositiveResultFunction · 0.85
TestReciprocalResultFunction · 0.85

Calls 15

SetTuple1Method · 0.80
SetVertsMethod · 0.80
SetPolysMethod · 0.80
SetScalarsMethod · 0.80
RenderMethod · 0.65
NewFunction · 0.50
InsertNextPointMethod · 0.45
InsertNextCellMethod · 0.45
SetIdMethod · 0.45
GetPointIdsMethod · 0.45
SetNumberOfTuplesMethod · 0.45
SetPointsMethod · 0.45

Tested by

no test coverage detected