vtkDataSet
codes
#include <vtkSmartPointer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkMarchingCubes.h>
#include <vtkPoints.h>
#include <vtkStructuredPointsReader.h>
#include <vtkLine.h>
#include <vtkPolyDataWriter.h>
#include <vtkPolyDataReader.h>
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);
#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL2,vtkRenderingOpenGL2)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL2)
int main(int argc, char *argv[])
{
vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
points->InsertNextPoint(1.0, 0.0, 0.0);
points->InsertNextPoint(0.0, 0.0, 0.0);
points->InsertNextPoint(0.0, 0.0, 0.0);
vtkSmartPointer<vtkLine> line0 = vtkSmartPointer<vtkLine>::New();
line0->GetPointIds()->SetId(0, 0);
line0->GetPointIds()->SetId(1, 1);
vtkSmartPointer<vtkLine> line1 = vtkSmartPointer<vtkLine>::New();
line1->GetPointIds()->SetId(0, 1);
line1->GetPointIds()->SetId(1, 2);
vtkSmartPointer<vtkLine> line2 = vtkSmartPointer<vtkLine>::New();
line2->GetPointIds()->SetId(0, 2);
line2->GetPointIds()->SetId(1, 0);
vtkSmartPointer<vtkCellArray> lines = vtkSmartPointer<vtkCellArray>::New();
lines->InsertNextCell(line0);
lines->InsertNextCell(line1);
lines->InsertNextCell(line2);
vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPointData>::New();
polydata->SetPoints(points);
polydata->SetLines(lines);
vtkSmartPointer<vtkPolyDataWriter> writer = vtkSmartPointer<vtkPolyDataWriter>::New();
writer->SetFileName("TrangleLines.vtk");
writer->SetInputData(polydata);
writer->Write();
return 0;
}