[vtkusers] Adding points dynamically
Grzegorz Pytel
bioinfguy at gmail.com
Sat May 2 06:34:57 EDT 2009
I have following variables:
I want to have points added dynamically on mouse click event and force the
gaussian filter to create surface out of modified points and have it
displayed. The commands like splatMapper->Update() or contour->Update() do
not take effect. How should I force GaussianSplatter to recompute surface
and redraw?
I store points in points like this:
vtkPoints * points;
vtkCellArray * vertices;
vtkGaussianSplatter * splatter;
vtkPolyData * pData;
pData = vtkPolyData::New();
pData->SetPoints(points);
pData->SetVerts(vertices);
I use my own function that returns pointer to GaussianSplatter:
vtkGaussianSplatter* GetGaussianSplatter() { return splatter }
My filters I have set up as following:
vtkContourFilter * contour;
vtkPolyDataMapper *splatMapper;
contour = vtkContourFilter::New();
contour->SetInputConnection(this->sculpture->GetGaussianSplatter()->GetOutputPort());
contour->SetValue(0, 0.9);
//contour->SetInput(sculpture->GetGaussianSplatter()->GetOutput());
splatMapper = vtkPolyDataMapper::New();
splatMapper->SetInput(contour->GetOutput());
splatActor = vtkActor::New();
splatActor->SetMapper(splatMapper);
renderer->AddActor(splatActor);
This code does not work properly I have on mouse left down event:
for(int i=0;i<1000;i++)
{
double np[3];
np[0] = rand()/RAND_MAX;
np[1] = rand()/RAND_MAX;
np[2] = rand()/RAND_MAX;
sculpture->AddPoint(np);
}
void Sculpture::AddPoint(double point[])
{
this->points->InsertNextPoint(point);
this->vertices->InsertNextCell(1);
this->vertices->InsertCellPoint(0);
}
Thanks in advance,
Gregory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090502/c66ae488/attachment.htm>
More information about the vtkusers
mailing list