<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:508063476;
        mso-list-type:hybrid;
        mso-list-template-ids:-870133668 68354049 68354073 68354075 68354063 68354073 68354075 68354063 68354073 68354075;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:38.25pt;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:74.25pt;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:110.25pt;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:146.25pt;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:182.25pt;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:218.25pt;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:254.25pt;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:290.25pt;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:326.25pt;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1528788244;
        mso-list-type:hybrid;
        mso-list-template-ids:-2101461570 68354063 68354073 68354075 68354063 68354073 68354075 68354063 68354073 68354075;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2
        {mso-list-id:1773167372;
        mso-list-type:hybrid;
        mso-list-template-ids:-1660915894 68354063 68354073 68354075 68354063 68354073 68354075 68354063 68354073 68354075;}
@list l2:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:38.25pt;
        text-indent:-.25in;}
@list l2:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:74.25pt;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:110.25pt;
        text-indent:-9.0pt;}
@list l2:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:146.25pt;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:182.25pt;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:218.25pt;
        text-indent:-9.0pt;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:254.25pt;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:290.25pt;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:326.25pt;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="NL" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi all,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">We are studying the advantages and drawbacks of various options for visualizing our finite element data with VTK.  Our elements map for a large part to the existing VTK cells, but we have roughly 20-30 element types (higher
 order elements and elements that model an interface between two cells) that do not map to existing cell types. We expect that in the future our library of elements will grow, requiring an approach that minimizes the effort needed to implement new elements/cells.
 The two alternatives that we are currently considering are implementing the VTK generic framework vs. adding custom cells to VTK by deriving from vtkCell, vtkNonlinearCell, etc.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Regarding the generic adaptor framework I have the following questions:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">How mature is the framework, viz. how many projects/products have actually implemented the generic adaptor framework?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">From some experimentation it seems that walking over the cells of a grid does not scale to 1M cells or more, and applying the provided generic filtering algorithms also demonstrate a performance degradation
 by a factor 2-3. Is this observation correct? Is there any work going on to improve this?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">Are there example implementations other than the bridge example from the VTK code base?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:2.25pt"><span lang="EN-US">Regarding extending the existing VTK cell collection I have investigated the current 5.9 VTK code. It seems to me that there are several locations where adding new cells requires significant
 patching of VTK code in the Graphics and Filtering areas:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkCellType – trivial – add cell type id<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkGenericCell – trivial – add case statement for cell instantiation<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkUnstructuredGrid – trivial – add case statement for GetCell()<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkBoxClipDataSet – almost trivial – add fall-through case statement for appropriate shape<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkCutter – trivial – add cellTypeDimensions entry.  Only for non 3D cell types<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkDataSetSurfaceFilter – nontrivial extension to UnstructuredGridExecute, but probably not needed if the default case performs sufficiently fast<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkGeometryFilter – almost trivial - add fall-through case statement for appropriate shape(?)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l0 level1 lfo3">
<![if !supportLists]><span lang="EN-US" style="font-family:Symbol"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span lang="EN-US">vtkUnstructuredGridGeometryFilter – nontrivial addition to RequestData, except if fall-through case is appropriate.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Regarding extending the existing VTK cell collection my questions are:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l2 level1 lfo2">
<![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">Is the above analysis of impact to VTK code correct/complete?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l2 level1 lfo2">
<![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">We are very reluctant to go into this much patching. Are there other approaches that have less impact to existing VTK code?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l2 level1 lfo2">
<![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">What are the experiences with adding new cell types as outlined above? Has it been done before at all?
<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:38.25pt;text-indent:-.25in;mso-list:l2 level1 lfo2">
<![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">4.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span lang="EN-US">It seems that there are several cell type ids that are entered in the VTKCellType enumeration that are not supported by the code, esp. the VTK_HIGHER_ORDER_... and VTK_PARAMETRIC_... entries. What is the intent
 of those entries?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Are there other aspects that I should take into account when deciding which direction to take?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Are there other options besides the two outlined above?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks a lot for your help.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Andreas Buykx<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL">Andreas Buykx<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL">Senior Software Engineer<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span lang="EN-US" style="font-size:11.5pt;font-family:"Arial","sans-serif";color:#CB2027;mso-fareast-language:NL">TNO DIANA BV
</span></b><span lang="EN-US" style="font-size:11.5pt;font-family:"Arial","sans-serif";color:#CB2027;mso-fareast-language:NL"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><i><span lang="EN-US" style="font-size:8.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL">Software Developers and Analysis Consultants for Civil and Geotechnical Engineering
<o:p></o:p></span></i></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:8.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL">Delftechpark 19a, 2628 XJ, Delft, The Netherlands
<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL">Tel: +31 88 34262 15 (Direct)
</span><span lang="EN-US" style="color:black;mso-fareast-language:NL"> Tel: +31 88 34262 00 (Switchboard)  +31 88 34262 99 (Fax)
<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:"Arial","sans-serif";color:black;mso-fareast-language:NL"><a href="http://tnodiana.com/"><span lang="EN-US">http://tnodiana.com</span></a></span><b><i><span style="font-size:9.0pt;mso-fareast-language:NL">
<span lang="EN-US"><o:p></o:p></span></span></i></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><i><span lang="EN-US" style="font-size:9.0pt;mso-fareast-language:NL"><o:p> </o:p></span></i></b></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="font-size:9.0pt;mso-fareast-language:NL">…be green keep it on screen</span></i></b><span lang="EN-US" style="mso-fareast-language:NL"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<font face="monospace">____________________________________________________________<br>
TNO DIANA BV is a limited liability company registered in the trade register of the Chamber of Commerce as TNO DIANA BV with registered number 27252655.<br>
____________________________________________________________<br>
This e-mail and its contents are subject to the DISCLAIMER at http://tnodiana.com/content/Disclaimer<br>
____________________________________________________________</font></body>
</html>