[vtkusers] Removing al actors from a Renderer (I get multiple XYPlots in one renderer)
John Hunter
jdhunter at ace.bsd.uchicago.edu
Fri Apr 4 07:24:40 EST 2003
>>>>> "Nico" == Nico Vermaas <vermaas at astron.nl> writes:
Nico> Hi, I want to draw and update an XYPlotActor, but when I
Nico> draw a new one (by addingAddActor2D(xyplot)) then the old
Nico> one just also stays in there. So I need to delete the old
Nico> one first.
Nico> I tried this... and I do get the right count that increases
Nico> every time I add an actor. But the Removing part does not
Nico> work.
Nico> Q: How do I delete all actors from a renderer?
Perhaps you need to call InitTraversal first... And are you calling
Render after you remove the actors?
vtkActorCollection *actors = vtkActorCollection::New();
int NumberOfActors = renderer->VisibleActorCount();
actors=this->renderer->GetActors();
actors->InitTraversal()
for (int i=0; i<NumberOfActors; i++) {
this->renderer->RemoveActor(actors->GetNextActor());
}
renderer->Render()
actors->Delete();
John Hunter
More information about the vtkusers
mailing list