<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>With selection Loop as an implicit</FONT></DIV>
<DIV><FONT face=Arial size=2>function, </FONT><FONT face=Arial 
size=2>vtkClipPolyData does not</FONT></DIV>
<DIV><FONT face=Arial size=2>clip as I think it should : </FONT><FONT face=Arial 
size=2>It only</FONT></DIV>
<DIV><FONT face=Arial size=2>keeps faces entirely contained by</FONT></DIV>
<DIV><FONT face=Arial size=2>the clip volume, </FONT><FONT face=Arial 
size=2>instead of producing</FONT></DIV>
<DIV><FONT face=Arial size=2>new triangles when faces are partially</FONT></DIV>
<DIV><FONT face=Arial size=2>contained by the clip volume.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Usually, vtkClipPolyData is able to produce 
</FONT></DIV>
<DIV><FONT face=Arial size=2>new triangles to respect clipping 
Volume,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>How can I obtain those triangles ?</FONT></DIV>
<DIV><FONT face=Arial size=2>Is there a probleme with InsideOutOn ?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>here is my code :</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>/*============================================*/</FONT></DIV>
<DIV><FONT face=Arial 
size=2>&nbsp;&nbsp;&nbsp;vtkIdList&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*DEMPoints&nbsp;= 
vtkIdList::New();<BR>&nbsp;&nbsp;&nbsp;vtkImplicitSelectionLoop&nbsp;*clipLoop&nbsp;= 
vtkImplicitSelectionLoop::New();<BR>&nbsp;&nbsp;&nbsp;points-&gt;Reset();<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;// 
recuperation de la cellule 
courante<BR>&nbsp;&nbsp;&nbsp;dataGISClean-&gt;GetCellPoints(i,DEMPoints);<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;clipLoop-&gt;SetLoop(points);<BR>&nbsp;&nbsp;&nbsp;clipLoop-&gt;SetNormal(0.0,1.0,0.0);&nbsp;// 
my y is height cause&nbsp;of vrml 
export<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;// ajout du clipping du mnt 
selon les polygones<BR>&nbsp;&nbsp;&nbsp;vtkClipPolyData 
*clipper3=vtkClipPolyData::New();<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;SetInput(pdn-&gt;GetOutput());<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;GenerateClipScalarsOn();<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;SetClipFunction(clipLoop);<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;GenerateClippedOutputOff();<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;InsideOutOn();<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;SetValue(0.5);<BR>&nbsp;&nbsp;&nbsp;clipper3-&gt;Update();<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;cout 
&lt;&lt;i &lt;&lt;"/" &lt;&lt;dataGISClean-&gt;GetNumberOfPolys() 
&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;cout &lt;&lt;"nombre de polygones : " 
&lt;&lt;clipper3-&gt;GetOutput()-&gt;GetNumberOfPolys() 
&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;if 
(dataGISClean-&gt;GetNumberOfCells() &gt; 
0){<BR>&nbsp;&nbsp;&nbsp;&nbsp;vtkIdList *listCells = 
vtkIdList::New();<BR>&nbsp;&nbsp;&nbsp;&nbsp;for 
(j=0;j&lt;clipper3-&gt;GetOutput()-&gt;GetNumberOfCells();j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listCells-&gt;InsertNextId(j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; </FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp;//clipper3-&gt;GetOutput() 
does not contain a properly clipped DEM</FONT></DIV>
<DIV><FONT face=Arial 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;dataGIS1-&gt;CopyCells(clipper3-&gt;GetOutput(),listCells);<BR>&nbsp;&nbsp;&nbsp;}<BR>/*===============================================================*/</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Sebastien MARAUX</FONT></DIV></BODY></HTML>