VTK/Tutorials/TriangleGeometryVertices
This example writes the coordinates of the corners of a triangle to a vtp file. There is now geometry (points) as well as topology (vertices). If you open this file in Paraview, you will now see the points immediately.
<source lang="cpp">
- include <iostream>
- include <vector>
- include "vtkCellArray.h"
- include "vtkPoints.h"
- include "vtkXMLPolyDataWriter.h"
- include "vtkPolyData.h"
struct Point { double x,y,z; Point(const double xin, const double yin, const double zin) : x(xin), y(yin), z(zin) {} };
int main() { //setup points std::vector<Point> Coords; Coords.push_back(Point(-1.0, 1.0, 0.0)); Coords.push_back(Point(1.0, 1.0, 0.0)); Coords.push_back(Point(1.0, -1.0, 0.0));
vtkPoints* Points = vtkPoints::New(); vtkCellArray* Vertices = vtkCellArray::New();
for ( unsigned int i = 0; i < Coords.size(); ++i ) { vtkIdType pid[1]; Point P = Coords[i]; pid[0] = Points->InsertNextPoint(P.x, P.y, P.z); Vertices->InsertNextCell(1,pid); }
vtkPolyData* polydata = vtkPolyData::New();
polydata->SetPoints(Points); polydata->SetVerts(Vertices);
vtkXMLPolyDataWriter* writer = vtkXMLPolyDataWriter::New(); writer->SetFileName("TriangleVerts.vtp"); writer->SetInput(polydata); writer->Write();
} </source>