<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<STYLE>BODY {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana
}
PRE {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
BLOCKQUOTE {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
A {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
MENU {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DD {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
UL {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DT {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DIR {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
ADDRESS {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
H5 {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
H6 {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
HR {
        MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
P {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
TD {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
TR {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
P.MsoNormal {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
LI.MsoNormal {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DIV.MsoNormal {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
LI {
        MARGIN-TOP: 3pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
UL {
        MARGIN-TOP: 3pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
OL {
        MARGIN-TOP: 3pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
H1 {
        FONT-SIZE: 16pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-FAMILY: Verdana,Arial,sans-serif
}
H2 {
        FONT-SIZE: 14pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-STYLE: italic; FONT-FAMILY: Verdana,Arial,sans-serif
}
H3 {
        FONT-SIZE: 12pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-FAMILY: Verdana,Arial,sans-serif
}
H4 {
        FONT-SIZE: 11pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-FAMILY: Verdana,Arial,sans-serif
}
</STYLE>

<META name=GENERATOR content="MSHTML 8.00.7600.16671"></HEAD>
<BODY style="FONT-FAMILY: Verdana; COLOR: #000000; FONT-SIZE: 10pt" id=ridBody 
background="">
<DIV dir=ltr align=left><SPAN class=342411211-24112010>Also the 
3D&nbsp;rendering of a normal polygon&nbsp;seems to be strange, is there an 
error in the triangulation (compare surface mode (button s) and wireframe mode 
(button w)), here my example polygons</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=342411211-24112010>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>Without spikes:</SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010># vtk DataFile Version 
3.0<BR>vtk output<BR>ASCII<BR>DATASET POLYDATA<BR>POINTS 7 float<BR>0 0 0 100 0 
0 100 50 0 <BR>150 50 0 90 60 0 100 100 0<BR>0 100 0<BR>POLYGONS 1 8<BR>7 0 1 2 
3 4 5 6&nbsp;</SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>CELL_DATA 1<BR>SCALARS 
scalars double 3<BR>LOOKUP_TABLE default<BR>1 0 0&nbsp;<SPAN 
class=342411211-24112010>&nbsp;</SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>With spikes:</SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010># vtk DataFile Version 
3.0<BR>vtk output<BR>ASCII<BR>DATASET POLYDATA<BR>POINTS 7 float<BR>0 0 0 100 0 
0 100 50 0 <BR>150 50 0 90&nbsp;<SPAN class=342411211-24112010>5</SPAN>0 0 100 
100 0<BR>0 100 0<BR>POLYGONS 1 8<BR>7 0 1 2 3 4 5 6&nbsp;</SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>CELL_DATA 1<BR>SCALARS 
scalars double 3<BR>LOOKUP_TABLE default<BR>1 0 0&nbsp;<SPAN 
class=342411211-24112010>&nbsp;</SPAN></SPAN></DIV></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>&nbsp;</SPAN></SPAN></SPAN><SPAN 
class=342411211-24112010></SPAN><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>&nbsp;</SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>Take </SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>
<P>oPlane-&gt;SetOrigin(50, 50, 0);</P>
<P>oPlane-&gt;SetNormal(1,0,0);<SPAN class=342411211-24112010>&nbsp;</SPAN></P>
<P><SPAN class=342411211-24112010></SPAN>&nbsp;</P>
<P><SPAN class=342411211-24112010>as&nbsp;cutting plane for my example 
program</SPAN></P>
<P><SPAN class=342411211-24112010></SPAN>&nbsp;</P>
<P><SPAN class=342411211-24112010>best 
regards&nbsp;</SPAN></P></SPAN></SPAN></DIV></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010><SPAN 
class=342411211-24112010>&nbsp;</SPAN>Ok</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>&nbsp;i figured out in 
which case the cutter does not work, and i think it is a bug:</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>Working 
Polygon:</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(0 0 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(10 0 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(10&nbsp;10 
0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(0 10 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>This Polygon is cut 
correct. And this is not cut correct:</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(0 0 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(10 0 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(10 5 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(15 5 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(10 5 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(10 10 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>(0 10 0)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>You can see that in my 
second case the boundary has an infinite small spike. This results in an empty 
cutting result. In my opinion this is a valid polygon so the cutting should be 
calculated...</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010>Can anyone make a bug 
report? I do not know why i cannot go the bug report system today (or is it 
offline?)</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=830245110-24112010></SPAN>&nbsp;</DIV><BR>
<DIV dir=ltr lang=de class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT face=Tahoma><B>Von:</B> vtk-developers-bounces@vtk.org 
[mailto:vtk-developers-bounces@vtk.org] <B>Im Auftrag von </B>Lodron, 
Gerald<BR><B>Gesendet:</B> Mittwoch, 24. November 2010 09:30<BR><B>An:</B> 
'vtk-developers@vtk.org'<BR><B>Betreff:</B> [vtk-developers] WG: Problems 
cutting polygons, bug?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left>&nbsp;</DIV><SPAN 
class=294192908-24112010></SPAN>and&nbsp;here&nbsp;the&nbsp;single&nbsp;polygon&nbsp;<SPAN 
class=294192908-24112010>extracted 
</SPAN>which&nbsp;cannot&nbsp;be&nbsp;cutted<SPAN 
class=294192908-24112010></SPAN><BR>
<DIV dir=ltr lang=de class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT face=Tahoma><B>Von:</B> vtk-developers-bounces@vtk.org 
[mailto:vtk-developers-bounces@vtk.org] <B>Im Auftrag von </B>Lodron, 
Gerald<BR><B>Gesendet:</B> Mittwoch, 24. November 2010 08:32<BR><B>An:</B> 
'vtk-developers@vtk.org'; 'vtkusers@vtk.org'<BR><B>Betreff:</B> [vtk-developers] 
WG: Problems cutting polygons, bug?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left>&nbsp;</DIV>
<DIV><SPAN 
class=754463007-24112010></SPAN>ok,&nbsp;there&nbsp;is&nbsp;the&nbsp;vtk&nbsp;polydata&nbsp;file,&nbsp;i&nbsp;hope&nbsp;that&nbsp;i&nbsp;come&nbsp;through&nbsp;the&nbsp;filter<SPAN 
class=754463007-24112010> otherwise noone will read thsi :-)</SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=754463007-24112010></SPAN><BR>&nbsp;</DIV>
<DIV dir=ltr lang=de class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT face=Tahoma><B>Von:</B> vtkusers-bounces@vtk.org 
[mailto:vtkusers-bounces@vtk.org] <B>Im Auftrag von </B>Lodron, 
Gerald<BR><B>Gesendet:</B> Mittwoch, 24. November 2010 08:23<BR><B>An:</B> 
'vtkusers@vtk.org'<BR><B>Betreff:</B> [vtkusers] Problems cutting polygons, 
bug?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=577190907-24112010>Hi</SPAN></DIV>
<DIV><SPAN class=577190907-24112010></SPAN>&nbsp;</DIV>
<DIV><SPAN class=577190907-24112010>I wrote an application where a user can 
paint 2d polygons in 3D space. Then the user can define a cutting plane and i 
display the resulting lines. </SPAN></DIV>
<DIV><SPAN class=577190907-24112010>The problem is that&nbsp;SOMETIMES the 
cutting does not work, so if anyone replys i will send him the Test1.vtk file 
which contains 4 Polygons whereby only three are cutted. (Yes the cutting plane 
defenetly cuts all polygons and there are 4 Polygons in the input file, see 
first visualization).</SPAN></DIV>
<DIV><SPAN class=577190907-24112010></SPAN>&nbsp;</DIV>
<DIV><SPAN class=577190907-24112010>here my code:</SPAN></DIV>
<DIV><SPAN class=577190907-24112010></SPAN>&nbsp;</DIV>
<DIV><SPAN class=577190907-24112010>
<P>vtkSmartPointer&lt;vtkPolyDataReader&gt; oReader = 
vtkPolyDataReader::New();</P>
<P>oReader-&gt;SetFileName(<FONT color=#a31515><FONT 
color=#a31515>"C:\\Test1.vtk"</FONT></FONT>);</P>
<P>oReader-&gt;Update();</P>
<P>vtkSmartPointer&lt;vtkPolyData&gt; oPolyData = oReader-&gt;GetOutput();</P>
<P><FONT color=#008000><FONT color=#008000>//Display input data, not 
important</P></FONT></FONT>
<P>{</P>
<P>vtkSmartPointer&lt;vtkPolyDataMapper&gt; oMapper = 
vtkPolyDataMapper::New();</P>
<P>oMapper-&gt;SetInputConnection(oReader-&gt;GetOutputPort());</P>
<P>vtkSmartPointer&lt;vtkActor&gt; oActor = vtkActor::New();</P>
<P>oActor-&gt;SetMapper( oMapper );</P>
<P>vtkSmartPointer&lt;vtkRenderer&gt; oRenderer = vtkRenderer::New();</P>
<P>vtkSmartPointer&lt;vtkRenderWindow&gt; oRenderWindow = 
vtkRenderWindow::New();</P>
<P>oRenderWindow-&gt;AddRenderer(oRenderer);</P>
<P>vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; oIRen = 
vtkRenderWindowInteractor::New();</P>
<P>oIRen-&gt;SetRenderWindow(oRenderWindow);</P>
<P>oRenderer-&gt;AddActor(oActor);</P>
<P></P>
<P><FONT color=#008000><FONT color=#008000>// Render and 
interact</P></FONT></FONT>
<P>oRenderWindow-&gt;Render();</P>
<P>oIRen-&gt;Initialize();</P>
<P>oIRen-&gt;Start();</P>
<P>}</P>
<P>oPolyData-&gt;Print(std::cout); <FONT color=#008000><FONT 
color=#008000>//containing 4 polygons</P></FONT></FONT>
<P><FONT color=#008000><FONT color=#008000>//Cut 2D polygons in 3D space with a 
plane</P></FONT></FONT>
<P>vtkSmartPointer&lt;vtkPlane&gt; oPlane = vtkPlane::New();</P>
<P>vtkSmartPointer&lt;vtkCutter&gt; oCutter = vtkCutter::New();</P>
<P>oCutter-&gt;SetCutFunction(oPlane);</P>
<P>oCutter-&gt;GenerateValues(1,0,1); <FONT color=#008000><FONT 
color=#008000>//i am not sure why i do that</P></FONT></FONT>
<P>oPlane-&gt;SetOrigin(8.5, -72, -1177.0);</P>
<P>oPlane-&gt;SetNormal(1,0,0);</P>
<P>oCutter-&gt;SetInput(oPolyData);</P>
<P>oCutter-&gt;Update();</P>
<P>vtkSmartPointer&lt;vtkPolyData&gt; oCuttedPolyData = 
oCutter-&gt;GetOutput();</P>
<P><FONT color=#008000><FONT color=#008000>//Display cutting data, not important 
</P></FONT></FONT>
<P>{</P>
<P>vtkSmartPointer&lt;vtkPolyDataMapper&gt; oMapper = 
vtkPolyDataMapper::New();</P>
<P>oMapper-&gt;SetInputConnection(oCutter-&gt;GetOutputPort());</P>
<P>vtkSmartPointer&lt;vtkActor&gt; oActor = vtkActor::New();</P>
<P>oActor-&gt;SetMapper( oMapper );</P>
<P>vtkSmartPointer&lt;vtkRenderer&gt; oRenderer = vtkRenderer::New();</P>
<P>vtkSmartPointer&lt;vtkRenderWindow&gt; oRenderWindow = 
vtkRenderWindow::New();</P>
<P>oRenderWindow-&gt;AddRenderer(oRenderer);</P>
<P>vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; oIRen = 
vtkRenderWindowInteractor::New();</P>
<P>oIRen-&gt;SetRenderWindow(oRenderWindow);</P>
<P>oRenderer-&gt;AddActor(oActor);</P>
<P></P>
<P><FONT color=#008000><FONT color=#008000>// Render and 
interact</P></FONT></FONT>
<P>oRenderWindow-&gt;Render();</P>
<P>oIRen-&gt;Initialize();</P>
<P>oIRen-&gt;Start();</P>
<P>}</P></SPAN></DIV></BODY></HTML>