[vtkusers] using vtkPolyhedron and clipping.
Billy Araujo
billyaraujo at gmail.com
Thu Aug 30 11:52:03 EDT 2012
I am trying to display to create and display a polyhedron and a clipped
polyhedron by a plane. Does anyone know of a simple example?
Also, I don't understand why I have to add the vtkPolyhedron to
a vtkUnstructuredGrid to display the polyhedron.
Is this the best way to display a polyhedron?
// Geometry
VTK_CREATE(vtkPoints, points);
points->InsertNextPoint(0.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 1.0, 0.0);
points->InsertNextPoint(0.0, 1.0, 0.0);
points->InsertNextPoint(0.0, 0.0, 1.0);
points->InsertNextPoint(1.0, 0.0, 1.0);
points->InsertNextPoint(1.0, 1.0, 1.0);
points->InsertNextPoint(0.0, 1.0, 1.0);
/*
VTK_CREATE(vtkPolyhedron, polyhedron);
polyhedron->GetPointIds()->SetNumberOfIds(8);
polyhedron->GetPointIds()->SetId(0,0);
polyhedron->GetPointIds()->SetId(1,1);
polyhedron->GetPointIds()->SetId(2,2);
polyhedron->GetPointIds()->SetId(3,3);
polyhedron->GetPointIds()->SetId(4,4);
polyhedron->GetPointIds()->SetId(5,5);
polyhedron->GetPointIds()->SetId(6,6);
polyhedron->GetPointIds()->SetId(7,7);
*/
vtkIdType polyhedronPointsIds[8] = {0, 1, 2, 3, 4, 5, 6, 7};
vtkIdType polyhedronFace[6][4] = {{0, 3, 2, 1}, {4, 5, 6, 7},
{1, 2, 6, 5}, {0, 4, 7, 3},
{0, 1, 5, 4}, {2, 3, 7, 6}};
VTK_CREATE(vtkCellArray, polyhedronFaces);
for (int i = 0; i < 6; i++)
{
polyhedronFaces->InsertNextCell(4, polyhedronFace[i]);
}
VTK_CREATE(vtkUnstructuredGrid, uGrid);
uGrid->SetPoints(points);
uGrid->InsertNextCell(VTK_POLYHEDRON, 8, polyhedronPointsIds, 6,
polyhedronFaces->GetPointer());
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120830/87b57137/attachment.htm>
More information about the vtkusers
mailing list