Revision: 56849
          http://sourceforge.net/p/brlcad/code/56849
Author:   starseeker
Date:     2013-08-15 01:24:10 +0000 (Thu, 15 Aug 2013)
Log Message:
-----------
Cleanup, update comments

Modified Paths:
--------------
    brlcad/trunk/src/conv/step/ON_Brep.cpp

Modified: brlcad/trunk/src/conv/step/ON_Brep.cpp
===================================================================
--- brlcad/trunk/src/conv/step/ON_Brep.cpp      2013-08-15 01:08:06 UTC (rev 
56848)
+++ brlcad/trunk/src/conv/step/ON_Brep.cpp      2013-08-15 01:24:10 UTC (rev 
56849)
@@ -320,20 +320,18 @@
        // loop topology.  STEP defines loops with 3D edge curves, but 
OpenNURBS describes ON_BrepLoops with
        // 2d trim curves.  So for a given loop, we need to interate over the 
trims, for each trim get the
        // index of its corresponding edge, and add that edge to the _edge_list 
for the loop.
-       //
-       // TODO - for some reason _edge_list is initialized to a NULL pointer 
in the ObjCreate process, and
-       // it's protected so I can't manually repair it afterward.  Looks like 
this is supposed to inherit the
-       // initialization of _edge_list from SdaiPath, but is only inheriting 
from SdaiLoop.  May be related to
-       // the recent proposed patch by Mark in stepcode to enable diamond 
inheritance - will have to experiment.
        for (int i = 0; i < brep->m_L.Count(); ++i) {
                ON_BrepLoop *loop= &(brep->m_L[i]);
                edge_loops.at(i) = registry->ObjCreate("EDGE_LOOP");
                instance_list->Append(edge_loops.at(i), completeSE);
-               SdaiPath *e_loop = (SdaiPath 
*)edge_loops.at(i)->GetNextMiEntity();
+               // Why doesn't SdaiEdge_loop's edge_list_() function give use 
the edge_list from the SdaiPath??
+               // Initialized to NULL and crashes - what good is it?  Have to 
get at the internal SdaiPath 
+               // directly to build something that STEPwrite will output.
+               SdaiPath *e_loop_path = (SdaiPath 
*)edge_loops.at(i)->GetNextMiEntity();
                for (int l = 0; l < loop->TrimCount(); ++l) {
                        ON_BrepEdge *edge = loop->Trim(l)->Edge();
                        if (edge)
-                               e_loop->edge_list_()->AddNode(new 
EntityNode((SDAI_Application_instance 
*)(oriented_edges.at(edge->m_edge_index))));
+                               e_loop_path->edge_list_()->AddNode(new 
EntityNode((SDAI_Application_instance 
*)(oriented_edges.at(edge->m_edge_index))));
                }
        }
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to