[vtkusers] HELP!! What am I doing wrong???
    Jean M. Favre 
    jfavre at cscs.ch
       
    Mon Jul  7 06:12:12 EDT 2003
    
    
  
marisa aurelio wrote:
> 
> Hi vtkUsers,
> 
> I have 2 superquadrics that I add to a vtkActtorCollection and then try to
> visualize them.
> But the only superquadrics I see is the last one that I add to my
> vtkActorCollection.
> 
> void main()
> {
>      vtkActorCollection *imageActorCollection = vtkActorCollection::New();
>      int n_elipsoid = 2;
> 
>      for(int i = 0; i < n_elipsoid; i++)
>      {
>           vtkSuperquadricSource *Superquadric =
> vtkSuperquadricSource::New();
>           vtkPolyDataMapper *eliMapper = vtkPolyDataMapper::New();
>           vtkActor *SuperquadricActor = vtkActor::New();
> 
>           if(n_elipsoid == 1)
>           {
>                 Superquadric->SetThetaResolution( 100.0 );
>                 Superquadric->SetPhiResolution( 100.0 );
>                 Superquadric->SetPhiRoundness( 1 );
>                 Superquadric->SetThetaRoundness(1);
>                 Superquadric->SetScale(0.25,0.35,0.25);
>           }
>           else
>           {
>                 Superquadric->SetThetaResolution( 100.0 );
>                 Superquadric->SetPhiResolution( 100.0 );
>                 Superquadric->SetPhiRoundness( 1 );
>                 Superquadric->SetThetaRoundness(1);
>                 Superquadric->SetScale(0.5,0.6,0.5);
> 
>         SuperquadricActor->GetProperty()->SetRepresentationToWireframe();
>           }
> 
>           eliMapper->SetInput(Superquadric->GetOutput());
>           SuperquadricActor->SetMapper( eliMapper );
> 
>           imageActorCollection->AddItem(SuperquadricActor);
>      }
Your if() test is wrong and the if-body is never executed, thus, you
have 2 actors which are exactly the same since the else-body get
executed twice.
replace if(n_elipsoid == 1) by if(i == 1) and it will work.
-- 
Dr. Jean M. Favre,                            email:favre at cscs.ch
http://www.cscs.ch/people/Favre.html
CSCS, Swiss Center for Scientific Computing | Tel:  +41 (91) 610.82.40
Via Cantonale, 6928 Manno, Switzerland      | Fax:  +41 (91) 610.82.82
    
    
More information about the vtkusers
mailing list