[vtkusers] Looping help for iterations????Anyone
Lisa S. Avila
lisa.avila at kitware.com
Tue Apr 10 16:42:14 EDT 2001
Hello Shiva,
Are you adding your actors to the renderer inside your loop? You need to do
this in order to add all the actors.
Lisa
At 02:48 PM 4/10/2001, Shiva Bissoon wrote:
>Hi all,
>I have run into a problem with iterating and I was hoping someone would
>help me debug my program.
>This program creates a simple cube with some particles in it.It is tedious
>and time consuming if I want to add 100 particles to place 100 actors,so,
>I tried having a loop so that I can loop through and add the actors but it
>doesn't seem to work.
>I have shown how three particles would be added...using
>addactor2..addactor3..etc.
>if someone can assist me I would be most grateful.
>
>Shiva
>
>
>#created on April 10th 2001, by Shiva Bissoon
>#try and create an iteration for the particles.
>
>
>catch {load vtktcl}
>
>source vtkInt.tcl
>source colors.tcl
>
>#create a window and renderer
>vtkRenderer ren1
>vtkRenderWindow renWin
> renWin AddRenderer ren1
>vtkRenderWindowInteractor iren
> iren SetRenderWindow renWin
>
>#to add a simple cube first
> #create a cube
> vtkCubeSource cuber
> cuber SetXLength 3
> cuber SetYLength 3
> cuber SetZLength 3
>
> #create the mapper
> vtkPolyDataMapper mapper
> mapper SetInput [cuber GetOutput]
>
> #create the actor
> vtkActor cube
> cube SetMapper mapper
> #[cube GetProperty] SetColor 0.8900 0.0900 0.0500
> [cube GetProperty] SetOpacity 0.3
>
>
>#creates some particles
>
> #define a Quadric definition
> vtkQuadric quadric
> quadric SetCoefficients .5 1 .2 0 .1 0 0 .2 0 0
>
> #define a sample function
> vtkSampleFunction sample
> sample SetSampleDimensions 50 50 50
> sample SetImplicitFunction quadric
> #sample SetModelBounds 0 1 0 1 2 0
> sample Update
> sample Print
>
> #Create one elliptical surface F(x,y,z) = constant
> between range specified
> vtkContourFilter contours
> contours SetInput [sample GetOutput]
> #contours GenerateValues 1 1.2 1.2
>
> #create the mapper
> vtkPolyDataMapper contMapper
> contMapper SetInput [contours GetOutput]
> contMapper ScalarVisibilityOff
>
> #vtkLODActor contourActor1
> #contourActor1 SetMapper contMapper
> #[contourActor1 GetProperty] SetColor 1.0000
> 0.5490 0.0000
> #contMapper SetScalarRange 0.0 1.2
>
> ##create the actor--add iteration here!!!
>
>#here is the test iteration
> vtkMath math
>
> for {set i 1} {$i < 4} {incr i} {
>
> set $x [math Random -2 2]
> set $y [math Random -1 1]
> set $z [math Random -1 1]
>
> vtkActor contActor$i
> contActor$i SetMapper contMapper
> contActor$i SetOrigin 1 10 0
> contActor$i SetPosition $x $y $z
> #contActor SetPosition 0.3 .5 .5
> [contActor GetProperty] SetColor 1 0 0
> # contActor RotateX 10
> }
>#it doesn't work.
>
> #add another actor
> vtkActor contActor2
> contActor2 SetMapper contMapper
> contActor2 SetOrigin 1 10 0
> contActor2 SetPosition 0 .2 -.5
> [contActor2 GetProperty] SetColor 0.2510 0.8784
> 0.8157
> #turquoise
> contActor RotateX 2
> contActor RotateY 5
>
> #add a third actor
> vtkActor contActor3
> contActor3 SetMapper contMapper
> contActor3 SetOrigin 1 10 0
> contActor3 SetPosition -.2 .25 .1
> [contActor3 GetProperty] SetColor 1 0 1
> contActor RotateY 1
>
>
>
>
># add the actors and backgrd
>
> renWin SetSize 500 500
> #ren1 SetBackground 1.0000 0.8941 0.7098
> ren1 SetBackground 1 1 1
> ren1 AddActor contActor$i
> #ren1 AddActor outlineActor
> ren1 AddActor contActor2
> ren1 AddActor contActor3
>
>
>
>#add the actor to the render window
>ren1 AddActor cube
>
>[ren1 GetActiveCamera] Azimuth 20
>[ren1 GetActiveCamera] Elevation 10
>[ren1 GetActiveCamera] Dolly 1.1
>ren1 ResetCameraClippingRange
>
>
># enable user interface interactor
>iren SetUserMethod {wm deiconify .vtkInteract}
>iren Initialize
>renWin Render
>
>
>ren1 SetBackground 1.0000 0.9804 0.9804
>renWin SetSize 300 300
>
># prevent the tk window from showing up then start the event loop
>wm withdraw .
>
>
>
>_________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
>
>_______________________________________________
>This is the private VTK discussion list. Please keep messages on-topic.
>Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers
More information about the vtkusers
mailing list