<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Hi,<br><br>thanks for your help. After read the code of the links, I have tried to render my cloud of 3d point, but I get an exception when I call the render() method. The code that I have implemented is the next:<br><br><br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkPolyData&gt; pData = vtkSmartPointer&lt;vtkPolyData&gt;::New();&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkPolyDataReader&gt; reader = vtkSmartPointer&lt;vtkPolyDataReader&gt;::New();<br>&nbsp;&nbsp;&nbsp; reader-&gt;SetFileName("prueba.vtk");<br>&nbsp;&nbsp;&nbsp; pData =&nbsp;&nbsp;&nbsp; reader-&gt;GetOutput();<br>&nbsp;&nbsp;&nbsp; pData-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkDelaunay3D&gt; delaunay = vtkSmartPointer&lt;vtkDelaunay3D&gt;::New();<br>&nbsp;&nbsp;&nbsp; delaunay-&gt;SetInput(pData);<br>&nbsp;&nbsp;&nbsp; delaunay-&gt;SetAlpha(2.8);<br>&nbsp;&nbsp;&nbsp; delaunay-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; vtkUnstructuredGrid* outputGrid = delaunay-&gt;GetOutput();<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; double bounds[6];<br>&nbsp;&nbsp;&nbsp; outputGrid-&gt;GetBounds(bounds);<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; // Find min and max z<br>&nbsp;&nbsp;&nbsp; double minz = bounds[4];<br>&nbsp;&nbsp;&nbsp; double maxz = bounds[5];<br>&nbsp;&nbsp;&nbsp; cout &lt;&lt; "minz: " &lt;&lt; minz &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; cout &lt;&lt; "maxz: " &lt;&lt; maxz &lt;&lt; std::endl;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkLookupTable&gt; colorLookupTable = vtkSmartPointer&lt;vtkLookupTable&gt;::New(); //Pasa de valores escalares a RGB<br>&nbsp;&nbsp;&nbsp; colorLookupTable-&gt;SetTableRange(minz, maxz);<br>&nbsp;&nbsp;&nbsp; colorLookupTable-&gt;Build();<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; // Generate the colors for each point based on the color map<br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkUnsignedCharArray&gt; colors = vtkSmartPointer&lt;vtkUnsignedCharArray&gt;::New(); //Array dinamico de caracteres<br>&nbsp;&nbsp;&nbsp; colors-&gt;SetNumberOfComponents(3);<br>&nbsp;&nbsp;&nbsp; colors-&gt;SetName("Colors");<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; cout &lt;&lt; "There are " &lt;&lt; outputGrid-&gt;GetNumberOfPoints() &lt;&lt; " points." &lt;&lt; endl;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; outputGrid-&gt;GetNumberOfPoints(); i++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; double p[3];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; outputGrid-&gt;GetPoint(i,p);<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; double dcolor[3];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorLookupTable-&gt;GetColor(p[2], dcolor); //Devuelve el color RGB para cada escalar<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cout &lt;&lt; "dcolor: " &lt;&lt; dcolor[0] &lt;&lt; " " &lt;&lt; dcolor[1] &lt;&lt; " " &lt;&lt; dcolor[2] &lt;&lt; endl;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unsigned char color[3];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for(unsigned int j = 0; j &lt; 3; j++)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; color[j] = static_cast&lt;unsigned char&gt;(255.0 * dcolor[j]);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cout &lt;&lt; "color: " &lt;&lt; (int)color[0] &lt;&lt; " " &lt;&lt; (int)color[1] &lt;&lt; " " &lt;&lt; (int)color[2] &lt;&lt; endl;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colors-&gt;InsertNextTupleValue(color);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; outputGrid-&gt;GetPointData()-&gt;SetScalars(colors);<br><br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkPolyDataMapper&gt; mapper = vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>&nbsp;&nbsp;&nbsp; mapper-&gt;SetInputConnection(outputGrid-&gt;GetProducerPort());<br><br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkActor&gt; actor = vtkSmartPointer&lt;vtkActor&gt;::New();<br>&nbsp;&nbsp;&nbsp; actor-&gt;SetMapper(mapper);<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; // Create a renderer, render window, and interactor<br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkRenderer&gt; renderer = vtkSmartPointer&lt;vtkRenderer&gt;::New();<br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkRenderWindow&gt; renderWindow = vtkSmartPointer&lt;vtkRenderWindow&gt;::New();<br>&nbsp;&nbsp;&nbsp; renderWindow-&gt;AddRenderer(renderer);<br>&nbsp;&nbsp;&nbsp; vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; renderWindowInteractor = vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();<br>&nbsp;&nbsp;&nbsp; renderWindowInteractor-&gt;SetRenderWindow(renderWindow);<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; // Add the actor to the scene<br>&nbsp;&nbsp;&nbsp; renderer-&gt;AddActor(actor);<br>&nbsp;&nbsp;&nbsp; renderer-&gt;SetBackground(.1, .2, .3);<br>&nbsp;<br>&nbsp;&nbsp;&nbsp; // Render and interact<br>&nbsp;&nbsp;&nbsp; renderWindowInteractor-&gt;Initialize();<br>&nbsp;&nbsp;&nbsp; renderWindow-&gt;Render();<br>&nbsp;&nbsp;&nbsp; renderWindowInteractor-&gt;Start();<br><br><br>Have you got any idea of why I get this exception??<br><br>Again, a lot of thanks.<br><br>Adrian.<br><br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: adrianca88@hotmail.com<br>To: vtkusers@vtk.org<br>Subject: Color mapping 3d points cloud<br>Date: Fri, 30 Mar 2012 10:25:26 +0200<br><br>

<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">
<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Tahoma;}

</style>
<div dir="ltr">
Hi,<br><br>I have a cloud of 3d points that I read from file (each line stores de x y z coordinates) and save in a vtkPolyData using a vtkPoints. Next, using vtkDelaunay3d I achive to get the 3D rendering.<br>My problem is that I want to create a colorMapping that represents different heigh with different colour, but I don't know how set this scalar value (which, in this case, depends on the z variable).<br><br>Sorry if the question is very easy to solve but I am very newbie with VTK.<br><br>A lot of thanks, <br><br>Adrian.<br>                                               </div></div>                                               </div></body>
</html>