Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d5e74628f0e673bb8680aebce32b2c04 > files > 15701

itk-doc-3.12.0-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ITK: itkFEMElementBase.h Source File</title>
<link href="DoxygenStyle.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">


<!--  Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 -->
<center>
<a href="index.html" class="qindex">Main Page</a>&nbsp;&nbsp; 
<a href="modules.html" class="qindex">Groups</a>&nbsp;&nbsp;
<a href="namespaces.html" class="qindex">Namespace List</a>&nbsp;&nbsp;
<a href="hierarchy.html" class="qindex">Class Hierarchy</a>&nbsp;&nbsp;
<a href="classes.html" class="qindex">Alphabetical List</a>&nbsp;&nbsp;
<a href="annotated.html" class="qindex">Compound List</a>&nbsp;&nbsp; 
<a href="files.html" class="qindex">File
List</a>&nbsp;&nbsp; 
<a href="namespacemembers.html" class="qindex">Namespace Members</a>&nbsp;&nbsp; 
<a href="functions.html" class="qindex">Compound Members</a>&nbsp;&nbsp; 
<a href="globals.html" class="qindex">File Members</a>&nbsp;&nbsp;
<a href="pages.html" class="qindex">Concepts</a></center>


<!-- Generated by Doxygen 1.5.9 -->
  <div class="navpath"><a class="el" href="dir_02e23d841c198393a6e961e9a0678fff.html">Code</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_2c33022d19e8077162952ea9ed57656d.html">Numerics</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_316e5ab5c8a9cb56a9dce1c9fc454a23.html">FEM</a>
  </div>
<div class="contents">
<h1>itkFEMElementBase.h</h1><a href="itkFEMElementBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span>
<a name="l00002"></a>00002 <span class="comment"></span>
<a name="l00003"></a>00003 <span class="comment">  Program:   Insight Segmentation &amp; Registration Toolkit</span>
<a name="l00004"></a>00004 <span class="comment">  Module:    $RCSfile: itkFEMElementBase.h,v $</span>
<a name="l00005"></a>00005 <span class="comment">  Language:  C++</span>
<a name="l00006"></a>00006 <span class="comment">  Date:      $Date: 2009-01-29 21:28:16 $</span>
<a name="l00007"></a>00007 <span class="comment">  Version:   $Revision: 1.43 $</span>
<a name="l00008"></a>00008 <span class="comment"></span>
<a name="l00009"></a>00009 <span class="comment">  Copyright (c) Insight Software Consortium. All rights reserved.</span>
<a name="l00010"></a>00010 <span class="comment">  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.</span>
<a name="l00011"></a>00011 <span class="comment"></span>
<a name="l00012"></a>00012 <span class="comment">     This software is distributed WITHOUT ANY WARRANTY; without even </span>
<a name="l00013"></a>00013 <span class="comment">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR </span>
<a name="l00014"></a>00014 <span class="comment">     PURPOSE.  See the above copyright notices for more information.</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment">=========================================================================*/</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef __itkFEMElementBase_h</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define __itkFEMElementBase_h</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="itkFEMLightObject_8h.html">itkFEMLightObject.h</a>"</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="itkFEMPArray_8h.html">itkFEMPArray.h</a>"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="itkFEMMaterialBase_8h.html">itkFEMMaterialBase.h</a>"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="itkFEMSolution_8h.html">itkFEMSolution.h</a>"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="itkVisitorDispatcher_8h.html">itkVisitorDispatcher.h</a>"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "vnl/vnl_matrix.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "vnl/vnl_vector.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;set&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="keyword">namespace </span>itk {
<a name="l00032"></a>00032 <span class="keyword">namespace </span>fem {
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 <span class="comment">// FIXME: Write better documentation</span>
<a name="l00067"></a><a class="code" href="itkFEMElementBase_8h.html#00bf10a2b65a9e8e583d9dc045878155">00067</a> <span class="comment"></span><span class="preprocessor">#define HANDLE_ELEMENT_LOADS() \</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>
<a name="l00069"></a>00069 <span class="preprocessor"></span> \
<a name="l00070"></a><a class="code" href="namespaceitk_1_1fem.html#86bad4441f3e25fdfb622930406703df">00070</a>   <span class="keyword">typedef</span> void (*<a class="code" href="namespaceitk_1_1fem.html#86bad4441f3e25fdfb622930406703df">LoadImplementationFunctionPointer</a>)(<a class="code" href="itkFEMMacro_8h.html#68fafcc6909430ccd70cbc4aeee0107c">ConstPointer</a>,<a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">Element::LoadPointer</a>, <a class="code" href="classvnl__vector.html">Element::VectorType</a>&amp; ); \
<a name="l00071"></a><a class="code" href="namespaceitk_1_1fem.html#0130af4afc0b38d4b958b18fc13ad497">00071</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="namespaceitk_1_1fem.html#0130af4afc0b38d4b958b18fc13ad497">GetLoadVector</a>( <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">Element::LoadPointer</a> l, <a class="code" href="classvnl__vector.html">Element::VectorType</a>&amp; Fe ) <span class="keyword">const</span> \
<a name="l00072"></a>00072   { <a class="code" href="classitk_1_1fem_1_1VisitorDispatcher.html#b02a2fab0b4f1415c02b27a18e2c9535">VisitorDispatcher&lt;Self,Element::LoadType, LoadImplementationFunctionPointer&gt;::Visit</a>(l)(<span class="keyword">this</span>,l,Fe); }
<a name="l00074"></a>00074 
<a name="l00075"></a><a class="code" href="classitk_1_1fem_1_1Element.html">00075</a> <span class="keyword">class </span><a class="code" href="classitk_1_1fem_1_1Element.html" title="Abstract base element class.">Element</a> : <span class="keyword">public</span> <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">FEMLightObject</a>
<a name="l00076"></a>00076 {
<a name="l00077"></a><a class="code" href="classitk_1_1fem_1_1Element.html#def3a5eb5ff4ae9333010402b449ae3d">00077</a>   <a class="code" href="itkFEMMacro_8h.html#fa7d760fae69e20af6c94904fb3366fa" title="If defined, FEM classes will use smart pointers.">FEM_ABSTRACT_CLASS</a>(<a class="code" href="classitk_1_1fem_1_1Element.html" title="Abstract base element class.">Element</a>,<a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">FEMLightObject</a>)
<a name="l00078"></a>00078 public:
<a name="l00079"></a>00079 
<a name="l00083"></a><a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">00083</a>   typedef <span class="keywordtype">double</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a>;
<a name="l00084"></a>00084 
<a name="l00088"></a><a class="code" href="classitk_1_1fem_1_1Element.html#e1dcb6192dc1a2e7bf9c27b99ec56dda">00088</a>   typedef <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">FEMPArray</a>&lt;<a class="code" href="classitk_1_1fem_1_1Element.html" title="Abstract base element class.">Element</a>&gt; <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">ArrayType</a>;
<a name="l00089"></a>00089 
<a name="l00093"></a><a class="code" href="classitk_1_1fem_1_1Element.html#3e94307f744f9109ea0877bb2c9a91bd">00093</a>   typedef <a class="code" href="classvnl__matrix.html">vnl_matrix</a>&lt;Float&gt; <a class="code" href="classvnl__matrix.html">MatrixType</a>;
<a name="l00094"></a>00094 
<a name="l00098"></a><a class="code" href="classitk_1_1fem_1_1Element.html#f4f2870904b16547838e767ec3634bac">00098</a>   typedef <a class="code" href="classvnl__vector.html">vnl_vector</a>&lt;Float&gt; <a class="code" href="classvnl__vector.html">VectorType</a>;
<a name="l00099"></a>00099 
<a name="l00111"></a><a class="code" href="classitk_1_1fem_1_1Element.html#f3950dae7012d4ef192c2cb865413a75">00111</a>   typedef <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">FEMLightObject</a>    <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">LoadType</a>;
<a name="l00112"></a><a class="code" href="classitk_1_1fem_1_1Element.html#c5cac65ca9fbc8a91a364a94f6453b99">00112</a>   typedef LoadType::<a class="code" href="classitk_1_1fem_1_1Element.html" title="Abstract base element class.">Pointer</a> <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">LoadPointer</a>;
<a name="l00114"></a>00114 
<a name="l00118"></a><a class="code" href="classitk_1_1fem_1_1Element.html#f253634cdb931a1d49777fae960c1812">00118</a>   typedef <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1Element.html#f253634cdb931a1d49777fae960c1812">DegreeOfFreedomIDType</a>;
<a name="l00119"></a>00119 
<a name="l00125"></a><a class="code" href="classitk_1_1fem_1_1Element.html#6afc3a99482ee0bca98707e986233c584da2345c91b292269534144104cc76d1">00125</a>   enum{ <a class="code" href="classitk_1_1fem_1_1Element.html#6afc3a99482ee0bca98707e986233c584da2345c91b292269534144104cc76d1">InvalidDegreeOfFreedomID</a> = 0xffffffff };
<a name="l00126"></a>00126 
<a name="l00135"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html">00135</a>   <span class="keyword">class </span><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Node</a> : <span class="keyword">public</span> <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">FEMLightObject</a>
<a name="l00136"></a>00136     {
<a name="l00137"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#0a1d530b847b075ff60752b5c150980c">00137</a>     <a class="code" href="itkFEMMacro_8h.html#a6412b85156702b319322aa9a908209d" title="Defines typedefs for pointers to class.">FEM_CLASS</a>(<a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Node</a>,<a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">FEMLightObject</a>)
<a name="l00138"></a>00138      public:
<a name="l00139"></a>00139 
<a name="l00143"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#852a771a16f8bfcb33a4b37b28ba267a">00143</a>     typedef <span class="keywordtype">double</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#852a771a16f8bfcb33a4b37b28ba267a">Float</a>;
<a name="l00144"></a>00144 
<a name="l00148"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#66e4d1c7cf56568ad1c9232b8b72a13f">00148</a>     typedef <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">FEMPArray</a>&lt;<a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Self</a>&gt; <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">ArrayType</a>;
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 
<a name="l00151"></a>00151     <span class="comment">/* Windows visualization */</span>
<a name="l00152"></a>00152   <span class="preprocessor">#ifdef FEM_BUILD_VISUALIZATION</span>
<a name="l00153"></a>00153 <span class="preprocessor"></span>
<a name="l00154"></a>00154     <span class="keywordtype">void</span> Draw(CDC* pDC, <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution::ConstPointer</a> sol) <span class="keyword">const</span>;
<a name="l00155"></a>00155 
<a name="l00157"></a>00157     <span class="keyword">static</span> <span class="keywordtype">double</span>&amp; DC_Scale;
<a name="l00158"></a>00158 <span class="preprocessor">  #endif</span>
<a name="l00159"></a>00159 <span class="preprocessor"></span>
<a name="l00163"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#37276be5cff930518bd28f383cc04a04">00163</a>     <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#37276be5cff930518bd28f383cc04a04">Node</a>() {}
<a name="l00164"></a>00164 
<a name="l00168"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#162bc6225ce5b88d8997b1be445cd047">00168</a>     <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#37276be5cff930518bd28f383cc04a04">Node</a>(Float x, Float y) : m_coordinates(<a class="code" href="classvnl__vector.html">VectorType</a>(2))
<a name="l00169"></a>00169     { m_coordinates[0]=x; m_coordinates[1]=y; }
<a name="l00170"></a>00170 
<a name="l00174"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#7868a3aff0ad2383ada83aa16cd7cb09">00174</a>     <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#37276be5cff930518bd28f383cc04a04">Node</a>(Float x, Float y, Float z) : m_coordinates(<a class="code" href="classvnl__vector.html">VectorType</a>(3))
<a name="l00175"></a>00175       { m_coordinates[0]=x; m_coordinates[1]=y; m_coordinates[2]=z;}
<a name="l00176"></a>00176 
<a name="l00181"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#2dbb5a1596b3bb6ae500edba0d3ce810">00181</a>     <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#2dbb5a1596b3bb6ae500edba0d3ce810">GetCoordinates</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span>
<a name="l00182"></a>00182 <span class="keyword">      </span>{ <span class="keywordflow">return</span> m_coordinates; }
<a name="l00183"></a>00183 
<a name="l00187"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#777ed2be4a325ec0221db3bc233416e7">00187</a>     <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#777ed2be4a325ec0221db3bc233416e7">SetCoordinates</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; coords )
<a name="l00188"></a>00188       { m_coordinates=coords; }
<a name="l00189"></a>00189 
<a name="l00193"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#0655697a3c1d3d5f83d9a8a50131ce0f">00193</a>     <a class="code" href="classitk_1_1fem_1_1Element.html#f253634cdb931a1d49777fae960c1812">DegreeOfFreedomIDType</a> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#0655697a3c1d3d5f83d9a8a50131ce0f">GetDegreeOfFreedom</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i)<span class="keyword"> const</span>
<a name="l00194"></a>00194 <span class="keyword">      </span>{
<a name="l00195"></a>00195       <span class="keywordflow">if</span>( i&gt;=m_dof.size() ) { <span class="keywordflow">return</span> <a class="code" href="classitk_1_1fem_1_1Element.html#6afc3a99482ee0bca98707e986233c584da2345c91b292269534144104cc76d1">InvalidDegreeOfFreedomID</a>; }
<a name="l00196"></a>00196       <span class="keywordflow">return</span> m_dof[i];
<a name="l00197"></a>00197       }
<a name="l00199"></a>00199 
<a name="l00203"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#305fa46ca6d43123203399cbe6459836">00203</a>     <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#305fa46ca6d43123203399cbe6459836">SetDegreeOfFreedom</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i, <a class="code" href="classitk_1_1fem_1_1Element.html#f253634cdb931a1d49777fae960c1812">DegreeOfFreedomIDType</a> dof)<span class="keyword"> const</span>
<a name="l00204"></a>00204 <span class="keyword">      </span>{
<a name="l00205"></a>00205       <span class="keywordflow">if</span>( i&gt;=m_dof.size() ) { m_dof.resize(i+1, <a class="code" href="classitk_1_1fem_1_1Element.html#6afc3a99482ee0bca98707e986233c584da2345c91b292269534144104cc76d1">InvalidDegreeOfFreedomID</a>); }
<a name="l00206"></a>00206       m_dof[i]=dof;
<a name="l00207"></a>00207       }
<a name="l00209"></a>00209 
<a name="l00210"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#9c3639767b64dc852fe56732ee014099">00210</a>     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#9c3639767b64dc852fe56732ee014099">ClearDegreesOfFreedom</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span>
<a name="l00211"></a>00211 <span class="keyword">      </span>{
<a name="l00212"></a>00212       m_dof.clear();
<a name="l00213"></a>00213       }
<a name="l00214"></a>00214 
<a name="l00215"></a>00215     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#fe5c09268ba386d741dc5210c5e23cdc">Read</a>(  std::istream&amp; f, <span class="keywordtype">void</span>* info );
<a name="l00216"></a>00216     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#6c2d09340d7cc577fb508c2301d428ef">Write</a>( std::ostream&amp; f ) <span class="keyword">const</span>;
<a name="l00217"></a>00217 
<a name="l00218"></a>00218   <span class="keyword">public</span>:
<a name="l00223"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#8d4eae9b6fea91f3644ae6eb32b54910">00223</a>     <span class="keyword">typedef</span> std::set&lt;Element*&gt; <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#8d4eae9b6fea91f3644ae6eb32b54910">SetOfElements</a>;
<a name="l00224"></a><a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#50f2afebc8a6e805b37154232f2ad2d4">00224</a>     <span class="keyword">mutable</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#8d4eae9b6fea91f3644ae6eb32b54910">SetOfElements</a> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#50f2afebc8a6e805b37154232f2ad2d4">m_elements</a>;
<a name="l00225"></a>00225 
<a name="l00226"></a>00226   <span class="keyword">private</span>:
<a name="l00230"></a>00230     <a class="code" href="classvnl__vector.html">VectorType</a> m_coordinates;
<a name="l00231"></a>00231 
<a name="l00236"></a>00236     <span class="keyword">mutable</span> std::vector&lt;DegreeOfFreedomIDType&gt; m_dof;
<a name="l00237"></a>00237 
<a name="l00238"></a>00238   }; <span class="comment">// end class Node</span>
<a name="l00239"></a>00239 
<a name="l00241"></a>00241   <span class="comment">/*</span>
<a name="l00242"></a>00242 <span class="comment">   * Methods related to the physics of the problem.</span>
<a name="l00243"></a>00243 <span class="comment">   */</span>
<a name="l00244"></a>00244 
<a name="l00245"></a>00245   <span class="keyword">virtual</span> <a class="code" href="classvnl__vector.html">VectorType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#c841e078a70adc370cf5e55ce17a8460">GetStrainsAtPoint</a>(<span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <span class="keyword">const</span> <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution</a>&amp; sol, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index) <span class="keyword">const</span>;
<a name="l00246"></a>00246 
<a name="l00247"></a>00247   <span class="keyword">virtual</span> <a class="code" href="classvnl__vector.html">VectorType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#a0f9524f8edd78690e30a195bcacaa33">GetStressesAtPoint</a>(<span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; e, <span class="keyword">const</span> <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution</a>&amp; sol, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index) <span class="keyword">const</span>;
<a name="l00248"></a>00248 
<a name="l00269"></a>00269   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#4881a968beddf4d40b140db786ba5534">GetStiffnessMatrix</a>( <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; Ke ) <span class="keyword">const</span>;
<a name="l00270"></a>00270 
<a name="l00280"></a>00280   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a> <a class="code" href="classitk_1_1fem_1_1Element.html#e330eb73daa8cdf480f8ff821aa314d3">GetElementDeformationEnergy</a>( <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; LocalSolution ) <span class="keyword">const</span>;
<a name="l00281"></a>00281 
<a name="l00293"></a>00293   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#2f3d6937c4bd6337cd904c9c9625305a">GetMassMatrix</a>( <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; Me ) <span class="keyword">const</span>;
<a name="l00294"></a>00294 
<a name="l00306"></a>00306   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#77d46d92848f2a23ca8255e6b8559ccd">GetLandmarkContributionMatrix</a>(<span class="keywordtype">float</span> eta, <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; Le) <span class="keyword">const</span>;
<a name="l00307"></a>00307 
<a name="l00337"></a>00337   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c002b8a7cabf62d6915c78e05a89bf30">GetLoadVector</a>( <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">LoadPointer</a> l, <a class="code" href="classvnl__vector.html">VectorType</a>&amp; Fe ) <span class="keyword">const</span> = 0;
<a name="l00338"></a>00338 
<a name="l00346"></a>00346   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#ac2e000db0697eeea560381058fd4e66">GetStrainDisplacementMatrix</a>( <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; B, <span class="keyword">const</span> <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; shapeDgl ) <span class="keyword">const</span> = 0;
<a name="l00347"></a>00347 
<a name="l00353"></a>00353   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#4e266b8bc3bee54f6b0b940a94631523">GetMaterialMatrix</a>( <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; D ) <span class="keyword">const</span> = 0;
<a name="l00354"></a>00354 
<a name="l00366"></a>00366   <span class="keyword">virtual</span> <a class="code" href="classvnl__vector.html">VectorType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#3d281d56b2053c95d8bb6783d0f27d5b">InterpolateSolution</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <span class="keyword">const</span> <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution</a>&amp; sol , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> solutionIndex=0 ) <span class="keyword">const</span>;
<a name="l00367"></a>00367 
<a name="l00381"></a>00381   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a> <a class="code" href="classitk_1_1fem_1_1Element.html#63533da6d5e799f5235591204b9628f3">InterpolateSolutionN</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <span class="keyword">const</span> <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution</a>&amp; sol, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> f , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> solutionIndex=0 ) <span class="keyword">const</span>;
<a name="l00382"></a>00382 
<a name="l00389"></a><a class="code" href="classitk_1_1fem_1_1Element.html#a90642191e633e17ed707ff26fe72fb2">00389</a>   <a class="code" href="classitk_1_1fem_1_1Element.html#f253634cdb931a1d49777fae960c1812">DegreeOfFreedomIDType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#a90642191e633e17ed707ff26fe72fb2">GetDegreeOfFreedom</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> local_dof )<span class="keyword"> const</span>
<a name="l00390"></a>00390 <span class="keyword">    </span>{
<a name="l00391"></a>00391     <span class="keywordflow">if</span>(local_dof&gt;this-&gt;<a class="code" href="classitk_1_1fem_1_1Element.html#b3199f871a48d5df67247c40182da482">GetNumberOfDegreesOfFreedom</a>()) { <span class="keywordflow">return</span> <a class="code" href="classitk_1_1fem_1_1Element.html#6afc3a99482ee0bca98707e986233c584da2345c91b292269534144104cc76d1">InvalidDegreeOfFreedomID</a>; }
<a name="l00392"></a>00392     <span class="keywordflow">return</span> this-&gt;<a class="code" href="classitk_1_1fem_1_1Element.html#3df768beea4e1d0c669fc7203350a8ba">GetNode</a>(local_dof/this-&gt;<a class="code" href="classitk_1_1fem_1_1Element.html#b45acf8dbc7b93a0582451b6f4decc20">GetNumberOfDegreesOfFreedomPerNode</a>())-&gt;<a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#0655697a3c1d3d5f83d9a8a50131ce0f">GetDegreeOfFreedom</a>(local_dof%this-&gt;<a class="code" href="classitk_1_1fem_1_1Element.html#b45acf8dbc7b93a0582451b6f4decc20">GetNumberOfDegreesOfFreedomPerNode</a>());
<a name="l00393"></a>00393     }
<a name="l00395"></a>00395 
<a name="l00412"></a><a class="code" href="classitk_1_1fem_1_1Element.html#30b5b78239ab763e9765bab477f5043b">00412</a>   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">Material::ConstPointer</a> <a class="code" href="classitk_1_1fem_1_1Element.html#30b5b78239ab763e9765bab477f5043b">GetMaterial</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; }
<a name="l00413"></a>00413 
<a name="l00422"></a><a class="code" href="classitk_1_1fem_1_1Element.html#154bf920598cf4e72d9316230bec00a3">00422</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#154bf920598cf4e72d9316230bec00a3">SetMaterial</a>(<a class="code" href="classitk_1_1fem_1_1FEMLightObject.html" title="Base class for all classes that define the FEM system.">Material::ConstPointer</a>) {} <span class="comment">// FIXME: maybe we should throw an exception instead</span>
<a name="l00423"></a>00423 
<a name="l00425"></a>00425 
<a name="l00451"></a>00451   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#237a942ff6fc96724817b3ba0d401bce">GetIntegrationPointAndWeight</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i, <a class="code" href="classitk_1_1fem_1_1Element.html#f4f2870904b16547838e767ec3634bac">VectorType</a>&amp; pt, <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a>&amp; w, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> order=0 ) <span class="keyword">const</span> = 0;
<a name="l00452"></a>00452 
<a name="l00463"></a>00463   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1Element.html#84f91e962f1cddd07778d98058658cac">GetNumberOfIntegrationPoints</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> order=0 ) <span class="keyword">const</span> = 0;
<a name="l00464"></a>00464 
<a name="l00473"></a><a class="code" href="classitk_1_1fem_1_1Element.html#fade5013fc0bb781d54dda506e0b8be83ecf2edb1b826317101a6f00593a2fe8">00473</a>   <span class="keyword">enum</span> { <a class="code" href="classitk_1_1fem_1_1Element.html#fade5013fc0bb781d54dda506e0b8be83ecf2edb1b826317101a6f00593a2fe8">gaussMaxOrder</a>=10 };
<a name="l00474"></a>00474 
<a name="l00486"></a><a class="code" href="classitk_1_1fem_1_1Element.html#0d9b80b7bb30803860a061edca1622ee">00486</a>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a> <a class="code" href="classitk_1_1fem_1_1Element.html#0d9b80b7bb30803860a061edca1622ee">gaussPoint</a>[<a class="code" href="classitk_1_1fem_1_1Element.html#fade5013fc0bb781d54dda506e0b8be83ecf2edb1b826317101a6f00593a2fe8">gaussMaxOrder</a>+1][<a class="code" href="classitk_1_1fem_1_1Element.html#fade5013fc0bb781d54dda506e0b8be83ecf2edb1b826317101a6f00593a2fe8">gaussMaxOrder</a>];
<a name="l00487"></a>00487 
<a name="l00493"></a><a class="code" href="classitk_1_1fem_1_1Element.html#bafb6342444702c1e8af11e9f3003d37">00493</a>   <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a> <a class="code" href="classitk_1_1fem_1_1Element.html#bafb6342444702c1e8af11e9f3003d37">gaussWeight</a>[<a class="code" href="classitk_1_1fem_1_1Element.html#fade5013fc0bb781d54dda506e0b8be83ecf2edb1b826317101a6f00593a2fe8">gaussMaxOrder</a>+1][<a class="code" href="classitk_1_1fem_1_1Element.html#fade5013fc0bb781d54dda506e0b8be83ecf2edb1b826317101a6f00593a2fe8">gaussMaxOrder</a>];
<a name="l00494"></a>00494 
<a name="l00495"></a>00495 
<a name="l00497"></a>00497   <span class="comment">/*</span>
<a name="l00498"></a>00498 <span class="comment">   * Methods related to the geometry of an element</span>
<a name="l00499"></a>00499 <span class="comment">   */</span>
<a name="l00500"></a>00500 
<a name="l00505"></a><a class="code" href="classitk_1_1fem_1_1Element.html#6b8eae2c90cd64392d45ea04b3bfbc32">00505</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Node::ConstPointer</a> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">NodeIDType</a>;
<a name="l00506"></a>00506 
<a name="l00510"></a>00510   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1Element.html#a149d5efdebe193798e310898cd0196f">GetNumberOfNodes</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span> = 0;
<a name="l00511"></a>00511 
<a name="l00515"></a>00515   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">NodeIDType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#3df768beea4e1d0c669fc7203350a8ba">GetNode</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n) <span class="keyword">const</span> = 0;
<a name="l00516"></a>00516 
<a name="l00520"></a>00520   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#2992fd69482c2c720bd67e54d56c4052">SetNode</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n, <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">NodeIDType</a> node) = 0;
<a name="l00521"></a>00521 
<a name="l00527"></a>00527   <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; <a class="code" href="classitk_1_1fem_1_1Element.html#cd805333750c8f7aaf73443b7831270f">GetNodeCoordinates</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n ) <span class="keyword">const</span> = 0;
<a name="l00528"></a>00528 
<a name="l00534"></a>00534   <span class="keyword">virtual</span> <a class="code" href="classvnl__vector.html">VectorType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#c2c183e84cf8e5a8105cf5363958bbce">GetGlobalFromLocalCoordinates</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt ) <span class="keyword">const</span>;
<a name="l00535"></a>00535 
<a name="l00542"></a>00542   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c0624c4e74ba0d563129e8fb4c1b8a90">GetLocalFromGlobalCoordinates</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; globalPt , <a class="code" href="classvnl__vector.html">VectorType</a>&amp; localPt ) <span class="keyword">const</span> = 0;
<a name="l00543"></a>00543 
<a name="l00549"></a>00549   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1Element.html#94bf329464e1fce295b6838f5033c65b">GetNumberOfSpatialDimensions</a>() <span class="keyword">const</span> = 0;
<a name="l00550"></a>00550 
<a name="l00558"></a>00558   <span class="keyword">virtual</span> <a class="code" href="classvnl__vector.html">VectorType</a> <a class="code" href="classitk_1_1fem_1_1Element.html#a7b70476cd08c4fd56852599616b4675">ShapeFunctions</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt ) <span class="keyword">const</span> = 0;
<a name="l00559"></a>00559 
<a name="l00575"></a>00575   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#5250743b718dd40dc9dc771418cb96cc">ShapeFunctionDerivatives</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; shapeD ) <span class="keyword">const</span> = 0;
<a name="l00576"></a>00576 
<a name="l00596"></a>00596   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#5d1a3501ec5bbf7b05cb5b68a047c64c">ShapeFunctionGlobalDerivatives</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; shapeDgl, <span class="keyword">const</span> <a class="code" href="classvnl__matrix.html">MatrixType</a>* pJ=0, <span class="keyword">const</span> <a class="code" href="classvnl__matrix.html">MatrixType</a>* pshapeD=0 ) <span class="keyword">const</span>;
<a name="l00597"></a>00597 
<a name="l00619"></a>00619   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#e28d3cde35dd27be62880bfb4fa6a67a">Jacobian</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; J, <span class="keyword">const</span> <a class="code" href="classvnl__matrix.html">MatrixType</a>* pshapeD = 0 ) <span class="keyword">const</span>;
<a name="l00620"></a>00620 
<a name="l00630"></a>00630   <span class="keyword">virtual</span> <a class="code" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Float</a> <a class="code" href="classitk_1_1fem_1_1Element.html#6486f1c955e238628471d669d0c75357">JacobianDeterminant</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <span class="keyword">const</span> <a class="code" href="classvnl__matrix.html">MatrixType</a>* pJ = 0 ) <span class="keyword">const</span>;
<a name="l00631"></a>00631 
<a name="l00643"></a>00643   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1fem_1_1Element.html#f6f4f8802a0165627bef81c6bb3e9d76">JacobianInverse</a>( <span class="keyword">const</span> <a class="code" href="classvnl__vector.html">VectorType</a>&amp; pt, <a class="code" href="classvnl__matrix.html">MatrixType</a>&amp; invJ, <span class="keyword">const</span> <a class="code" href="classvnl__matrix.html">MatrixType</a>* pJ = 0 ) <span class="keyword">const</span>;
<a name="l00644"></a>00644 
<a name="l00650"></a><a class="code" href="classitk_1_1fem_1_1Element.html#b3199f871a48d5df67247c40182da482">00650</a>   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1Element.html#b3199f871a48d5df67247c40182da482">GetNumberOfDegreesOfFreedom</a>( <span class="keywordtype">void</span> )<span class="keyword"> const</span>
<a name="l00651"></a>00651 <span class="keyword">    </span>{
<a name="l00652"></a>00652     <span class="keywordflow">return</span> this-&gt;<a class="code" href="classitk_1_1fem_1_1Element.html#a149d5efdebe193798e310898cd0196f">GetNumberOfNodes</a>() * this-&gt;<a class="code" href="classitk_1_1fem_1_1Element.html#b45acf8dbc7b93a0582451b6f4decc20">GetNumberOfDegreesOfFreedomPerNode</a>();
<a name="l00653"></a>00653     }
<a name="l00654"></a>00654 
<a name="l00662"></a>00662   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1fem_1_1Element.html#b45acf8dbc7b93a0582451b6f4decc20">GetNumberOfDegreesOfFreedomPerNode</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span> = 0;
<a name="l00663"></a>00663 
<a name="l00665"></a>00665 
<a name="l00669"></a>00669 <span class="preprocessor">#ifdef FEM_BUILD_VISUALIZATION</span>
<a name="l00670"></a>00670 <span class="preprocessor"></span>
<a name="l00673"></a>00673   <span class="keyword">virtual</span> <span class="keywordtype">void</span> Draw(CDC* pDC, <a class="code" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector.">Solution::ConstPointer</a> sol)<span class="keyword"> const </span>{}
<a name="l00674"></a>00674 
<a name="l00676"></a>00676   <span class="keyword">static</span> <span class="keywordtype">double</span> DC_Scale;
<a name="l00677"></a>00677 <span class="preprocessor">#endif</span>
<a name="l00678"></a>00678 <span class="preprocessor"></span>
<a name="l00679"></a>00679 };
<a name="l00680"></a>00680 
<a name="l00681"></a>00681 <span class="comment">// Make sure that Element::Node class is registered with the object factory.</span>
<a name="l00682"></a>00682 <span class="keyword">static</span> INITClass <a class="code" href="namespaceitk_1_1fem.html#34f4fe77188a7f5d92bc460fe2a6c44f">Initializer_ElementNode</a>(<a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html#b94d08632a74eecdcf20ca4693957507">Element::Node::CLID</a>());
<a name="l00683"></a>00683 
<a name="l00684"></a>00684 <span class="comment">// Alias for Element::Node class</span>
<a name="l00685"></a><a class="code" href="namespaceitk_1_1fem.html#dab87725f8cf17989bd79741501c18fa">00685</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Element::Node</a> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Node</a>;
<a name="l00686"></a>00686 
<a name="l00698"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html">00698</a> <span class="keyword">class </span><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html" title="Helper class for storing additional information that is required when reading FEM...">ReadInfoType</a>
<a name="l00699"></a>00699 {
<a name="l00700"></a>00700 <span class="keyword">public</span>:
<a name="l00701"></a>00701 
<a name="l00702"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#4a656a6914cc51a57f15a233d6ad5ea0">00702</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">Node::ArrayType::ConstPointer</a>     <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">NodeArrayPointer</a>;
<a name="l00703"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#f7232eed0943209ba916104621be47d0">00703</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">Element::ArrayType::ConstPointer</a>  <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">ElementArrayPointer</a>;
<a name="l00704"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#0e73dc55f242342c9128660adafc7e4c">00704</a>   <span class="keyword">typedef</span> <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">Material::ArrayType::ConstPointer</a> <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">MaterialArrayPointer</a>;
<a name="l00705"></a>00705 
<a name="l00707"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#a212dd17a21590da3eb6b1c6ed3b6e9c">00707</a>   <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">NodeArrayPointer</a> <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#a212dd17a21590da3eb6b1c6ed3b6e9c">m_node</a>;
<a name="l00708"></a>00708 
<a name="l00710"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#ee4d90484fa35b937dc3418d90f64a02">00710</a>   <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">ElementArrayPointer</a> <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#ee4d90484fa35b937dc3418d90f64a02">m_el</a>;
<a name="l00711"></a>00711 
<a name="l00713"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#7c1931796681239b957e52c6531e372c">00713</a>   <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">MaterialArrayPointer</a> <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#7c1931796681239b957e52c6531e372c">m_mat</a>;
<a name="l00714"></a>00714 
<a name="l00716"></a><a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#13091754f0f769dc8c5bbb3197f33a5d">00716</a>   <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#13091754f0f769dc8c5bbb3197f33a5d">ReadInfoType</a>( <a class="code" href="classitk_1_1fem_1_1Element_1_1Node.html" title="Class that stores information required to define a node.">NodeArrayPointer</a> node_, <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">ElementArrayPointer</a> el_, <a class="code" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects.">MaterialArrayPointer</a> mat_) :
<a name="l00717"></a>00717     <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#a212dd17a21590da3eb6b1c6ed3b6e9c">m_node</a>(node_), <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#ee4d90484fa35b937dc3418d90f64a02">m_el</a>(el_), <a class="code" href="classitk_1_1fem_1_1ReadInfoType.html#7c1931796681239b957e52c6531e372c">m_mat</a>(mat_) {}
<a name="l00718"></a>00718 };
<a name="l00720"></a>00720 
<a name="l00721"></a>00721 }} <span class="comment">// end namespace itk::fem</span>
<a name="l00722"></a>00722 
<a name="l00723"></a>00723 <span class="preprocessor">#endif // #ifndef __itkFEMElementBase_h</span>
<a name="l00724"></a>00724 <span class="preprocessor"></span>
</pre></div></div>
<hr><address><small>
Generated at Thu May 7 22:41:26 2009 for ITK  by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img 
src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen"
align="middle" border=0 width=110 height=53>
</a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2000</small></address>
</body>
</html>