<div dir="ltr">Thanks!<br><br>Do I need to add the below typdef declaration in .h and .cxx<br><br>typedef itk::DefaultStaticMeshTraits&lt;<br>            vtkFloatingPointType,            PointDimension,            MaxCellDimension,            vtkFloatingPointType,vtkFloatingPointType  &gt;MeshTraits;<br>
<br>    typedef itk::Mesh&lt;            vtkFloatingPointType,PointDimension,MeshTraits              &gt;MeshType;<br><br>Is there any example on how to declare  and return itk objects in classes?<br><br>Thanks again<br><br>
Jothy<br><br><div class="gmail_quote">On Thu, Jun 7, 2012 at 1:56 PM, David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">&gt; Which one do you mean MeshType::pointer or MeshType?<br>
&gt;<br>
&gt; Jothy<br>
<br>
</div>MeshType is not an object, it is just a type (defined with &#39;typedef&#39;).<br>
MeshType::Pointer is then a smartpointer to an object of type<br>
&#39;MeshType&#39;.<br>
<br>
David<br>
<div class="im"><br>
&gt;&gt; Hi,<br>
&gt;&gt; It is better to return smartpointers over regular pointers?<br>
&gt;&gt;<br>
&gt;&gt; Regards<br>
<br>
</div>If you create the object as a:<br>
<br>
MeshType::Pointer myMesh = MeshType::New();<br>
<br>
in the function, you&#39;ll have to return a MeshType::Pointer, or the<br>
smart pointer will go out of scope and be destroyed. Actually, I think<br>
in ITK that is the only way to do it (I don&#39;t have any experience with<br>
itk::Mesh, but with itk::Image I don&#39;t think anything works correctly<br>
if you try to create a itk::Image&lt;float, 2&gt;* image = itk::Image&lt;float,<br>
2&gt;::New() ?)<br>
<span class="HOEnZb"><font color="#888888"><br>
David<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">Jothy<br></div><br>
</div>