<div class="gmail_quote">On Fri, Feb 3, 2012 at 2:19 AM, Gishara Indeewarie <span dir="ltr">&lt;<a href="mailto:gish.777@gmail.com">gish.777@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<div><br></div><div>I have a set of points (x,y,z) and the values of each point. I have created a surface according to the following example.</div><div><a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/Filters/SurfaceFromUnorganizedPoints" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/Cxx/Filters/SurfaceFromUnorganizedPoints</a> </div>

<div> </div><div>And I want to create a color map by giving colors to each point according to the value of each point.  </div><div>My problem is that I can&#39;t see the color map in my example. All I see is the surface with a plain color.</div>

<div>The code is as below:</div><div><br clear="all"><div><div>vtkPoints *points = newPts;//ReadCFDData2();</div><div><span style="white-space:pre-wrap">        </span></div><div>vtkSmartPointer&lt;vtkPolyData&gt; polydata = vtkSmartPointer&lt;vtkPolyData&gt;::New();</div>

<div>  polydata-&gt;SetPoints(points);</div><div><br></div><div>  vtkSmartPointer&lt;vtkDoubleArray&gt; weights = vtkSmartPointer&lt;vtkDoubleArray&gt;::New();</div><div>  weights-&gt;SetNumberOfValues(PoValues.GetSize());</div>

<div>  for(int i=0; i&lt; PoValues.GetSize();i++){</div><div>  weights-&gt;SetValue(i, PoValues[i]);</div><div>  }</div><div>  polydata-&gt;GetPointData()-&gt;SetScalars(weights);</div><div> </div><div>  vtkSmartPointer&lt;vtkVertexGlyphFilter&gt; glyphFilter =</div>

<div>    vtkSmartPointer&lt;vtkVertexGlyphFilter&gt;::New();</div><div>#if VTK_MAJOR_VERSION &lt;= 5</div><div>  glyphFilter-&gt;SetInputConnection(polydata-&gt;GetProducerPort());</div><div>#else</div><div>  glyphFilter-&gt;SetInputData(polydata);</div>

<div>#endif</div><div>  glyphFilter-&gt;Update();</div><div> </div><div>  // Create a plane to cut</div><div>  vtkSmartPointer&lt;vtkPlane&gt; plane =</div><div>    vtkSmartPointer&lt;vtkPlane&gt;::New();</div><div>  plane-&gt;SetOrigin(polydata-&gt;GetCenter());</div>

<div>  plane-&gt;SetNormal(1,1,1);</div><div><br></div><div>  </div><div>  // Construct the surface and create isosurface.<span style="white-space:pre-wrap">        </span></div><div>  vtkSmartPointer&lt;vtkSurfaceReconstructionFilter&gt; surf = </div>

<div>    vtkSmartPointer&lt;vtkSurfaceReconstructionFilter&gt;::New();</div><div><br></div><div>  surf-&gt;SetInput(polydata);</div><div> //</div><div>  vtkSmartPointer&lt;vtkContourFilter&gt; cf =  vtkSmartPointer&lt;vtkContourFilter&gt;::New();</div>

<div>  cf-&gt;SetInputConnection(surf-&gt;GetOutputPort());</div><div><br></div><div>   // Create the color map</div><div>  vtkSmartPointer&lt;vtkLookupTable&gt; colorLookupTable = vtkSmartPointer&lt;vtkLookupTable&gt;::New();</div>

<div>  colorLookupTable-&gt;SetNumberOfColors(64);</div><div>  colorLookupTable-&gt;SetHueRange( 0.0,0.667);</div><div>  colorLookupTable-&gt;SetTableRange(0,3);</div><div>  colorLookupTable-&gt;Build();</div><div> </div>

<div>  // Create a mapper and actor</div><div>  vtkSmartPointer&lt;vtkPolyDataMapper&gt; mapper = vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();</div><div>  mapper-&gt;SetInputConnection(/*reverse-&gt;GetOutputPort()*/cf-&gt;GetOutputPort());</div>

<div>  mapper-&gt;ScalarVisibilityOff();</div><div>  mapper-&gt;SetLookupTable(colorLookupTable);</div><div><br></div><div>  vtkSmartPointer&lt;vtkActor&gt; actor = vtkSmartPointer&lt;vtkActor&gt;::New();</div><div>   actor-&gt;GetProperty()-&gt;SetColor(1.0, 0.8941, 0.7686); // bisque</div>

<div>  actor-&gt;SetMapper(mapper);</div><div> </div><div>  //Create a renderer, render window, and interactor</div><div>  vtkSmartPointer&lt;vtkRenderer&gt; renderer = vtkSmartPointer&lt;vtkRenderer&gt;::New();</div><div>

  vtkSmartPointer&lt;vtkRenderWindow&gt; renderWindow = vtkSmartPointer&lt;vtkRenderWindow&gt;::New();</div><div>  renderWindow-&gt;AddRenderer(renderer);</div><div>  vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; renderWindowInteractor = vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();</div>

<div>  renderWindowInteractor-&gt;SetRenderWindow(renderWindow);</div><div><br></div><div>  //Add the actor to the scene</div><div>  renderer-&gt;AddActor(actor);</div><div>  renderer-&gt;SetBackground(.3, .6, .3); // Background color green</div>

<div> </div><div>  //Render and interact</div><div>  renderWindow-&gt;Render();</div><div>  renderWindowInteractor-&gt;Start();</div></div><div><br></div><div>Please explain me where I have gone wrong. Thanks a lot.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div>-- <br><div></div><font color="#666666">Gish</font></font></span></div></blockquote><div><br></div><div>Why are you setting a color on the actor if you want the lookup table to provide the colors?</div><div>
   actor-&gt;GetProperty()-&gt;SetColor(1.0, 0.8941, 0.7686); // bisque ?</div><div><br></div><div>Here is a working example of using a color map:</div><div><br></div><a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/Color_a_mesh_by_height">http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/Color_a_mesh_by_height</a><br clear="all">
<br></div><div class="gmail_quote">See if that helps.<br><br><div>David </div></div>