<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV><BR>--- On Mon, 5/2/11, Jason Kraftcheck &lt;kraftche@cae.wisc.edu&gt; wrote:<BR><BR><BR>From: Jason Kraftcheck &lt;kraftche@cae.wisc.edu&gt;<BR>Subject: Re: [cgma-dev] r4790 - cgm/trunk/itaps<BR>To: cgma-dev@mcs.anl.gov<BR>Cc: jiangtao_ma@yahoo.com<BR>Date: Monday, May 2, 2011, 2:23 PM<BR><BR><BR>Should we drop the general facet concept from Cubit and instead assume<BR>triangles?<BR><BR>What use are these functions?&nbsp; They just copy the data from the Cubit GMem<BR>object to DLILists.&nbsp; Both are CGM-specific data structures.<BR><BR><FONT color=#0000bf>Maybe I didn't understand Tim's requirement: he said GMem should not be exposed to the user through iGeom, and asked to give out just the points coordinates and connectivity. But I didn't think of that DLILists should be considered the same as GMem.<BR><BR></FONT>Why return a DLIList of pointers to
 dynamically allocated CubitVector<BR>instances?&nbsp; Why not just a std::vector of CubitVectors?&nbsp; Or an std::vector<BR>of floats if the extra precision isn't required.<BR><BR><FONT color=#0000bf>So, without using DLIList, I'll use std::vector of CubitVectors, or doubles.<FONT face="Lucida Console"> </FONT><FONT face="times new roman, new york, times, serif">I'll change it tomorrow.(Somehow I changed the font of the words, but couldn't change it back. please bear with me.)</FONT><BR><BR></FONT>This loop (present in both functions) looks wrong:<BR><BR>&nbsp; for(int i = 0; i &lt; facets.facet_list_size(); i++)<BR>&nbsp; {<BR>&nbsp; &nbsp; facet_list.append(list[i]);<BR>&nbsp; &nbsp; i++;<BR>&nbsp; }</DIV>
<DIV><BR>&nbsp;</DIV>
<DIV><FONT color=#0000bf>Yes, I'd remove the i++; line tomorrow. Thanks.</FONT></DIV>
<DIV><FONT color=#0000bf></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000bf>Jane<BR></FONT>- jason <BR><BR><BR>On 05/02/2011 01:08 PM, jiangtao_ma@yahoo.com wrote:<BR>&gt; Author: janehu<BR>&gt; Date: 2011-05-02 13:08:11 -0500 (Mon, 02 May 2011)<BR>&gt; New Revision: 4790<BR>&gt; <BR>&gt; Modified:<BR>&gt;&nbsp; &nbsp; cgm/trunk/itaps/iGeom_CGMA.cc<BR>&gt; Log:<BR>&gt; Added iGeom function to pass out facet info for RefFaces and RefEdges.<BR>&gt; <BR>&gt; Modified: cgm/trunk/itaps/iGeom_CGMA.cc<BR>&gt; ===================================================================<BR>&gt; --- cgm/trunk/itaps/iGeom_CGMA.cc&nbsp;&nbsp;&nbsp; 2011-05-02 16:48:16 UTC (rev 4789)<BR>&gt; +++ cgm/trunk/itaps/iGeom_CGMA.cc&nbsp;&nbsp;&nbsp; 2011-05-02 18:08:11 UTC (rev 4790)<BR>&gt; @@ -22,7 +22,7 @@<BR>&gt;&nbsp;&nbsp;&nbsp;*/<BR>&gt;&nbsp; #include "iGeom.h"<BR>&gt;&nbsp; #include "InitCGMA.hpp"<BR>&gt; -<BR>&gt; +#include "GMem.hpp"<BR>&gt;&nbsp; #include &lt;iostream&gt;<BR>&gt;&nbsp; #include
 &lt;math.h&gt;<BR>&gt;&nbsp; #include "GeometryQueryTool.hpp"<BR>&gt; @@ -278,7 +278,20 @@<BR>&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DLIList&lt;RefEntity*&gt;&amp; target_list,<BR>&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int* err );<BR>&gt;&nbsp; <BR>&gt; +static<BR>&gt; +CubitStatus iGeom_get_graphics(RefFace* face, <BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;DLIList&lt;CubitVector*&gt;&amp; point_list,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;DLIList&lt;int&gt;&amp; facet_list,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;unsigned short normal_tolerance = 15,<BR>&gt; +&nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;double distance_tolerance = 0,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;double longest_edge = 0) ;<BR>&gt;&nbsp; <BR>&gt; +static<BR>&gt; +CubitStatus iGeom_get_graphics(RefEdge* edge,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;DLIList&lt;CubitVector*&gt;&amp; point_list,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;DLIList&lt;int&gt;&amp; facet_list,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;double tolerance = 0.0 ) ;<BR>&gt; +<BR>&gt;&nbsp; static CubitStatus init_cgm( const std::string&amp; engine )<BR>&gt;&nbsp;
 {<BR>&gt;&nbsp; &nbsp; CubitStatus status;<BR>&gt; @@ -7049,3 +7062,66 @@<BR>&gt;&nbsp; &nbsp; <BR>&gt;&nbsp; &nbsp; RETURN(iBase_SUCCESS);<BR>&gt;&nbsp; }<BR>&gt; +<BR>&gt; +static<BR>&gt; +CubitStatus iGeom_get_graphics(RefFace* face,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;DLIList&lt;CubitVector*&gt;&amp; point_list,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;DLIList&lt;int&gt;&amp; facet_list,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;unsigned short normal_tolerance ,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;double distance_tolerance ,<BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;double longest_edge ) <BR>&gt; +{<BR>&gt; +&nbsp; GMem facets;<BR>&gt; +&nbsp; CubitStatus resl = face-&gt;get_graphics(facets,&nbsp; normal_tolerance, <BR>&gt; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; distance_tolerance, longest_edge);<BR>&gt; +&nbsp; if(resl == CUBIT_FAILURE) <BR><BR><BR>-- <BR>"A foolish consistency is the hobgoblin of little minds" - Ralph Waldo Emerson<BR><BR></DIV></td></tr></table>