Revision: 53750
http://brlcad.svn.sourceforge.net/brlcad/?rev=53750&view=rev
Author: r_weiss
Date: 2012-11-19 18:08:29 +0000 (Mon, 19 Nov 2012)
Log Message:
-----------
Fixed a bug in function "nmg_bool" in file "nmg_bool.c". Changed when classlist
is allocated to after all changes to the model are complete. The reason is
these changes increase the number of objects in the model and the allocated
size of classlist needs to be large enough for all the objects. Also changed
when function "nmg_classify_shared_edges_verts" is called to after all changes
to the model are complete.
Modified Paths:
--------------
brlcad/trunk/src/librt/primitives/nmg/nmg_bool.c
Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_bool.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg_bool.c 2012-11-19 17:45:54 UTC
(rev 53749)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg_bool.c 2012-11-19 18:08:29 UTC
(rev 53750)
@@ -816,20 +816,6 @@
(void)nmg_kill_anti_loops(sA);
(void)nmg_kill_anti_loops(sB);
- nmg_m_reindex(m, 0);
-
- /* Allocate storage for classlist[]. Allocate each of the 8 class
- * lists one at a time. This will assist with debugging to
- * determine if each array read/write is within its allocated space.
- */
-
- nelem = m->maxindex;
- for (i = 0; i < 8; i++) {
- classlist[i] = (char *)bu_calloc(nelem, sizeof(char), "nmg_bool
classlist");
- }
-
- nmg_classify_shared_edges_verts(sA, sB, classlist);
-
/* clean things up now that the intersections have been built */
nmg_sanitize_s_lv(sA, OT_BOOLPLACE);
nmg_sanitize_s_lv(sB, OT_BOOLPLACE);
@@ -957,6 +943,19 @@
nmg_vmodel(m);
}
+ nmg_m_reindex(m, 0);
+
+ /* Allocate storage for classlist[]. Allocate each of the 8 class
+ * lists one at a time. This will assist with debugging to
+ * determine if each array read/write is within its allocated space.
+ */
+ nelem = m->maxindex;
+ for (i = 0; i < 8; i++) {
+ classlist[i] = (char *)bu_calloc(nelem, sizeof(char), "nmg_bool
classlist");
+ }
+
+ nmg_classify_shared_edges_verts(sA, sB, classlist);
+
nmg_class_nothing_broken = 1;
if (rt_g.NMG_debug & (DEBUG_GRAPHCL|DEBUG_PL_LOOP)) {
nmg_show_broken_classifier_stuff((uint32_t *)sA, &classlist[0],
nmg_class_nothing_broken, 1, "unclassed sA");
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits