<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 10 (filtered)">

<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
pre
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1><pre><font size=2 face="Courier New"><span
style='font-size:10.0pt'>Hi,</span></font></pre><pre><font size=2
face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>In March, Mathieu raised the problem of the preferred direction in the triangulation of quadratic quads. Attached is an example of the effects that can be obtained. All the bands should be parallel as shown on the rhs and not broken as on the lhs. These artifacts arise due to the triangulation of quadratic quads into 6 triangles as either –</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        o--o--o       o--o--o </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        | / \ |       | /|\ |</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        |/   \|       |/ | \|</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        o-----o  or   o  |  o  </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        |\   /|       |\ | /|</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        | \ / |       | \|/ |</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        o--o--o       o--o--o</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>Two options were suggested:</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>1. Support up to 9 points as the internal entry of the hash in the </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>vtkDataSetSurfaceFilter</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>or</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>2. Remove support of quad cells from vtkDataSetSurfaceFilter. Thus user </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>will have to use vtkDataSetTriangleFilter first before using the </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>vtkDataSetSurfaceMapper.</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>Mathieu’s preference
was for option 2.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>From my perspective, I want
to get from a heterogeneous (1-D, 2-D & 3-D cells) vtkUnstructuredGrid to vtkPolyDataMapper
with the least amount of memory usage. Introducing vtkDataSetTriangleFilter
would give me a big memory hit with a duplicated vtkPoints and a much bigger
cell list. Of course, the faces could first be extracted as vtkUnstructuredGrid
without any triangulation (new filter vtkUnstructuredGridSurfaceFilter) and
then passed through vtkDataSetTriangleFilter but again there is duplication of
data. So for large problems and ease of use, I would go for option 1.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'>I was wondering whether it would be possible to subdivide
the quadratic quad into 4 linear quads (instead of triangles) or for vtkQuadraticQuad::Triangulate()
to offer the symmetric schemes -</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'> </span></font></p>

<pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>        o--o--o       o--o--o </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        | /|\ |       |\ | /|</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        |/ | \|       | \|/ |</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        o--o--o  or   o--o--o  </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        |\ | /|       | /|\ |</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        | \|/ |       |/ | \|</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>        o--o--o       o--o--o</span></font></pre>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'> </span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'>Both alternatives introduce the complication of the
additional point and interpolation of point data.</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'> </span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'>I am volunteering to have a go at resolving this
problem or test/finish any work that may have already started. What I would
like to know is which (if any) of the schemes is likely to be most acceptable.
I may also be behind the times since I am working with version 4.5. </span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'> </span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'>Thanks for your time.</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'> </span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span style='font-size:10.0pt;
font-family:"Courier New"'>John.</span></font></p>

</div>

</body>

</html>