[vtkusers] How to display points in VTK?
Bob
oraciotaglia at tiscali.it
Fri Nov 2 13:31:15 EDT 2007
2007/11/1, Alam, Mohammed <malam at med.wayne.edu>:
[...]
>
> Can someone please explain me how can I display a set of points (cloud of
> points) in VTK? What will the vtk file format and the process? Thank you.
>
[...]
Well, the file formats that I use to store clouds of points is simple
ASCII xyz, one point per line, in the form
x[0] y[0] z[0]
x[1] y[1] z[1]
....
You can simply read and convert these to binary using, for example,
C++ STL iostreams tools.
The procedure to visualize the points it's like the following,
assuming you have read nump points in the vector of floats pointed to
by pp:
----------------
vtkPoints* newp= vtkPoints::New();
vtkCellArray* newv= vtkCellArray::New();
vtkPolyData* pd= vtkPolyData::New();
pd->SetPoints( newp );
pd->SetVerts( newv );
while( nump-- > 0 )
{
vtkIdType id= newp->InsertNextPoint( *pp++ );
newv->InsertNextCell( 1, &id );
}
vtkPolyDataMapper* mapper= vtkPolyDataMapper::New();
vtkActor* actor= vtkActor::New();
mapper->SetInput( pd );
actor->SetMapper( mapper );
----------------
Once done this, you have to put the created actor in a Renderer
instance in order to view the points in a render window.
HTH.
Bob
More information about the vtkusers
mailing list