I am trying to color a mesh with another scalar, bu no matter how hard I tried, I always get a dull gray, I am using the approach described in the VTK user guide (p. 86, 5.1) I guessed my problem is the example is used to color isosurface, but what I have is mesh generate from points cloud, any suggestion? I have been struggle for a while, so any help will be appreciated!<br> <br> <br> <br> # Read some points. Use a programmable filter to read them.<br> #<br> vtkProgrammableSource pointSource<br> &nbsp;&nbsp;&nbsp; pointSource SetExecuteMethod readPoints<br> &nbsp;&nbsp;&nbsp; <br> <br> <br> &nbsp;vtkDoubleArray colorArray<br> &nbsp;&nbsp;&nbsp;&nbsp; colorArray SetName "HU"<br> &nbsp;&nbsp;&nbsp;&nbsp; vtkPoints points<br> <br> proc readPoints {} {<br> <br> &nbsp;&nbsp;&nbsp; set output [pointSource GetPolyDataOutput]<br> &nbsp;&nbsp;&nbsp; # vtkPoints points<br> &nbsp;&nbsp;&nbsp; $output SetPoints points<br> &nbsp;&nbsp;&nbsp; <br> &nbsp;&nbsp; set file [open
 "data/elm-1.dat" r]<br> &nbsp;&nbsp; while { [gets $file line] != -1 } {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scan $line "%f %f %f %f %f %f %f %f %f" x y z head v1 v2 v3 v4 v5<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;points InsertNextPoint $x $y $head<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;colorArray InsertNextValue [expr $head/10000*5]<br> &nbsp;&nbsp; <br> &nbsp;<br> &nbsp;&nbsp; }<br> &nbsp;&nbsp; <br> &nbsp;&nbsp; points Delete; #okay, reference counting<br> }<br> <br> <br> [[pointSource GetPolyDataOutput] GetPointData] SetScalars colorArray<br> <br> &nbsp; &nbsp;&nbsp;&nbsp; <br> vtkSurfaceReconstructionFilter surf<br> &nbsp;&nbsp;&nbsp; surf SetInput [pointSource GetPolyDataOutput]<br> <br> vtkContourFilter cf<br> &nbsp;&nbsp;&nbsp; cf SetInputConnection [surf GetOutputPort]<br> &nbsp;&nbsp;&nbsp; cf SetValue 0 0.0<br> <br> # Sometimes the contouring algorithm can create a volume whose gradient<br> # vector and ordering of polygon
 (using the right hand rule) are <br> # inconsistent. vtkReverseSense cures this problem.<br> vtkReverseSense reverse<br> &nbsp; reverse SetInputConnection [cf GetOutputPort]<br> &nbsp; reverse ReverseCellsOn<br> &nbsp; reverse ReverseNormalsOn<br> <br> vtkPolyDataMapper map<br> &nbsp;&nbsp;&nbsp; map SetInputConnection [reverse GetOutputPort]<br> &nbsp;&nbsp;&nbsp; map ScalarVisibilityOn<br> &nbsp; <br> &nbsp;&nbsp;&nbsp; map SetScalarRange 0 1.5 //range for data in colorArray<br> &nbsp;&nbsp;&nbsp;&nbsp; map SetScalarModeToUsePointFieldData<br> &nbsp;&nbsp;&nbsp; map ColorByArrayComponent "HU" 0<br> <br> <br> vtkLODActor surfaceActor<br> &nbsp;&nbsp;&nbsp; surfaceActor SetMapper map<br> <br> &nbsp;&nbsp;&nbsp; <br> <br> <br> # Create the RenderWindow, Renderer and both Actors<br> #<br> vtkRenderer ren1<br> vtkRenderWindow renWin<br> &nbsp;&nbsp;&nbsp; renWin AddRenderer ren1<br> vtkRenderWindowInteractor iren<br> &nbsp;&nbsp;&nbsp; iren SetRenderWindow renWin<br> <br> #
 Add the actors to the renderer, set the background and size<br> #<br> ren1 AddActor surfaceActor<br> ren1 SetBackground 1 1 1<br> renWin SetSize 400 400<br> [ren1 GetActiveCamera] SetFocalPoint 0 0 0<br> [ren1 GetActiveCamera] SetPosition 1 0 0<br> [ren1 GetActiveCamera] SetViewUp 0 0 1<br> ren1 ResetCamera<br> [ren1 GetActiveCamera] Azimuth 20<br> [ren1 GetActiveCamera] Elevation 30<br> [ren1 GetActiveCamera] Dolly 1.2<br> ren1 ResetCameraClippingRange<br> <br> # render the image<br> #<br> iren AddObserver UserEvent {wm deiconify .vtkInteract}<br> <br> renWin Render<br> <br> # prevent the tk window from showing up then start the event loop<br> wm withdraw .<br> <br> <br> <br> <p>&#32;
                <hr size=1><a href="http://us.rd.yahoo.com/evt=43256/*http://advision.webevents.yahoo.com/mailbeta"> All-new Yahoo! Mail </a>- Fire up a more powerful email and get things done faster.