<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:o = "urn:schemas-microsoft-com:office:office"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2912" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi vtk-users!</FONT></DIV>
<DIV><FONT face=Arial size=2>Found the answer to this problem!</FONT></DIV>
<DIV><FONT face=Arial size=2>Before using vtkPolyDataNormals use
vtkCleanPolyData to get just the points of the surface!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>code:</FONT></DIV>
<DIV>
<DIV>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">vtkExtractPolyDataGeometry*
extract1 = vtkExtractPolyDataGeometry::New();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->SetInput(<SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract-></SPAN>GetOutput());</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"><o:p></o:p></SPAN><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->SetImplicitFunction(plane);<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->ExtractInsideOn();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->ExtractBoundaryCellsOn();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->Update();</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"><o:p></o:p></SPAN> </P>
<P style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial size=2>vtkCleanPolyData* clean=
vtkCleanPolyData::New();</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial
size=2>clean->SetInput(extract1->GetOutput());</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial
size=2>clean->Update();</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial size=2></FONT> </P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">vtkPolyDataNormals*
norm = vtkPolyDataNormals::New();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">norm->SetInput(clean->GetOutput());</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">norm-><FONT
size=2>ComputeCellNormalsOn();</P></FONT><o:p></o:p></SPAN>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">norm->Update();<o:p></o:p></SPAN></P></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Johannes</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV style="FONT: 10pt arial">----- Original Message -----
<DIV style="BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> <A
title=johannes.holzmeister@umit.at
href="mailto:johannes.holzmeister@umit.at">Johannes Holzmeister</A> </DIV>
<DIV><B>To:</B> <A title=vtkusers@vtk.org
href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</A> </DIV>
<DIV><B>Sent:</B> Friday, August 18, 2006 2:09 PM</DIV>
<DIV><B>Subject:</B> get only normals from extracted surface</DIV></DIV>
<DIV><BR></DIV>
<DIV><FONT face=Arial>Hi!</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>I extracted a surface with "vtkExtractPolyDataGeometry".
Now I want to get the normals of the extracted surface, then <SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: NimbusRomNo9L-Regu; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: NimbusRomNo9L-Regu; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">I
would like to add up</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">
</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: NimbusRomNo9L-Regu; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: NimbusRomNo9L-Regu; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">the
vectors</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">
</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: NimbusRomNo9L-Regu; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: NimbusRomNo9L-Regu; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">and</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">
</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: NimbusRomNo9L-Regu; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: NimbusRomNo9L-Regu; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">get</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">
</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: NimbusRomNo9L-Regu; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: NimbusRomNo9L-Regu; mso-ansi-language: EN-US; mso-fareast-language: DE; mso-bidi-language: AR-SA">a
main vector.</SPAN> </FONT></DIV>
<DIV><FONT face=Arial>But how can I only get the Normals of the points which are
insinde or at the surface? </FONT></DIV>
<DIV><FONT face=Arial>If I try "vtkPolyDataNormals" I get the normals of
every single point of the image not only the normals of the
surfacepoints.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>code:</FONT></DIV>
<DIV><FONT face=Arial>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">vtkExtractPolyDataGeometry*
extract = vtkExtractPolyDataGeometry::New();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract->SetInput(objectContainer4);<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract->SetImplicitFunction(plane);<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract->ExtractInsideOff();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract->ExtractBoundaryCellsOn();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract->Update();</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"><o:p></o:p></SPAN> </FONT></P></DIV>
<DIV>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">vtkExtractPolyDataGeometry*
extract1 = vtkExtractPolyDataGeometry::New();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->SetInput(<SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract-></SPAN>GetOutput());</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"><o:p></o:p></SPAN><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->SetImplicitFunction(plane);<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->ExtractInsideOn();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->ExtractBoundaryCellsOn();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">extract1->Update();</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"><o:p></o:p></SPAN> </P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">vtkPolyDataNormals*
norm = vtkPolyDataNormals::New();<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">norm->SetInput(extract1->GetOutput());<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">norm->Update();<o:p></o:p></SPAN></P></DIV>
<DIV><FONT face=Arial><FONT size=+0></FONT></FONT> </DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial><FONT size=+0>Thank you for your
help!!<BR>Johannes</FONT><BR></DIV></FONT></BODY></HTML>