<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [vtkusers] How to extract area of (triangle) Cells?</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>The quality array is set near line 730 in my version of vtkMeshQuality (5.2). It appears that the quality-&gt;Delete(); method should be removed from line 445 and moved to line 745.<BR>
<BR>
Vince<BR>
<BR>
<BR>
----------------------<BR>
Associate Professor<BR>
Department of Radiology<BR>
0453-D JCP<BR>
200 Hawkins Drive<BR>
Iowa City, IA 52242<BR>
E-mail: vincent-magnotta@uiowa.edu<BR>
Phone: 319-356-8255 Fax: 319-353-6275<BR>
Website: <A HREF="http://www.radiology.uiowa.edu">http://www.radiology.uiowa.edu</A><BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: vtkusers-bounces@vtk.org on behalf of Bill Lorensen<BR>
Sent: Fri 12/18/2009 10:01 AM<BR>
To: David Doria<BR>
Cc: vtkusers@vtk.org<BR>
Subject: Re: [vtkusers] How to extract area of (triangle) Cells?<BR>
<BR>
David,<BR>
<BR>
I looked at the source for vtkMeshQuality and I think you have<BR>
uncovered a bug. I see vtkDoubleArray named &quot;Quality&quot; added to the<BR>
cell data, but I do not see where any data is added to the array.<BR>
<BR>
I noticed that that Graphics/Texting/Cxx/MeshQuality does not access<BR>
the CellData.<BR>
<BR>
If it's not tested it's broken,<BR>
<BR>
Bill<BR>
<BR>
On Fri, Dec 18, 2009 at 8:10 AM, David Doria &lt;daviddoria+vtk@gmail.com&gt; wrote:<BR>
&gt; On Thu, Dec 17, 2009 at 11:14 AM, Bryn Lloyd &lt;blloyd@vision.ee.ethz.ch&gt;<BR>
&gt; wrote:<BR>
&gt;&gt;<BR>
&gt;&gt; David,<BR>
&gt;&gt;<BR>
&gt;&gt; Not sure, but it works in paraview doesn't it?<BR>
&gt;&gt;<BR>
&gt;&gt; 1. Maybe inverted triangles (there was an issue in the past with inverted<BR>
&gt;&gt; tets).<BR>
&gt;&gt;<BR>
&gt;&gt; 2. Maybe you don't have triangles, but strips?<BR>
&gt;&gt;<BR>
&gt;&gt; /Bryn<BR>
&gt;&gt;<BR>
&gt;<BR>
&gt; Bryn,<BR>
&gt; Hmm, I tried it with a sphere source run through vtkTriangleFilter. This<BR>
&gt; should produce good triangles, right?<BR>
&gt;   vtkSmartPointer&lt;vtkSphereSource&gt; sphereSource =<BR>
&gt; vtkSmartPointer&lt;vtkSphereSource&gt;::New();<BR>
&gt;   sphereSource-&gt;Update();<BR>
&gt;<BR>
&gt;   vtkSmartPointer&lt;vtkTriangleFilter&gt; triangleFilter =<BR>
&gt; vtkSmartPointer&lt;vtkTriangleFilter&gt;::New();<BR>
&gt;   triangleFilter-&gt;SetInputConnection(sphereSource-&gt;GetOutputPort());<BR>
&gt;   triangleFilter-&gt;Update();<BR>
&gt;<BR>
&gt;   //vtkPolyData* mesh = sphereSource-&gt;GetOutput();<BR>
&gt;   vtkPolyData* mesh = triangleFilter-&gt;GetOutput();<BR>
&gt;   cout &lt;&lt; &quot;There are &quot; &lt;&lt; mesh-&gt;GetNumberOfCells() &lt;&lt; &quot; cells.&quot; &lt;&lt; endl;<BR>
&gt;<BR>
&gt;   vtkSmartPointer&lt;vtkMeshQuality&gt; qualityFilter =<BR>
&gt; vtkSmartPointer&lt;vtkMeshQuality&gt;::New();<BR>
&gt;   qualityFilter-&gt;SetInput(mesh);<BR>
&gt;   qualityFilter-&gt;SetTriangleQualityMeasureToArea();<BR>
&gt;   qualityFilter-&gt;Update();<BR>
&gt;<BR>
&gt;   vtkDataSet* qualityMesh = qualityFilter-&gt;GetOutput();<BR>
&gt;   vtkSmartPointer&lt;vtkDoubleArray&gt; qualityArray =<BR>
&gt; vtkDoubleArray::SafeDownCast(qualityMesh-&gt;GetCellData()-&gt;GetArray(&quot;Quality&quot;));<BR>
&gt;<BR>
&gt;   cout &lt;&lt; &quot;There are &quot; &lt;&lt; qualityArray-&gt;GetNumberOfTuples() &lt;&lt; &quot; values.&quot; &lt;&lt;<BR>
&gt; endl;<BR>
&gt;<BR>
&gt;   for(unsigned int i = 0; i &lt; qualityArray-&gt;GetNumberOfTuples(); i++)<BR>
&gt;     {<BR>
&gt;     double val;<BR>
&gt;     qualityArray-&gt;GetValue(i);<BR>
&gt;     cout &lt;&lt; &quot;value &quot; &lt;&lt; i &lt;&lt; &quot; : &quot; &lt;&lt; val &lt;&lt; endl;<BR>
&gt;     }<BR>
&gt; The output is still<BR>
&gt; ...<BR>
&gt; value 90 : 5.77804e-269<BR>
&gt; value 91 : 5.77804e-269<BR>
&gt; value 92 : 5.77804e-269<BR>
&gt; ...<BR>
&gt; Any thoughts?<BR>
&gt; Thanks,<BR>
&gt;<BR>
&gt; David<BR>
&gt; _______________________________________________<BR>
&gt; Powered by www.kitware.com<BR>
&gt;<BR>
&gt; Visit other Kitware open-source projects at<BR>
&gt; <A HREF="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</A><BR>
&gt;<BR>
&gt; Please keep messages on-topic and check the VTK FAQ at:<BR>
&gt; <A HREF="http://www.vtk.org/Wiki/VTK_FAQ">http://www.vtk.org/Wiki/VTK_FAQ</A><BR>
&gt;<BR>
&gt; Follow this link to subscribe/unsubscribe:<BR>
&gt; <A HREF="http://www.vtk.org/mailman/listinfo/vtkusers">http://www.vtk.org/mailman/listinfo/vtkusers</A><BR>
&gt;<BR>
&gt;<BR>
_______________________________________________<BR>
Powered by www.kitware.com<BR>
<BR>
Visit other Kitware open-source projects at <A HREF="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/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">http://www.vtk.org/Wiki/VTK_FAQ</A><BR>
<BR>
Follow this link to subscribe/unsubscribe:<BR>
<A HREF="http://www.vtk.org/mailman/listinfo/vtkusers">http://www.vtk.org/mailman/listinfo/vtkusers</A><BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>