<div dir="ltr">Hi Andrew,<div><br></div><div>I am trying to visualise a BRep object using VTK. I get the lines that forms a closed face. I create a vtkPolyData of each face and append it using vtkAppendPolyData. So the purpose is to visualise this BRep object as a wireframe as well as a surface. Seems that polygon rendering is not happening properly. </div><div><br></div><div>I am able to connect those lines in sequence, to form a connected closed polygon. I face this problem only for the curved surface. For planar surfaces I don't see any issue. The data set shown in my sample code, is just one particular case. And for that case, Yoshimi's logic gives good surface representation. But I am not sure how far it will work for all the cases, I am in process to make it a generic one. </div><div><br></div><div>Your inputs are welcome.</div><div><br></div><div>Thanks & Regards</div><div>Rakesh Patil</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 18, 2017 at 11:56 AM, Andrew Maclean <span dir="ltr"><<a href="mailto:andrew.amaclean@gmail.com" target="_blank">andrew.amaclean@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Rakesh,</div>   I don't know what you intend to use it for. However if it is just a one-off construction another suggestion would be to manually triangulate the surface yourself.<div><br></div><div>This is what is done for the VTK Parametric Functions.</div><div><br></div><div>See void vtkParametricFunctionSource::<wbr>MakeTriangles() and void AddTriCells() in vtkParametricFunctionSource.<wbr>cxx.</div><div><br></div><div>Andrew</div><div><br><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>---------- Forwarded message ----------<br>From: rakesh patil <<a href="mailto:prakeshofficial@gmail.com" target="_blank">prakeshofficial@gmail.com</a>><br>To: kenichiro yoshimi <<a href="mailto:rccm.kyoshimi@gmail.com" target="_blank">rccm.kyoshimi@gmail.com</a>><br>Cc: "<a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a>" <<a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a>><br>Bcc: <br>Date: Mon, 17 Apr 2017 09:58:08 +0530<br>Subject: Re: [vtkusers] How to construct polygon?<br><div dir="ltr">Hi,<div><br></div><div>I thought that vtkTriangleFilter does the tessellation of polygon by triangulating. Correct me if I am wrong. Let me try your suggestion and come back. </div><div><br></div><div>Thanks</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 17, 2017 at 7:34 AM, kenichiro yoshimi <span dir="ltr"><<a href="mailto:rccm.kyoshimi@gmail.com" target="_blank">rccm.kyoshimi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>It looks like the issue of rendering concave polygons by OpenGL included in the past mailing list, and it is concluded that OpenGL doesn't render concave polygons properly and needs tessellation:</div><div><a href="http://public.kitware.com/pipermail/vtkusers/2010-May/059784.html" target="_blank">http://public.kitware.com/pipe<wbr>rmail/vtkusers/2010-May/059784<wbr>.html</a></div><div><a href="http://vtk.1045678.n5.nabble.com/problems-rendering-concave-polygon-td5007789.html" target="_blank">http://vtk.1045678.n5.nabble.c<wbr>om/problems-rendering-concave-<wbr>polygon-td5007789.html</a></div><div>(I'm sorry I don't know the details of this problem.)</div><div><br></div><div>I suggest using vtkDelaunay3D for tessellating and then using vtkGeometryFilter that extracts the external faces.</div><div><br></div><div>Thanks,</div><div>yoshimi</div></div><div class="m_-6516458340482916557gmail-m_6135300185107081157HOEnZb"><div class="m_-6516458340482916557gmail-m_6135300185107081157h5"><div class="gmail_extra"><br><div class="gmail_quote">2017-04-17 3:30 GMT+09:00 rakesh patil <span dir="ltr"><<a href="mailto:prakeshofficial@gmail.com" target="_blank">prakeshofficial@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>Well, I would like to know how polygon loop being non-planar leads to such output. Because, the image shown in expectedOutput is also built of similar polygon loop. Its just that for few curved surfaces are rendered properly and few don't. I just want to know why is there such inconsistent behavior and how do I overcome this?</div><div><br></div><div>Thanks</div></div><div class="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579HOEnZb"><div class="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 15, 2017 at 10:56 AM, kenichiro yoshimi <span dir="ltr"><<a href="mailto:rccm.kyoshimi@gmail.com" target="_blank">rccm.kyoshimi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi, <br><br>Your polygon loop is non-planar.<div><img src="cid:ii_j1itbiq12_15b700cc9d608067" width="280" height="167" style="margin-right:0px"><br>​<br></div><div><div>Howerver, the triangulate method used by vtkPolygon assumes that polygon points lie in a plane. I recommend to use vtkCylinderSource or vtkStructuredGrid to represent the side of surface of a cylinder.<br></div><div><br>Thanks,<br>yoshimi</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579m_-5107143541667875362h5">2017-04-14 0:38 GMT+09:00 Rakesh  Patil <span dir="ltr"><<a href="mailto:rakesh.p@tataelxsi.co.in" target="_blank">rakesh.p@tataelxsi.co.in</a>></span>:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579m_-5107143541667875362h5">




<div dir="ltr">
<div id="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579m_-5107143541667875362m_-6915137630519013378m_6263524568884259717divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:calibri,arial,helvetica,sans-serif" dir="ltr">
<p>Hi,</p>
<p><br>
</p>
<p>This question seems to be simple, but I am not able to get any output for this. I am not able to understand what is happening in this case:</p>
<p><br>
</p>
<p></p>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPoints</span>><span style="color:rgb(192,192,192)"> </span>tpoints<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPoints</span>>::Ne<wbr>w();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPolygon</span>><span style="color:rgb(192,192,192)"> </span>poly<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPolygon</span>>::N<wbr>ew();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkCellArray</span>><span style="color:rgb(192,192,192)"> </span>carr<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkCellArray</span>>:<wbr>:New();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><pre style="font-size:16px;margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPolyData</span>><span style="color:rgb(192,192,192)"> </span>polyData<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPolyData</span>>::<wbr>New();</pre></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.5</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">3</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.5</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.08748</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.87967</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">3.05391</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.95899</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.74755</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.68466</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.28509</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.99187</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">1.20284</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.85316</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.58332</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.28094</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.73305</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.32631</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.54931</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.07456</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.95919</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">0.637487</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.92609</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.856528</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.45295</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2.27403</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.58205</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">3.4884</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">1.5</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">3</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.5</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">4.39116</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.58205</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">3.4884</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.45295</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2.27403</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.92609</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.856528</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(-<span style="color:rgb(0,0,128)"><wbr>4.95919</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">0.637487</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(-<span style="color:rgb(0,0,128)"><wbr>4.54931</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.07456</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(-<span style="color:rgb(0,0,128)"><wbr>3.73305</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.32631</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(-<span style="color:rgb(0,0,128)"><wbr>2.58332</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.28094</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(-<span style="color:rgb(0,0,128)"><wbr>1.20284</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.85316</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(0,0,128)">0<wbr>.28509</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.99187</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(0,0,128)">1<wbr>.74755</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">4.68466</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(0,0,128)">3<wbr>.05391</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">3.95899</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(0,0,128)">4<wbr>.08748</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.87967</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px">poly->GetPointIds()->InsertNex<wbr>tId(tpoints->InsertNextPoint(<span style="color:rgb(0,0,128)">4<wbr>.39116</span>,<span style="color:rgb(192,192,192)"> </span>-<span style="color:rgb(0,0,128)">2.39117</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">6</span>));</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px">carr->InsertNextCell(poly);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>polyData-><span style="font-style:italic">SetPoints</span>(tpoints);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>polyData->SetPolys(carr);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkTriangleFil<wbr>ter</span>><span style="color:rgb(192,192,192)"> </span>tfilter<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkTriangleFil<wbr>ter</span>>::New();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>tfilter->SetInputData(polyData<wbr>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>tfilter-><span style="font-style:italic">Update</span>();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPolyDataMap<wbr>per</span>><span style="color:rgb(192,192,192)"> </span>pmapper<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkPolyDataMap<wbr>per</span>>::New();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>pmapper->SetInputConnection(tf<wbr>ilter->GetOutputPort());</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkActor</span>><span style="color:rgb(192,192,192)"> </span>actor<span style="color:rgb(192,192,192)"> </span>=<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><<span style="color:rgb(128,0,128)">vtkActor</span>>::New<wbr>();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>actor-><span style="font-style:italic">SetMapper</span>(pmapper);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>actor->GetProperty()->SetRepre<wbr>sentationToSurface();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>actor->GetProperty()-><span style="font-style:italic">EdgeVisi<wbr>bilityOn</span>();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>actor->GetProperty()-><span style="font-style:italic">SetEdgeC<wbr>olor</span>(<span style="color:rgb(0,0,128)">1.0</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span>,<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">0.0</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)"></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>renderer->AddActor(actor);</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span>renderer->ResetCamera();</pre>
<br>
<p></p>
<p><br>
</p>
<p>I am not able to view the output if I use vtkTriangleFilter. I have attached two screenshots. One is to show how the expected output should come. Another is the vtk's output without applying vtkTriangleFilter. How do I get the curved surfaces based on the
 above geometry (points)?</p>
<p><br>
</p>
<p>Am I missing anything there?</p>
<p><br>
</p>
<p><br>
</p>
<div id="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579m_-5107143541667875362m_-6915137630519013378m_6263524568884259717Signature">
<div id="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579m_-5107143541667875362m_-6915137630519013378m_6263524568884259717divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255);font-family:calibri,arial,helvetica,sans-serif">
<p>Thanks & Regards</p><span class="m_-6516458340482916557gmail-m_6135300185107081157m_1131372240980893579m_-5107143541667875362m_-6915137630519013378HOEnZb"><font color="#888888">
<p>Rakesh Patil</p>
<p><br>
</p>
<div style="color:rgb(33,33,33);font-size:15px;margin:0px"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt"><font size="2" color="gray"><span lang="en-IN" style="font-size:10pt"></span></font></span></font></div>
<p></p>
<p></p>
</font></span></div>
</div>
</div>
</div>

<br></div></div>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div></div>
<br>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
<br><br></blockquote></div><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br><div class="m_-6516458340482916557gmail_signature">______________________________<wbr>_____________<br>Andrew J. P. Maclean<br><br>______________________________<wbr>_____________</div>
</font></span></div></div></div>
</blockquote></div><br></div>