[vtkusers] rendring problem

Amy Squillacote amy.squillacote at kitware.com
Thu Jun 21 15:01:45 EDT 2007


In VTK, you must have cells to render. If your dataset only contains 
points and you want to render points, you will need to create a 
vtkVertex cell per point in your dataset. The code to do that would look 
something like the following.

Inside your while loop, before the line "i++;", add these lines.

vtkCellType cellId = i;
m_polydata->InsertNextCell(VTK_VERTEX, 1, &cellId);

- Amy

medamine wrote:
> Hi;
> i'm trying to create a mesh from .txt file in witch i have only points.after
> creation i get a mesh with 1024 pts but nothing appear in the screan when
> rendring.
> Thanks
>
> FILE *fp; 
> float x=0;
> float y=0;
> float z=0;
> const float p[3]={0,0,0};
> char *c; 
> int i=0;
> vtkPolyData *m_polydata=vtkPolyData::New();
> vtkPoints *points = vtkPoints::New();
> float pts[3]={10,10,10};
> if((fp=fopen(resfile,"r"))==NULL) 
> { printf("Le fichier FILES ne veut pas s'ouvrire! \n"); exit(1);} 
> while(!feof(fp))
> { fscanf(fp,"%c %f %f %f",&c,&x,&y,&z);
> pts[0]=x;pts[1]=y;pts[2]=z;
> points->InsertPoint(i,pts);
> i++;
> }
>    m_polydata->SetPoints(points);
>   m_polydata->Update();
>
>  vtkPolyDataWriter *writer=vtkPolyDataWriter::New();
>  writer->SetFileName(plyfile);
>  writer->SetInput(m_polydata);
>  writer->Update();
>
> /////////test visualisation
>  vtkPolyDataMapper *m_polydataMapper = vtkPolyDataMapper::New();
>  m_polydataMapper->SetInput(m_polydata);
> // m_polydataMapper->SetScalarRange(0,256);
>  vtkActor *m_Actor = vtkActor::New();
>  m_Actor->SetMapper(m_polydataMapper);
>  //m_Actor->GetProperty()->SetRepresentationToPoints();
>  m_Actor->GetProperty()->SetColor(1, 0, 0);
> // m_Actor->GetProperty()->SetDiffuseColor(1,1,1);
>  vtkRenderer *m_renderer = vtkRenderer::New();
>  vtkRenderWindow *m_renWin = vtkRenderWindow::New();
>  m_renWin->AddRenderer(m_renderer);
>  vtkRenderWindowInteractor *m_iren = vtkRenderWindowInteractor::New();
>  m_iren->SetRenderWindow(m_renWin);
>  vtkInteractorStyleTrackballCamera *m_style =
> vtkInteractorStyleTrackballCamera::New();
>  m_iren->SetInteractorStyle(m_style);
>  m_renderer->AddActor(m_Actor);
>  m_renderer->SetBackground(0, 0, 0);
>  m_renWin->SetSize(300,300);
>  m_renWin->Render();
>  m_iren->Start();
>  //Free 
>  m_polydata->Delete();
>  m_polydataMapper->Delete();
>  m_Actor->Delete();
>  m_renderer->Delete();
>  m_renWin->Delete();
>  m_iren->Delete();
>   

-- 
Amy Squillacote
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
Phone: (518) 371-3971 x106




More information about the vtkusers mailing list