Revision: 71637
          http://sourceforge.net/p/brlcad/code/71637
Author:   starseeker
Date:     2018-08-31 20:05:31 +0000 (Fri, 31 Aug 2018)
Log Message:
-----------
checkpoint

Modified Paths:
--------------
    brlcad/trunk/include/nmg.h
    brlcad/trunk/src/libged/facetize.c
    brlcad/trunk/src/libnmg/alloc.cpp
    brlcad/trunk/src/libnmg/bool.c
    brlcad/trunk/src/libnmg/ck.c
    brlcad/trunk/src/libnmg/class.c
    brlcad/trunk/src/libnmg/copy.c
    brlcad/trunk/src/libnmg/extrude.c
    brlcad/trunk/src/libnmg/fcut.c
    brlcad/trunk/src/libnmg/fuse.c
    brlcad/trunk/src/libnmg/index.c
    brlcad/trunk/src/libnmg/info.c
    brlcad/trunk/src/libnmg/inter.c
    brlcad/trunk/src/libnmg/isect.c
    brlcad/trunk/src/libnmg/junk.c
    brlcad/trunk/src/libnmg/manif.c
    brlcad/trunk/src/libnmg/misc.c
    brlcad/trunk/src/libnmg/mk.c
    brlcad/trunk/src/libnmg/mod.c
    brlcad/trunk/src/libnmg/nurb_bezier.c
    brlcad/trunk/src/libnmg/nurb_eval.c
    brlcad/trunk/src/libnmg/nurb_flat.c
    brlcad/trunk/src/libnmg/nurb_interp.c
    brlcad/trunk/src/libnmg/nurb_knot.c
    brlcad/trunk/src/libnmg/nurb_oslo_calc.c
    brlcad/trunk/src/libnmg/nurb_poly.c
    brlcad/trunk/src/libnmg/nurb_ray.c
    brlcad/trunk/src/libnmg/nurb_refine.c
    brlcad/trunk/src/libnmg/nurb_reverse.c
    brlcad/trunk/src/libnmg/nurb_solve.c
    brlcad/trunk/src/libnmg/nurb_split.c
    brlcad/trunk/src/libnmg/nurb_util.c
    brlcad/trunk/src/libnmg/nurb_xsplit.c
    brlcad/trunk/src/libnmg/plot.c
    brlcad/trunk/src/libnmg/pr.c
    brlcad/trunk/src/libnmg/pt_fu.c
    brlcad/trunk/src/libnmg/tri.c

Modified: brlcad/trunk/include/nmg.h
===================================================================
--- brlcad/trunk/include/nmg.h  2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/include/nmg.h  2018-08-31 20:05:31 UTC (rev 71637)
@@ -604,12 +604,16 @@
  */
 
 NMG_EXPORT extern int nmg_memtrack;
-NMG_EXPORT void *nmg_alloc(size_t s);
-NMG_EXPORT void nmg_free(void *, size_t s);
+NMG_EXPORT void *nmg_malloc(size_t s, const char *msg);
+NMG_EXPORT void *nmg_calloc(int cnt, size_t s, const char *msg);
+NMG_EXPORT void *nmg_realloc(register void *ptr, size_t s, const char *msg);
+NMG_EXPORT void nmg_free(void *, const char *str);
 NMG_EXPORT void nmg_destroy();
-#define NMG_GETSTRUCT(p, str) p = (struct str *)nmg_alloc(sizeof(struct str))
-#define NMG_FREESTRUCT(p, str) nmg_free(p, sizeof(struct str))
+#define NMG_GETSTRUCT(p, str) p = (struct str *)nmg_calloc(1, sizeof(struct 
str), "NMG_GETSTRUCT")
+#define NMG_FREESTRUCT(p, str) nmg_free(p, "NMG_FREESTRUCT")
+#define NMG_ALLOC(_ptr, _type) _ptr = (_type *)nmg_calloc(1, sizeof(_type), 
#_type " (NMG_ALLOC) " CPP_FILELINE)
 
+
 /*
  * Macros to create and destroy storage for the NMG data structures.
  * Since nmg_mk.c and g_nmg.c are the only source file which should

Modified: brlcad/trunk/src/libged/facetize.c
===================================================================
--- brlcad/trunk/src/libged/facetize.c  2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libged/facetize.c  2018-08-31 20:05:31 UTC (rev 71637)
@@ -630,8 +630,6 @@
     union tree *facetize_tree;
     struct model *nmg_model;
 
-    nmg_memtrack = 1;
-
     _ged_facetize_log_nmg(o);
 
     db_init_db_tree_state(&init_state, gedp->ged_wdbp->dbip, 
gedp->ged_wdbp->wdb_resp);
@@ -662,7 +660,6 @@
     } else {
        /* catch */
        BU_UNSETJUMP;
-       nmg_km(nmg_model);
        _ged_facetize_log_default(o);
        return NULL;
     } BU_UNSETJUMP;
@@ -669,7 +666,6 @@
 
     if (failed || i < 0) {
        /* Destroy NMG */
-       nmg_destroy();
        _ged_facetize_log_default(o);
        return NULL;
     }
@@ -682,7 +678,6 @@
        } else {
            /* catch */
            BU_UNSETJUMP;
-           nmg_destroy();
            _ged_facetize_log_default(o);
            return NULL;
        } BU_UNSETJUMP;
@@ -701,8 +696,6 @@
        db_free_tree(facetize_tree, &rt_uniresource);
     }
 
-    nmg_memtrack = 0;
-
     _ged_facetize_log_default(o);
     return (failed) ? NULL : nmg_model;
 }
@@ -711,14 +704,17 @@
 _try_nmg_triangulate(struct ged *gedp, struct model *nmg_model, struct 
_ged_facetize_opts *o)
 {
     _ged_facetize_log_nmg(o);
+
+    bu_alarm_callback_set(_nmg_timeout);
     if (!BU_SETJUMP) {
        /* try */
+       bu_alarm(o->max_time);
        nmg_triangulate_model(nmg_model, &RTG.rtg_vlfree, 
&gedp->ged_wdbp->wdb_tol);
     } else {
        /* catch */
        BU_UNSETJUMP;
+       nmg_destroy();
        bu_log("WARNING: triangulation failed!!!\n");
-       nmg_km(nmg_model);
        _ged_facetize_log_default(o);
        return GED_ERROR;
     } BU_UNSETJUMP;
@@ -1450,6 +1446,8 @@
     struct model *nmg_model = NULL;
     struct rt_bot_internal *bot = NULL;
 
+    nmg_memtrack = 1;
+
     nmg_model = _try_nmg_facetize(gedp, argc, argv, opts->nmg_use_tnurbs, 
opts);
     if (nmg_model == NULL) {
        if (opts->verbosity > 1) {
@@ -1474,7 +1472,6 @@
 
        /* Make and write out the bot */
        bot = _try_nmg_to_bot(gedp, nmg_model, opts);
-       nmg_km(nmg_model);
 
        if (!bot) {
            if (opts->verbosity > 1) {
@@ -1497,6 +1494,7 @@
     if (!opts->quiet && ret != GED_OK) {
        bu_log("NMG: failed to generate %s\n", newname);
     }
+    nmg_destroy();
 
     return ret;
 }

Modified: brlcad/trunk/src/libnmg/alloc.cpp
===================================================================
--- brlcad/trunk/src/libnmg/alloc.cpp   2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/alloc.cpp   2018-08-31 20:05:31 UTC (rev 71637)
@@ -35,9 +35,9 @@
 static struct bu_ptbl *nmgmem;
 
 extern "C" void *
-nmg_alloc(size_t size)
+nmg_malloc(size_t size, const char *str)
 {
-    void *nmem = bu_calloc(1, size, "NMG_ALLOC");
+    void *nmem = bu_malloc(size, str);
     if (nmg_memtrack) {
        if (!nmgmem) {
            BU_GET(nmgmem, struct bu_ptbl);
@@ -48,15 +48,49 @@
     return nmem;
 }
 
+
+extern "C" void *
+nmg_calloc(int cnt, size_t size, const char *str)
+{
+    void *nmem = bu_calloc(cnt, size, str);
+    if (nmg_memtrack) {
+       if (!nmgmem) {
+           BU_GET(nmgmem, struct bu_ptbl);
+           bu_ptbl_init(nmgmem, 8, "nmg mem init");
+       }
+       bu_ptbl_ins(nmgmem, (long *)nmem);
+    }
+    return nmem;
+}
+
+
+extern "C" void *
+nmg_realloc(register void *ptr, size_t size, const char *str)
+{
+    void *nmem = NULL;
+    if (ptr && nmgmem) {
+       bu_ptbl_rm(nmgmem, (long *)ptr);
+    }
+    nmem = bu_realloc(ptr, size, str);
+    if (nmg_memtrack && nmem) {
+       if (!nmgmem) {
+           BU_GET(nmgmem, struct bu_ptbl);
+           bu_ptbl_init(nmgmem, 8, "nmg mem init");
+       }
+       bu_ptbl_ins(nmgmem, (long *)nmem);
+    }
+    return nmem;
+}
+
+
 extern "C" void
-nmg_free(void *m, size_t UNUSED(s))
+nmg_free(void *m, const char *s)
 {
     if (!m) return;
-    if (nmg_memtrack) {
+    if (nmgmem) {
        bu_ptbl_rm(nmgmem, (long *)m);
-    } else {
     }
-    bu_free(m, "nmg free");
+    bu_free(m, s);
 }
 
 extern "C" void

Modified: brlcad/trunk/src/libnmg/bool.c
===================================================================
--- brlcad/trunk/src/libnmg/bool.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/bool.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -187,13 +187,13 @@
 
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.manifolds = manifolds;
     st.count = 0;
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
     return st.count;
 }
 
@@ -904,7 +904,7 @@
      */
     nelem = m->maxindex;
     for (i = 0; i < 8; i++) {
-       classlist[i] = (char *)bu_calloc(nelem, sizeof(char), "nmg_bool 
classlist");
+       classlist[i] = (char *)nmg_calloc(nelem, sizeof(char), "nmg_bool 
classlist");
     }
 
     nmg_classify_shared_edges_verts(sA, sB, classlist, vlfree);
@@ -916,7 +916,7 @@
     }
 
     if (m->manifolds) {
-       bu_free((char *)m->manifolds, "free manifolds table");
+       nmg_free((char *)m->manifolds, "free manifolds table");
        m->manifolds = (char *)NULL;
     }
     m->manifolds = nmg_manifolds(m);
@@ -940,7 +940,7 @@
     nmg_class_shells(sB, sA, &classlist[4], vlfree, tol);
 
     if (m->manifolds) {
-       bu_free((char *)m->manifolds, "free manifolds table");
+       nmg_free((char *)m->manifolds, "free manifolds table");
        m->manifolds = (char *)NULL;
     }
 
@@ -1057,7 +1057,7 @@
     }
 
     for (i = 0; i < 8; i++) {
-       bu_free((char *)classlist[i], "nmg_bool classlist");
+       nmg_free((char *)classlist[i], "nmg_bool classlist");
     }
 
     if (nmg_debug & DEBUG_BOOL) {

Modified: brlcad/trunk/src/libnmg/ck.c
===================================================================
--- brlcad/trunk/src/libnmg/ck.c        2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/ck.c        2018-08-31 20:05:31 UTC (rev 71637)
@@ -664,7 +664,7 @@
     struct edgeuse *eparent;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_e error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_e error str");
     snprintf(errstr, len, "%sedge %p\n", str, (void *)e);
 
     NMG_CK_EDGE(e);
@@ -685,7 +685,7 @@
        bu_bomb(errstr);
     }
 
-    bu_free(errstr, "nmg_ck_e error str");
+    nmg_free(errstr, "nmg_ck_e error str");
 }
 
 
@@ -695,7 +695,7 @@
     char *errstr;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_vu error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_vu error str");
     snprintf(errstr, len, "%svertexuse %p\n", str, (void *)vu);
 
     if (vu->up.magic_p != parent) {
@@ -703,7 +703,7 @@
        bu_bomb(errstr);
     }
 
-    bu_free(errstr, "nmg_ck_vu error str");
+    nmg_free(errstr, "nmg_ck_vu error str");
 }
 
 
@@ -714,7 +714,7 @@
     struct edgeuse *eur, *eu_next, *eu_last;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_eu error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_eu error str");
     snprintf(errstr, len, "%sedgeuse %p\n", str, (void *)eu);
 
     NMG_CK_EDGEUSE(eu);
@@ -781,7 +781,7 @@
     NMG_CK_VERTEXUSE(eu->vu_p);
     nmg_ck_vu(&eu->l.magic, eu->vu_p, errstr);
 
-    bu_free(errstr, "nmg_ck_eu error str");
+    nmg_free(errstr, "nmg_ck_eu error str");
 }
 
 
@@ -791,13 +791,13 @@
     char *errstr;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_lg error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_lg error str");
     snprintf(errstr, len, "%sloop_g %p\n", str, (void *)lg);
 
     NMG_CK_LOOP_G(lg);
     NMG_CK_LOOP(l);
 
-    bu_free(errstr, "nmg_ck_lg error str");
+    nmg_free(errstr, "nmg_ck_lg error str");
 }
 
 
@@ -807,7 +807,7 @@
     char *errstr;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_l error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_l error str");
     snprintf(errstr, len, "%sloop %p\n", str, (void *)l);
 
     NMG_CK_LOOP(l);
@@ -820,7 +820,7 @@
 
     if (l->lg_p) nmg_ck_lg(l, l->lg_p, errstr);
 
-    bu_free(errstr, "");
+    nmg_free(errstr, "");
 }
 
 
@@ -835,7 +835,7 @@
     uint32_t magic1;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_lu error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_lu error str");
     snprintf(errstr, len, "%sloopuse %p\n", str, (void *)lu);
 
     NMG_CK_LOOPUSE(lu);
@@ -888,7 +888,7 @@
        bu_strlcat(errstr, "nmg_ck_lu() Bad loopuse down pointer\n", len);
        bu_bomb(errstr);
     }
-    bu_free(errstr, "nmg_ck_lu error str");
+    nmg_free(errstr, "nmg_ck_lu error str");
 }
 
 
@@ -898,7 +898,7 @@
     char *errstr;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_fg error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_fg error str");
     snprintf(errstr, len, "%sFace_g %p\n", str, (void *)f);
 
     NMG_CK_FACE_G_PLANE(fg);
@@ -909,7 +909,7 @@
        bu_bomb(errstr);
     }
 
-    bu_free(errstr, "nmg_ck_fg error str");
+    nmg_free(errstr, "nmg_ck_fg error str");
 }
 
 
@@ -919,7 +919,7 @@
     char *errstr;
     int len = (int)strlen(str)+128;
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_f error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_f error str");
     snprintf(errstr, len, "%sFace %p\n", str, (void *)f);
 
     NMG_CK_FACE(f);
@@ -932,7 +932,7 @@
 
     if (f->g.plane_p) nmg_ck_fg(f, f->g.plane_p, errstr);
 
-    bu_free(errstr, "nmg_ck_f error str");
+    nmg_free(errstr, "nmg_ck_f error str");
 }
 
 
@@ -948,7 +948,7 @@
     NMG_CK_FACEUSE(fu);
     NMG_CK_SHELL(s);
 
-    errstr = (char *)bu_calloc(len, sizeof(char), "nmg_ck_fu error str");
+    errstr = (char *)nmg_calloc(len, sizeof(char), "nmg_ck_fu error str");
     snprintf(errstr, len, "%sFaceuse %p\n", str, (void *)fu);
 
     if (fu->s_p != s) {
@@ -986,7 +986,7 @@
                 errstr, loop_number++, (void *)lu);
        nmg_ck_lu(&fu->l.magic, lu, errstr);
     }
-    bu_free(errstr, "nmg_ck_fu error str");
+    nmg_free(errstr, "nmg_ck_fu error str");
 }
 
 
@@ -1648,7 +1648,7 @@
     m = r->m_p;
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = &tab;
     st.tol = (struct bn_tol *)tol;
 
@@ -1658,7 +1658,7 @@
 
     bu_ptbl_free(&tab);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 

Modified: brlcad/trunk/src/libnmg/class.c
===================================================================
--- brlcad/trunk/src/libnmg/class.c     2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/class.c     2018-08-31 20:05:31 UTC (rev 71637)
@@ -373,7 +373,7 @@
        point_t mid_pt;
        point_t left_pt;
        fu = eu->up.lu_p->up.fu_p;
-       bits = (long *)bu_calloc(nmg_find_model(&fu->l.magic)->maxindex, 
sizeof(long), "bits[]");
+       bits = (long *)nmg_calloc(nmg_find_model(&fu->l.magic)->maxindex, 
sizeof(long), "bits[]");
        sprintf(buf, "faceclass%d.plot3", num++);
        if ((fp = fopen(buf, "wb")) == NULL)
            bu_bomb(buf);
@@ -385,7 +385,7 @@
        VJOIN1(left_pt, mid_pt, 500, left);
        pdv_3line(fp, mid_pt, left_pt);
        fclose(fp);
-       bu_free((char *)bits, "bits[]");
+       nmg_free((char *)bits, "bits[]");
        bu_log("wrote %s\n", buf);
     }
 }
@@ -652,7 +652,7 @@
     }
 
     if (!in_or_out_only) {
-       faces_seen = (long *)bu_calloc(m->maxindex, sizeof(long), 
"nmg_class_pt_s faces_seen[]");
+       faces_seen = (long *)nmg_calloc(m->maxindex, sizeof(long), 
"nmg_class_pt_s faces_seen[]");
        /*
         * First pass:  Try hard to see if point is ON a face.
         */
@@ -763,7 +763,7 @@
 
 out:
     if (!in_or_out_only) {
-       bu_free((char *)faces_seen, "nmg_class_pt_s faces_seen[]");
+       nmg_free((char *)faces_seen, "nmg_class_pt_s faces_seen[]");
     }
 
     if (nmg_debug & DEBUG_CLASSIFY) {
@@ -1617,7 +1617,7 @@
                struct model *m;
 
                m = nmg_find_model(lu->up.magic_p);
-               b = (long *)bu_calloc(m->maxindex, sizeof(long), "nmg_pl_lu 
flag[]");
+               b = (long *)nmg_calloc(m->maxindex, sizeof(long), "nmg_pl_lu 
flag[]");
                for (BU_LIST_FOR(eu, edgeuse, &lu->down_hd)) {
                    if (NMG_INDEX_TEST(classlist[NMG_CLASS_AinB], eu->e_p))
                        nmg_euprint("In:  edgeuse", eu);
@@ -1638,7 +1638,7 @@
                    bu_log("wrote %s\n", buf);
                }
                nmg_pr_lu(lu, "");
-               bu_free((char *)b, "nmg_pl_lu flag[]");
+               nmg_free((char *)b, "nmg_pl_lu flag[]");
            }
 
            if (seen_error > 3) {

Modified: brlcad/trunk/src/libnmg/copy.c
===================================================================
--- brlcad/trunk/src/libnmg/copy.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/copy.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -119,12 +119,12 @@
 
     ret->u.magic  = NMG_KNOT_VECTOR_MAGIC;
     ret->u.k_size = original->u.k_size;
-    ret->u.knots = (fastf_t *)bu_malloc(ret->u.k_size * sizeof(fastf_t),
+    ret->u.knots = (fastf_t *)nmg_malloc(ret->u.k_size * sizeof(fastf_t),
                                        "nmg_construct_face_g_snurb(): 
u.knots");
     memcpy(ret->u.knots, original->u.knots, ret->u.k_size * sizeof(fastf_t));
     ret->v.magic  = NMG_KNOT_VECTOR_MAGIC;
     ret->v.k_size = original->v.k_size;
-    ret->v.knots = (fastf_t *)bu_malloc(ret->v.k_size * sizeof(fastf_t),
+    ret->v.knots = (fastf_t *)nmg_malloc(ret->v.k_size * sizeof(fastf_t),
                                        "nmg_construct_face_g_snurb(): 
v.knots");
     memcpy(ret->v.knots, original->v.knots, ret->v.k_size * sizeof(fastf_t));
 
@@ -132,7 +132,7 @@
     ret->s_size[1]  = original->s_size[1];
     ret->pt_type    = original->pt_type;
     ret->ctl_points
-       = (fastf_t *)bu_malloc(original->s_size[0] * original->s_size[1] * 
RT_NURB_EXTRACT_COORDS(ret->pt_type) * sizeof(fastf_t),
+       = (fastf_t *)nmg_malloc(original->s_size[0] * original->s_size[1] * 
RT_NURB_EXTRACT_COORDS(ret->pt_type) * sizeof(fastf_t),
                               "nmg_construct_face_g_snurb(): ctl_points");
     memcpy(ret->ctl_points, original->ctl_points, original->s_size[0] * 
original->s_size[1] * RT_NURB_EXTRACT_COORDS(ret->pt_type) * sizeof(fastf_t));
 
@@ -366,12 +366,12 @@
 
     ret->k.magic  = NMG_KNOT_VECTOR_MAGIC;
     ret->k.k_size = original->k.k_size;
-    ret->k.knots = (fastf_t *)bu_malloc(ret->k.k_size * sizeof(fastf_t), 
"nmg_construct_edge_g_cnurb(): k.knots");
+    ret->k.knots = (fastf_t *)nmg_malloc(ret->k.k_size * sizeof(fastf_t), 
"nmg_construct_edge_g_cnurb(): k.knots");
     memcpy(ret->k.knots, original->k.knots, ret->k.k_size * sizeof(fastf_t));
 
     ret->c_size     = original->c_size;
     ret->pt_type    = original->pt_type;
-    ret->ctl_points = (fastf_t *)bu_malloc(ret->c_size * 
RT_NURB_EXTRACT_COORDS(ret->pt_type) * sizeof(fastf_t),
+    ret->ctl_points = (fastf_t *)nmg_malloc(ret->c_size * 
RT_NURB_EXTRACT_COORDS(ret->pt_type) * sizeof(fastf_t),
                                           "nmg_construct_edge_g_cnurb(): 
ctl_points");
     memcpy(ret->ctl_points, original->ctl_points, ret->c_size * 
RT_NURB_EXTRACT_COORDS(ret->pt_type) * sizeof(fastf_t));
 
@@ -719,7 +719,7 @@
 
     NMG_CK_MODEL(original);
 
-    structArray = (void **)bu_calloc(original->maxindex, sizeof(void *), 
"nmg_clone_model() structArray");
+    structArray = (void **)nmg_calloc(original->maxindex, sizeof(void *), 
"nmg_clone_model() structArray");
 
     ret = nmg_mm();
     ret->index    = original->index;
@@ -754,7 +754,7 @@
        }
     }
 
-    bu_free(structArray, "nmg_clone_model() structArray");
+    nmg_free(structArray, "nmg_clone_model() structArray");
 
     return ret;
 }

Modified: brlcad/trunk/src/libnmg/extrude.c
===================================================================
--- brlcad/trunk/src/libnmg/extrude.c   2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/extrude.c   2018-08-31 20:05:31 UTC (rev 71637)
@@ -107,7 +107,7 @@
     cur = 0;
     cnt = verts_in_nmg_face(fu);
     verts = (struct vertex **)
-       bu_malloc(cnt * sizeof(struct vertex *), "verts");
+       nmg_malloc(cnt * sizeof(struct vertex *), "verts");
     for (i = 0; i < cnt; i++)
        verts[i] = NULL;
 
@@ -165,7 +165,7 @@
        bu_bomb("nmg_translate_face: Cannot calculate plane equation for 
face\n");
     }
     nmg_face_g(fu_tmp, pl);
-    bu_free((char *)verts, "verts");
+    nmg_free((char *)verts, "verts");
 }
 
 
@@ -211,7 +211,7 @@
        nmg_translate_face(fu2->fumate_p, Vec, vlfree);
 
     nfaces = verts_in_nmg_face(fu);
-    outfaces = (struct faceuse **)bu_calloc(nfaces+2, sizeof(struct faceuse *) 
,
+    outfaces = (struct faceuse **)nmg_calloc(nfaces+2, sizeof(struct faceuse 
*) ,
                                            "nmg_extrude_face: outfaces");
 
     outfaces[0] = fu;
@@ -251,7 +251,7 @@
 
     nmg_gluefaces(outfaces, face_count, vlfree, tol);
 
-    bu_free((char *)outfaces, "nmg_extrude_face: outfaces");
+    nmg_free((char *)outfaces, "nmg_extrude_face: outfaces");
 
     return 0;
 }
@@ -310,7 +310,7 @@
     NMG_CK_LOOPUSE(lu2);
 
     /* create a table to hold eu pointers for a new loop */
-    BU_ALLOC(new_lu_tab, struct bu_ptbl);
+    NMG_ALLOC(new_lu_tab, struct bu_ptbl);
     bu_ptbl_init(new_lu_tab, 64, " new_lu_tab ");
 
     /* add this table to the list of loops */
@@ -664,7 +664,7 @@
                }
 
                bu_ptbl_free(loop_tab);
-               bu_free((char *)loop_tab, "nmg_fix_overlapping_loops: 
loop_tab");
+               nmg_free((char *)loop_tab, "nmg_fix_overlapping_loops: 
loop_tab");
            }
        }
 
@@ -1044,7 +1044,7 @@
        is = nmg_dup_shell(s_tmp, &copy_tbl, vlfree, tol);
 
        /* make a translation table for this model */
-       flags = (long *)bu_calloc(m->maxindex, sizeof(long), "nmg_extrude_shell 
flags");
+       flags = (long *)nmg_calloc(m->maxindex, sizeof(long), 
"nmg_extrude_shell flags");
 
        /* now adjust all the planes, first move them inward by distance 
"thick" */
        for (BU_LIST_FOR(fu, faceuse, &is->fu_hd)) {
@@ -1141,8 +1141,8 @@
        nmg_region_a(s_tmp->r_p, tol);
 
        /* free memory */
-       bu_free((char *)flags, "nmg_extrude_shell: flags");
-       bu_free((char *)copy_tbl, "nmg_extrude_shell: copy_tbl");
+       nmg_free((char *)flags, "nmg_extrude_shell: flags");
+       nmg_free((char *)copy_tbl, "nmg_extrude_shell: copy_tbl");
     }
 
     /* put it all back together */
@@ -1241,7 +1241,7 @@
        is_void = nmg_shell_is_void(s_tmp);
 
        /* make a translation table for this model */
-       flags = (long *)bu_calloc(m->maxindex, sizeof(long), "nmg_extrude_shell 
flags");
+       flags = (long *)nmg_calloc(m->maxindex, sizeof(long), 
"nmg_extrude_shell flags");
 
        /* now adjust all the planes, first move them by distance "thick" */
        for (BU_LIST_FOR(fu, faceuse, &s_tmp->fu_hd)) {
@@ -1261,7 +1261,7 @@
            }
        }
 
-       bu_free((char *)flags, "nmg_extrude_shell flags");
+       nmg_free((char *)flags, "nmg_extrude_shell flags");
 
        /* get table of vertices in this shell */
        nmg_vertex_tabulate(&verts, &s_tmp->l.magic, vlfree);

Modified: brlcad/trunk/src/libnmg/fcut.c
===================================================================
--- brlcad/trunk/src/libnmg/fcut.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/fcut.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -1535,7 +1535,7 @@
 
        /* Plot all the loops that touch here. */
        m = nmg_find_model((uint32_t *)vs[start].vu);
-       b = (long *)bu_calloc(m->maxindex, sizeof(long), 
"nmg_special_wedge_processing flag[]");
+       b = (long *)nmg_calloc(m->maxindex, sizeof(long), 
"nmg_special_wedge_processing flag[]");
        vbp = bn_vlblock_init(vlfree, 32);
        for (i=start; i < end; i++) {
            struct loopuse *lu;
@@ -1553,7 +1553,7 @@
        bn_plot_vlblock(fp, vbp);
        fclose(fp);
        bu_log("wrote %s\n", buf);
-       bu_free((char *)b, "nmg_special_wedge_processing flag[]");
+       nmg_free((char *)b, "nmg_special_wedge_processing flag[]");
        bn_vlblock_free(vbp);
     }
 
@@ -1687,9 +1687,9 @@
     NMG_CK_RAYSTATE(rs);
 
     num = end - start;
-    vs = (struct nmg_vu_stuff *)bu_malloc(sizeof(struct nmg_vu_stuff)*num,
+    vs = (struct nmg_vu_stuff *)nmg_malloc(sizeof(struct nmg_vu_stuff)*num,
                                          "nmg_vu_stuff");
-    ls = (struct nmg_loop_stuff *)bu_malloc(sizeof(struct nmg_loop_stuff)*num,
+    ls = (struct nmg_loop_stuff *)nmg_malloc(sizeof(struct nmg_loop_stuff)*num,
                                            "nmg_loop_stuff");
 
 top:
@@ -1856,8 +1856,8 @@
        }
     }
 
-    bu_free((char *)vs, "nmg_vu_stuff");
-    bu_free((char *)ls, "nmg_loop_stuff");
+    nmg_free((char *)vs, "nmg_vu_stuff");
+    nmg_free((char *)ls, "nmg_loop_stuff");
 
     if (nmg_debug&DEBUG_VU_SORT)
        bu_log("nmg_face_coincident_vu_sort(, %d, %d) END, ret=%d\n", start, 
end, start+nvu);
@@ -2114,9 +2114,9 @@
 
                    if (!match_lu) {
                        match_lu = next_lu;
-                       BU_ALLOC(cuts, struct bu_ptbl);
+                       NMG_ALLOC(cuts, struct bu_ptbl);
                        bu_ptbl_init(cuts, 64, " cuts");
-                       BU_ALLOC(lcut, struct loop_cuts);
+                       NMG_ALLOC(lcut, struct loop_cuts);
                        lcut->lu = match_lu;
                        bu_ptbl_ins(cuts, (long *)lcut);
                        continue;
@@ -2151,7 +2151,7 @@
                        }
                        if (!found) {
                            done = 0;
-                           BU_ALLOC(lcut, struct loop_cuts);
+                           NMG_ALLOC(lcut, struct loop_cuts);
                            lcut->lu = match_lu;
                            bu_ptbl_ins(cuts, (long *)lcut);
                        }
@@ -2787,7 +2787,7 @@
                rs->vu[prior_end-1-cut_no] = eu_tmp->vu_p;
            }
            bu_ptbl_free(cuts);
-           bu_free((char *)cuts, "cuts");
+           nmg_free((char *)cuts, "cuts");
 
            continue;
        }

Modified: brlcad/trunk/src/libnmg/fuse.c
===================================================================
--- brlcad/trunk/src/libnmg/fuse.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/fuse.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -640,7 +640,7 @@
     NMG_CK_FACE_G_SNURB(snrb);
     BN_CK_TOL(tol);
 
-    BU_ALLOC(pt_new, struct pt_list);
+    NMG_ALLOC(pt_new, struct pt_list);
     pt_new->t = t;
 
     if (pt_new->t < pt0->t || pt_new->t > pt1->t) {
@@ -681,12 +681,12 @@
        bu_log("nmg_eval_trim_to_tol(cnrb=%p, snrb=%p, t0=%g, t1=%g) START\n",
               (void *)cnrb, (void *)snrb, t0, t1);
 
-    BU_ALLOC(pt0, struct pt_list);
+    NMG_ALLOC(pt0, struct pt_list);
     pt0->t = t0;
     nmg_eval_trim_curve(cnrb, snrb, pt0->t, pt0->xyz);
     BU_LIST_INSERT(head, &pt0->l);
 
-    BU_ALLOC(pt1, struct pt_list);
+    NMG_ALLOC(pt1, struct pt_list);
     pt1->t = t1;
     nmg_eval_trim_curve(cnrb, snrb, pt1->t, pt1->xyz);
     BU_LIST_INSERT(head, &pt1->l);
@@ -711,7 +711,7 @@
     if (snrb)
        NMG_CK_FACE_G_SNURB(snrb);
     BN_CK_TOL(tol);
-    BU_ALLOC(pt_new, struct pt_list);
+    NMG_ALLOC(pt_new, struct pt_list);
     pt_new->t = 0.5*(pt0->t + pt1->t);
 
     VBLEND2(uvw_sub, 1.0 - pt_new->t, uvw1, pt_new->t, uvw2);
@@ -752,12 +752,12 @@
        bu_log("nmg_eval_linear_trim_to_tol(cnrb=%p, snrb=%p, uvw1=(%g %g %g), 
uvw2=(%g %g %g)) START\n",
               (void *)cnrb, (void *)snrb, V3ARGS(uvw1), V3ARGS(uvw2));
 
-    BU_ALLOC(pt0, struct pt_list);
+    NMG_ALLOC(pt0, struct pt_list);
     pt0->t = 0.0;
     nmg_eval_linear_trim_curve(snrb, uvw1, pt0->xyz);
     BU_LIST_INSERT(head, &pt0->l);
 
-    BU_ALLOC(pt1, struct pt_list);
+    NMG_ALLOC(pt1, struct pt_list);
     pt1->t = 1.0;
     nmg_eval_linear_trim_curve(snrb, uvw2, pt1->xyz);
     BU_LIST_INSERT(head, &pt1->l);
@@ -1110,7 +1110,7 @@
     if (nelem == 0)
        return 0;
 
-    edgeuse_vert_list = (edgeuse_vert_list_t)bu_calloc(nelem, 2 * 
sizeof(size_t), "edgeuse_vert_list");
+    edgeuse_vert_list = (edgeuse_vert_list_t)nmg_calloc(nelem, 2 * 
sizeof(size_t), "edgeuse_vert_list");
 
     j = 0;
     for (i = 0; i < (size_t)BU_PTBL_LEN(eu_list) ; i++) {
@@ -1165,7 +1165,7 @@
        }
     }
 
-    bu_free((char *)edgeuse_vert_list, "edgeuse_vert_list");
+    nmg_free((char *)edgeuse_vert_list, "edgeuse_vert_list");
 
     /* if bu_ptbl was passed into this function don't free it here */
     if (*magic_p != BU_PTBL_MAGIC) {
@@ -1228,9 +1228,9 @@
        return 0;
     }
 
-    sort_idx_xyp = (size_t *)bu_calloc(etab_cnt, sizeof(size_t), 
"sort_idx_xyp");
+    sort_idx_xyp = (size_t *)nmg_calloc(etab_cnt, sizeof(size_t), 
"sort_idx_xyp");
 
-    edge_rr = (fastf_t *)bu_calloc(etab_cnt * 3, sizeof(fastf_t), 
"edge_rr_xyp");
+    edge_rr = (fastf_t *)nmg_calloc(etab_cnt * 3, sizeof(fastf_t), 
"edge_rr_xyp");
     /* rise over run in xy plane */
     edge_rr_xyp = edge_rr;
     /* rise over run in xz plane */
@@ -1238,7 +1238,7 @@
     /* rise over run in yz plane */
     edge_rr_yzp = edge_rr + (etab_cnt * 2);
 
-    edge_sc = (char *)bu_calloc(etab_cnt * 3, sizeof(char), "edge_sc_xyp");
+    edge_sc = (char *)nmg_calloc(etab_cnt * 3, sizeof(char), "edge_sc_xyp");
     /* special cases in xy plane */
     edge_sc_xyp = edge_sc;
     /* special cases in xz plane */
@@ -1390,8 +1390,8 @@
     }
 
     bu_ptbl_free(&etab);
-    bu_free(edge_rr, "edge_rr,");
-    bu_free(edge_sc, "edge_sc");
+    nmg_free(edge_rr, "edge_rr,");
+    nmg_free(edge_sc, "edge_sc");
 
     if (UNLIKELY(nmg_debug & DEBUG_BASIC && total > 0))
        bu_log("nmg_edge_g_fuse(): %d edge_g_lseg's fused\n", total);

Modified: brlcad/trunk/src/libnmg/index.c
===================================================================
--- brlcad/trunk/src/libnmg/index.c     2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/index.c     2018-08-31 20:05:31 UTC (rev 71637)
@@ -568,7 +568,7 @@
     NMG_CK_MODEL(m);
     memset((char *)ctr, 0, sizeof(*ctr));
 
-    ptrs = (uint32_t **)bu_calloc(m->maxindex+1, sizeof(uint32_t *), 
"nmg_m_count ptrs[]");
+    ptrs = (uint32_t **)nmg_calloc(m->maxindex+1, sizeof(uint32_t *), 
"nmg_m_count ptrs[]");
 
     NMG_UNIQ_INDEX(m, model);
     ctr->max_structs = m->maxindex;
@@ -724,7 +724,7 @@
     NMG_CK_MODEL(m);
 
     tab = nmg_m_struct_count(&cnts, m);
-    bu_free((void *)tab, "nmg_m_struct_count");
+    nmg_free((void *)tab, "nmg_m_struct_count");
     nmg_pr_struct_counts(&cnts, str);
 }
 
@@ -774,11 +774,11 @@
      * need to be regenerated.
      */
     if (m1->manifolds) {
-       bu_free((char *)m1->manifolds, "free manifolds table");
+       nmg_free((char *)m1->manifolds, "free manifolds table");
        m1->manifolds = (char *)NULL;
     }
     if (m2->manifolds) {
-       bu_free((char *)m2->manifolds, "free manifolds table");
+       nmg_free((char *)m2->manifolds, "free manifolds table");
        m2->manifolds = (char *)NULL;
     }
 

Modified: brlcad/trunk/src/libnmg/info.c
===================================================================
--- brlcad/trunk/src/libnmg/info.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/info.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -1208,7 +1208,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.mindist = INFINITY;
     VMOVE(st.pt2, pt2);
     MAT_COPY(st.mat, mat);
@@ -1217,7 +1217,7 @@
 
     nmg_visit(magic_p, &htab, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 
     if (st.ep) {
        NMG_CK_EDGE(st.ep);
@@ -1999,7 +1999,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
 
     (void)bu_ptbl_init(tab, 64, " tab");
@@ -2006,7 +2006,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2052,7 +2052,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
 
     (void)bu_ptbl_init(tab, 64, " tab");
@@ -2059,7 +2059,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2102,7 +2102,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
 
     (void)bu_ptbl_init(tab, 64, " tab");
@@ -2109,7 +2109,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2152,7 +2152,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
 
     (void)bu_ptbl_init(tab, 64, " tab");
@@ -2159,7 +2159,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2211,7 +2211,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
 
     (void)bu_ptbl_init(tab, 64, " tab");
@@ -2218,7 +2218,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2261,7 +2261,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
 
     (void)bu_ptbl_init(tab, 64, " tab");
@@ -2268,7 +2268,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2375,7 +2375,7 @@
     NMG_CK_MODEL(m);
     BN_CK_TOL(tol);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.tabl = tab;
     VMOVE(st.pt, pt);
     VMOVE(st.dir, dir);
@@ -2386,7 +2386,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 
@@ -2457,7 +2457,7 @@
     m = nmg_find_model(magic_p);
     NMG_CK_MODEL(m);
 
-    st.visited = (char *)bu_calloc(m->maxindex+1, sizeof(char), "visited[]");
+    st.visited = (char *)nmg_calloc(m->maxindex+1, sizeof(char), "visited[]");
     st.edges = eutab;
     st.verts = vtab;
 
@@ -2466,7 +2466,7 @@
 
     nmg_visit(magic_p, &handlers, (void *)&st, vlfree);
 
-    bu_free((char *)st.visited, "visited[]");
+    nmg_free((char *)st.visited, "visited[]");
 }
 
 

Modified: brlcad/trunk/src/libnmg/inter.c
===================================================================
--- brlcad/trunk/src/libnmg/inter.c     2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/inter.c     2018-08-31 20:05:31 UTC (rev 71637)
@@ -223,14 +223,14 @@
        if (is->mag_len <= BU_PTBL_LEN(is->l1)) {
            if (is->mag_len) {
                is->mag_len *= 2;
-               is->mag1 = (fastf_t *)bu_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
+               is->mag1 = (fastf_t *)nmg_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag1");
-               is->mag2 = (fastf_t *)bu_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
+               is->mag2 = (fastf_t *)nmg_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag2");
            } else {
                is->mag_len = 2*(BU_PTBL_LEN(is->l1) + BU_PTBL_LEN(is->l2));
-               is->mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
-               is->mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
+               is->mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
+               is->mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
            }
 
        }
@@ -249,14 +249,14 @@
        if (is->mag_len <= BU_PTBL_LEN(is->l2)) {
            if (is->mag_len) {
                is->mag_len *= 2;
-               is->mag1 = (fastf_t *)bu_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
+               is->mag1 = (fastf_t *)nmg_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag1");
-               is->mag2 = (fastf_t *)bu_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
+               is->mag2 = (fastf_t *)nmg_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag2");
            } else {
                is->mag_len = 2*(BU_PTBL_LEN(is->l1) + BU_PTBL_LEN(is->l2));
-               is->mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
-               is->mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
+               is->mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
+               is->mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
            }
 
        }
@@ -324,14 +324,14 @@
        if (is->mag_len <= BU_PTBL_LEN(is->l2)) {
            if (is->mag_len) {
                is->mag_len *= 2;
-               is->mag1 = (fastf_t *)bu_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
+               is->mag1 = (fastf_t *)nmg_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag1");
-               is->mag2 = (fastf_t *)bu_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
+               is->mag2 = (fastf_t *)nmg_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag2");
            } else {
                is->mag_len = 2*(BU_PTBL_LEN(is->l1) + BU_PTBL_LEN(is->l2));
-               is->mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
-               is->mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
+               is->mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
+               is->mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
            }
 
        }
@@ -342,14 +342,14 @@
        if (is->mag_len <= BU_PTBL_LEN(is->l1)) {
            if (is->mag_len) {
                is->mag_len *= 2;
-               is->mag1 = (fastf_t *)bu_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
+               is->mag1 = (fastf_t *)nmg_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag1");
-               is->mag2 = (fastf_t *)bu_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
+               is->mag2 = (fastf_t *)nmg_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag2");
            } else {
                is->mag_len = 2*(BU_PTBL_LEN(is->l1) + BU_PTBL_LEN(is->l2));
-               is->mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
-               is->mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
+               is->mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
+               is->mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
            }
 
        }
@@ -457,7 +457,7 @@
            bu_log("nmg_get_2d_vertex() extending vert2d array from %d to %zu 
points (m max=%ld)\n",
                   oldmax, is->maxindex, m->maxindex);
        }
-       is->vert2d = (fastf_t *)bu_realloc((char *)is->vert2d,
+       is->vert2d = (fastf_t *)nmg_realloc((char *)is->vert2d,
                                           is->maxindex * 3 * sizeof(fastf_t), 
"vert2d[]");
 
        /* Clear out the new part of the 2D vertex array, setting flag in [2] 
to -1 */
@@ -551,7 +551,7 @@
     m = nmg_find_model(assoc_use);
 
     is->maxindex = (2 * m->maxindex);
-    is->vert2d = (fastf_t *)bu_malloc(is->maxindex * 3 * sizeof(fastf_t), 
"vert2d[]");
+    is->vert2d = (fastf_t *)nmg_malloc(is->maxindex * 3 * sizeof(fastf_t), 
"vert2d[]");
 
     if (*assoc_use == NMG_FACEUSE_MAGIC) {
        struct faceuse *fu1 = (struct faceuse *)assoc_use;
@@ -630,7 +630,7 @@
     nmg_hack_last_is = (struct nmg_inter_struct *)NULL;
 
     if (!is->vert2d) return;
-    bu_free((char *)is->vert2d, "vert2d");
+    nmg_free((char *)is->vert2d, "vert2d");
     is->vert2d = NULL;
     is->twod = NULL;
 }
@@ -2294,8 +2294,8 @@
     nmg_edgeuse_tabulate(&eu2_list, &fu2->l.magic, vlfree);
 
     is->mag_len = 2 * (BU_PTBL_LEN(&eu1_list) + BU_PTBL_LEN(&eu2_list));
-    mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), "mag1");
-    mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), "mag2");
+    mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), "mag1");
+    mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), "mag2");
 
     is->mag1 = mag1;
     is->mag2 = mag2;
@@ -2335,9 +2335,9 @@
     (void)bu_ptbl_free(&eu1_list);
     (void)bu_ptbl_free(&eu2_list);
     if (mag1)
-       bu_free((char *)mag1, "nmg_isect_edge2p_face2p: mag1");
+       nmg_free((char *)mag1, "nmg_isect_edge2p_face2p: mag1");
     if (mag2)
-       bu_free((char *)mag2, "nmg_isect_edge2p_face2p: mag2");
+       nmg_free((char *)mag2, "nmg_isect_edge2p_face2p: mag2");
 
 do_ret:
     if (nmg_debug & DEBUG_POLYSECT) {
@@ -2370,14 +2370,14 @@
        if (is->mag_len <= BU_PTBL_LEN(is->l1)) {
            if (is->mag_len) {
                is->mag_len *= 2;
-               is->mag1 = (fastf_t *)bu_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
+               is->mag1 = (fastf_t *)nmg_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag1");
-               is->mag2 = (fastf_t *)bu_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
+               is->mag2 = (fastf_t *)nmg_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag2");
            } else {
                is->mag_len = 2*(BU_PTBL_LEN(is->l1) + BU_PTBL_LEN(is->l2));
-               is->mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
-               is->mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
+               is->mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
+               is->mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
            }
 
        }
@@ -2388,14 +2388,14 @@
        if (is->mag_len <= BU_PTBL_LEN(is->l2)) {
            if (is->mag_len) {
                is->mag_len *= 2;
-               is->mag1 = (fastf_t *)bu_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
+               is->mag1 = (fastf_t *)nmg_realloc((char *)is->mag1, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag1");
-               is->mag2 = (fastf_t *)bu_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
+               is->mag2 = (fastf_t *)nmg_realloc((char *)is->mag2, 
is->mag_len*sizeof(fastf_t),
                                                 "is->mag2");
            } else {
                is->mag_len = 2*(BU_PTBL_LEN(is->l1) + BU_PTBL_LEN(is->l2));
-               is->mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
-               is->mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
+               is->mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag1");
+               is->mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), 
"is->mag2");
            }
 
        }
@@ -2494,8 +2494,8 @@
     nmg_edgeuse_tabulate(&eu2_list, &fu2->l.magic, vlfree);
 
     is->mag_len = 2 * (BU_PTBL_LEN(&eu1_list) + BU_PTBL_LEN(&eu2_list));
-    mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), "mag1");
-    mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), "mag2");
+    mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), "mag1");
+    mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), "mag2");
 
     for (i = 0; i < is->mag_len; i++) {
        mag1[i] = MAX_FASTF;
@@ -2913,9 +2913,9 @@
        }
     }
     if (mag1)
-       bu_free((char *)mag1, "mag1");
+       nmg_free((char *)mag1, "mag1");
     if (mag2)
-       bu_free((char *)mag2, "mag2");
+       nmg_free((char *)mag2, "mag2");
 
     bu_ptbl_free(is->l1);
     bu_ptbl_free(is->l2);
@@ -3911,7 +3911,7 @@
     }
 
     /* must do them in order from furthest to nearest */
-    inter_dist = (fastf_t *)bu_calloc(BU_PTBL_LEN(&inters), sizeof(fastf_t),
+    inter_dist = (fastf_t *)nmg_calloc(BU_PTBL_LEN(&inters), sizeof(fastf_t),
                                      "nmg_isect_eu_fu: inter_dist");
 
     if (UNLIKELY(nmg_debug & DEBUG_POLYSECT))
@@ -3971,7 +3971,7 @@
        inter_dist[index_at_max] = (-10.0);
     }
 
-    bu_free((char *)inter_dist, "nmg_isect_eu_fu: inter_dist");
+    nmg_free((char *)inter_dist, "nmg_isect_eu_fu: inter_dist");
 
 out:
     bu_ptbl_free(&inters);
@@ -5037,8 +5037,8 @@
     nmg_edgeuse_tabulate(&eu2_list, &fu2->l.magic, vlfree);
 
     is->mag_len = 2 * (BU_PTBL_LEN(&eu1_list) + BU_PTBL_LEN(&eu2_list));
-    mag1 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), "mag1");
-    mag2 = (fastf_t *)bu_calloc(is->mag_len, sizeof(fastf_t), "mag2");
+    mag1 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), "mag1");
+    mag2 = (fastf_t *)nmg_calloc(is->mag_len, sizeof(fastf_t), "mag2");
 
     for (i=0; i<is->mag_len; i++) {
        mag1[i] = MAX_FASTF;
@@ -5115,9 +5115,9 @@
     (void)bu_ptbl_free(&eu1_list);
     (void)bu_ptbl_free(&eu2_list);
     if (mag1)
-       bu_free((char *)mag1, "nmg_isect_two_face3p: mag1");
+       nmg_free((char *)mag1, "nmg_isect_two_face3p: mag1");
     if (mag2)
-       bu_free((char *)mag2, "nmg_isect_two_face3p: mag2");
+       nmg_free((char *)mag2, "nmg_isect_two_face3p: mag2");
 
 
     if (nmg_debug & DEBUG_VERIFY) {
@@ -5351,7 +5351,7 @@
        }
 
        /* create array of distances (SQ) along the line from end1 to end2 */
-       dist_array = (fastf_t *)bu_calloc(sizeof(fastf_t), 
BU_PTBL_LEN(&cut_list), "distance array");
+       dist_array = (fastf_t *)nmg_calloc(sizeof(fastf_t), 
BU_PTBL_LEN(&cut_list), "distance array");
        for (i=0; i<BU_PTBL_LEN(&cut_list); i++) {
            v1 = (struct vertex *)BU_PTBL_GET(&cut_list, i);
            if (v1 == end1) {
@@ -5398,7 +5398,7 @@
                bu_log("v=%p, dist=%g\n", (void *)BU_PTBL_GET(&cut_list, i), 
dist_array[i]);
        }
 
-       bu_free((char *)dist_array, "distance array");
+       nmg_free((char *)dist_array, "distance array");
     }
 
     for (i=0; i<BU_PTBL_LEN(&cut_list); i += 2) {

Modified: brlcad/trunk/src/libnmg/isect.c
===================================================================
--- brlcad/trunk/src/libnmg/isect.c     2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/isect.c     2018-08-31 20:05:31 UTC (rev 71637)
@@ -140,7 +140,7 @@
     }
 
     bu_log("overlay %s\n", name);
-    b = (long *)bu_calloc(fu->s_p->r_p->m_p->maxindex,
+    b = (long *)nmg_calloc(fu->s_p->r_p->m_p->maxindex,
                          sizeof(long), "bit vec");
 
        pl_erase(fp);
@@ -157,7 +157,7 @@
     pl_color(fp, 255, 50, 50);
     pdv_3line(fp, pt, plane_pt);
 
-    bu_free((char *)b, "bit vec");
+    nmg_free((char *)b, "bit vec");
     fclose(fp);
 }
 
@@ -181,7 +181,7 @@
 
     bu_log("overlay %s\n", name);
     m = nmg_find_model(eu->up.magic_p);
-    b = (long *)bu_calloc(m->maxindex, sizeof(long), "bit vec");
+    b = (long *)nmg_calloc(m->maxindex, sizeof(long), "bit vec");
 
     pl_erase(fp);
 
@@ -202,7 +202,7 @@
     nmg_pl_eu(fp, eu, b, 255, 255, 255);
     pl_color(fp, 255, 50, 50);
     pdv_3line(fp, pt, plane_pt);
-    bu_free((char *)b, "bit vec");
+    nmg_free((char *)b, "bit vec");
     fclose(fp);
 }
 
@@ -1892,7 +1892,7 @@
            if (u >= srf->u.knots[0] && u <= srf->u.knots[srf->u.k_size-1] &&
                v >= srf->v.knots[0] && v <= srf->v.knots[srf->v.k_size-1])
            {
-               BU_ALLOC(hp, struct nmg_nurb_uv_hit);
+               NMG_ALLOC(hp, struct nmg_nurb_uv_hit);
                hp->next = (struct nmg_nurb_uv_hit *)NULL;
                hp->sub = 0;
                hp->u = u;
@@ -1953,7 +1953,7 @@
                if (nmg_debug & DEBUG_RT_ISECT)
                    bu_log("\tNot a hit\n");
 
-               bu_free((char *)hp, "hit");
+               nmg_free((char *)hp, "hit");
                hp = next;
                continue;
            }
@@ -2047,7 +2047,7 @@
 
            hit_ins(rd, myhit);
 
-           bu_free((char *)hp, "hit");
+           nmg_free((char *)hp, "hit");
            hp = next;
        }
        nmg_nurb_free_snurb(srf);
@@ -2701,7 +2701,7 @@
     rd.stp = NULL;
     rd.seghead = NULL;
     rd.magic = NMG_RAY_DATA_MAGIC;
-    rd.hitmiss = (struct nmg_hitmiss **)bu_calloc(rd.rd_m->maxindex,
+    rd.hitmiss = (struct nmg_hitmiss **)nmg_calloc(rd.rd_m->maxindex,
                                              sizeof(struct nmg_hitmiss *), 
"nmg geom hit list");
     rd.classifying_ray = 1;
 
@@ -2758,12 +2758,12 @@
        while (BU_LIST_WHILE(hitp, nmg_hitmiss, &re_nmgfree)) {
            NMG_CK_HITMISS(hitp);
            BU_LIST_DEQUEUE((struct bu_list *)hitp);
-           bu_free((void *)hitp, "struct nmg_hitmiss");
+           nmg_free((void *)hitp, "struct nmg_hitmiss");
        }
     }
 
     /* free the hitmiss table */
-    bu_free((char *)rd.hitmiss, "free nmg geom hit list");
+    nmg_free((char *)rd.hitmiss, "free nmg geom hit list");
 
     if (!rd.rd_m->manifolds) {
        /* If there is no manifolds list attached to the model
@@ -2774,7 +2774,7 @@
         * function and should be freed in the nmg_bool
         * function.
         */
-       bu_free((char *)rd.manifolds, "free local manifolds table");
+       nmg_free((char *)rd.manifolds, "free local manifolds table");
        rd.manifolds = NULL; /* sanity */
     }
 

Modified: brlcad/trunk/src/libnmg/junk.c
===================================================================
--- brlcad/trunk/src/libnmg/junk.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/junk.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -95,7 +95,7 @@
                   num_pts, num_facets);
 
 
-    v = (struct vertex **) bu_calloc(num_pts, sizeof (struct vertex *),
+    v = (struct vertex **) nmg_calloc(num_pts, sizeof (struct vertex *),
                                     "vertices");
 
     /* build the vertices */
@@ -116,7 +116,7 @@
        nmg_vertex_gv(v[i], p);
     }
 
-    vl = (struct vertex **)bu_calloc(vl_len=8, sizeof (struct vertex *),
+    vl = (struct vertex **)nmg_calloc(vl_len=8, sizeof (struct vertex *),
                                     "vertex parameter list");
 
     for (facet = 0; facet < num_facets; ++facet) {
@@ -129,7 +129,7 @@
 
        if (pts_this_face > vl_len) {
            while (vl_len < pts_this_face) vl_len *= 2;
-           vl = (struct vertex **)bu_realloc((char *)vl,
+           vl = (struct vertex **)nmg_realloc((char *)vl,
                                              vl_len*sizeof(struct vertex *),
                                              "vertex parameter list 
(realloc)");
        }
@@ -158,7 +158,7 @@
        if (BU_LIST_IS_EMPTY(&v[i]->vu_hd)) continue;
        FREE_VERTEX(v[i]);
     }
-    bu_free((char *)v, "vertex array");
+    nmg_free((char *)v, "vertex array");
     return s;
 }
 

Modified: brlcad/trunk/src/libnmg/manif.c
===================================================================
--- brlcad/trunk/src/libnmg/manif.c     2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/manif.c     2018-08-31 20:05:31 UTC (rev 71637)
@@ -272,7 +272,7 @@
     NMG_CK_SHELL(sp);
 
     if (tbl == (char *)NULL)
-       tbl = (char *)bu_calloc(sp->r_p->m_p->maxindex, 1, "manifold table");
+       tbl = (char *)nmg_calloc(sp->r_p->m_p->maxindex, 1, "manifold table");
 
     /*
      * points in shells form 0-manifold objects.
@@ -353,8 +353,8 @@
     if (nmg_debug & DEBUG_MANIF)
        bu_log("starting to paint non-dangling faces\n");
 
-    paint_meaning = (char *)bu_calloc(sp->r_p->m_p->maxindex, sizeof(char), 
"paint meaning table");
-    paint_table = (long *)bu_calloc(sp->r_p->m_p->maxindex, sizeof(long), 
"paint table");
+    paint_meaning = (char *)nmg_calloc(sp->r_p->m_p->maxindex, sizeof(char), 
"paint meaning table");
+    paint_table = (long *)nmg_calloc(sp->r_p->m_p->maxindex, sizeof(long), 
"paint table");
     paint_color = 1;
 
     for (BU_LIST_FOR(fu_p, faceuse, &sp->fu_hd)) {
@@ -395,8 +395,8 @@
        }
     }
 
-    bu_free(paint_meaning, "paint meaning table");
-    bu_free(paint_table, "paint table");
+    nmg_free(paint_meaning, "paint meaning table");
+    nmg_free(paint_table, "paint table");
 
     for (BU_LIST_FOR(fu_p, faceuse, &sp->fu_hd)) {
        BU_LIST_LINK_CHECK(&fu_p->l);
@@ -421,7 +421,7 @@
     if (nmg_debug & DEBUG_MANIF)
        bu_log("nmg_manifolds(%p)\n", (void *)m);
 
-    tbl = (char *)bu_calloc(m->maxindex, 1, "manifold table");
+    tbl = (char *)nmg_calloc(m->maxindex, 1, "manifold table");
 
 
     for (BU_LIST_FOR(rp, nmgregion, &m->r_hd)) {

Modified: brlcad/trunk/src/libnmg/misc.c
===================================================================
--- brlcad/trunk/src/libnmg/misc.c      2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/misc.c      2018-08-31 20:05:31 UTC (rev 71637)
@@ -88,7 +88,7 @@
     }
 
     /* allocate memory for "pseudo-vertices" */
-    pts = (point_t *)bu_calloc(edge_count, sizeof(point_t), 
"Orient_nurb_face_loops: pts");
+    pts = (point_t *)nmg_calloc(edge_count, sizeof(point_t), 
"Orient_nurb_face_loops: pts");
 
     /* Assign uv geometry to each "pseudo-vertex" */
     edge_no = 0;
@@ -149,7 +149,7 @@
        VADD2(area, area, cross);
     }
 
-    bu_free((char *)pts, "nmg_snurb_calc_lu_uv_orient: pts");
+    nmg_free((char *)pts, "nmg_snurb_calc_lu_uv_orient: pts");
 
     if (area[Z] > 0.0)
        return OT_SAME;
@@ -588,10 +588,10 @@
        total_shells++;
 
     /* make an array of shells and top faces */
-    top_faces = (struct top_face *)bu_calloc(total_shells, sizeof(struct 
top_face), "nmg_assoc_void_shells: top_faces");
+    top_faces = (struct top_face *)nmg_calloc(total_shells, sizeof(struct 
top_face), "nmg_assoc_void_shells: top_faces");
 
     /* make flags array for use by "nmg_find_top_face" */
-    flags = (long *)bu_calloc(r->m_p->maxindex, sizeof(long), 
"nmg_find_outer_and_void_shells: flags");
+    flags = (long *)nmg_calloc(r->m_p->maxindex, sizeof(long), 
"nmg_find_outer_and_void_shells: flags");
 
     top_faces[0].s = outer_shell;
     top_faces[0].f = nmg_find_top_face(outer_shell, &dir, flags);
@@ -743,7 +743,7 @@
            bu_ptbl_ins(shells, (long *)void_s);
        }
     }
-    bu_free((char *)flags, "nmg_assoc_void_shells: flags");
+    nmg_free((char *)flags, "nmg_assoc_void_shells: flags");
 }
 
 
@@ -772,7 +772,7 @@
     BN_CK_TOL(tol);
 
     /* Decompose shells */
-    outer_shells = (struct bu_ptbl *)bu_malloc(sizeof(struct bu_ptbl), 
"nmg_find_outer_and_void_shells: outer_shells");
+    outer_shells = (struct bu_ptbl *)nmg_malloc(sizeof(struct bu_ptbl), 
"nmg_find_outer_and_void_shells: outer_shells");
     bu_ptbl_init(outer_shells, 64, " outer_shells ");
     for (BU_LIST_FOR (s, shell, &r->s_hd)) {
        NMG_CK_SHELL(s);
@@ -791,7 +791,7 @@
     for (BU_LIST_FOR (s, shell, &r->s_hd))
        total_shells++;
 
-    flags = (long *)bu_calloc(r->m_p->maxindex, sizeof(long), 
"nmg_find_outer_and_void_shells: flags");
+    flags = (long *)nmg_calloc(r->m_p->maxindex, sizeof(long), 
"nmg_find_outer_and_void_shells: flags");
 
     for (BU_LIST_FOR (s, shell, &r->s_hd)) {
        struct face *f;
@@ -824,10 +824,10 @@
     /* outer_shells is now a list of all the outer shells in the region */
     outer_shell_count = BU_PTBL_LEN(outer_shells);
 
-    *shells = (struct bu_ptbl **)bu_calloc(BU_PTBL_LEN(outer_shells), 
sizeof(struct bu_ptbl *) ,
+    *shells = (struct bu_ptbl **)nmg_calloc(BU_PTBL_LEN(outer_shells), 
sizeof(struct bu_ptbl *) ,
                                           "nmg_find_outer_and_void_shells: 
shells");
     for (i=0; i<BU_PTBL_LEN(outer_shells); i++) {
-       BU_ALLOC((*shells)[i], struct bu_ptbl);
+       NMG_ALLOC((*shells)[i], struct bu_ptbl);
 
        bu_ptbl_init((*shells)[i], 64, "(*shells)[i]");
        BU_CK_PTBL((*shells)[i]);
@@ -836,7 +836,7 @@
            nmg_assoc_void_shells(r, (*shells)[i], vlfree, tol);
     }
 
-    bu_free((char *)flags, "nmg_find_outer_and_void_shells: flags");
+    nmg_free((char *)flags, "nmg_find_outer_and_void_shells: flags");
     bu_ptbl_free(outer_shells);
     return outer_shell_count;
 }
@@ -2086,7 +2086,7 @@
     NMG_CK_MODEL(m);
     BN_CK_TOL(tol);
 
-    flags = (int *)bu_calloc(m->maxindex*2, sizeof(int), "rebound flags[]");
+    flags = (int *)nmg_calloc(m->maxindex*2, sizeof(int), "rebound flags[]");
 
     for (BU_LIST_FOR (r, nmgregion, &m->r_hd)) {
        NMG_CK_REGION(r);
@@ -2137,7 +2137,7 @@
        nmg_region_a(r, tol);
     }
 
-    bu_free((char *)flags, "rebound flags[]");
+    nmg_free((char *)flags, "rebound flags[]");
 }
 
 
@@ -2154,7 +2154,7 @@
 
     NMG_CK_MODEL(m);
 
-    tbl = (short *)bu_calloc(m->maxindex+1, sizeof(char),
+    tbl = (short *)nmg_calloc(m->maxindex+1, sizeof(char),
                             "face/wire/point counted table");
 
     *total_faces = *total_wires = *total_points = 0;
@@ -2179,7 +2179,7 @@
        }
     }
 
-    bu_free((char *)tbl, "face/wire/point counted table");
+    nmg_free((char *)tbl, "face/wire/point counted table");
 }
 
 
@@ -2204,7 +2204,7 @@
 
     /* create an index into the table, ordered to create a loop */
     if (*idx == NULL)
-       (*idx) = (int *)bu_calloc(tbl_size, sizeof(int), "Table index");
+       (*idx) = (int *)nmg_calloc(tbl_size, sizeof(int), "Table index");
 
     for (i=0; i<tbl_size; i++)
        (*idx)[i] = (-1);
@@ -2435,7 +2435,7 @@
                }
 
                /* now eliminate loop from table */
-               eu_used = (struct edgeuse **)bu_calloc(loop_size, sizeof(struct 
edgeuse *), "edges used list");
+               eu_used = (struct edgeuse **)nmg_calloc(loop_size, 
sizeof(struct edgeuse *), "edges used list");
                for (i=0; i<loop_size; i++)
                    eu_used[i] = (struct edgeuse *)BU_PTBL_GET(&eu_tbl, idx[i]);
 
@@ -2442,7 +2442,7 @@
                for (i=0; i<loop_size; i++)
                    bu_ptbl_rm(&eu_tbl, (long *)eu_used[i]);
 
-               bu_free((char *)eu_used, "edge used list");
+               nmg_free((char *)eu_used, "edge used list");
 
                /* may need to remove one more edgeuse from table */
                eu_tmp = nmg_find_e((*(struct vertex **)BU_PTBL_GET(&vert_tbl, 
0)), (*(struct vertex **)BU_PTBL_GET(&vert_tbl, loop_size-1)), (struct shell 
*)NULL, (struct edge *)NULL);
@@ -2513,7 +2513,7 @@
            bu_ptbl_ins(&vert_tbl, (long *)&eu2->eumate_p->vu_p->v_p);
 
            /* save list of used edges to be removed later */
-           eu_used = (struct edgeuse **)bu_calloc(edges_used, sizeof(struct 
edgeuse *), "edges used list");
+           eu_used = (struct edgeuse **)nmg_calloc(edges_used, sizeof(struct 
edgeuse *), "edges used list");
            for (i=0; i<edges_used; i++)
                eu_used[i] = (struct edgeuse *)BU_PTBL_GET(&eu_tbl, idx[i]);
 
@@ -2575,7 +2575,7 @@
                }
            }
 
-           bu_free((char *)eu_used, "edge used list");
+           nmg_free((char *)eu_used, "edge used list");
 
            /* re-order loop */
            loop_size = 0;
@@ -2661,7 +2661,7 @@
     }
 
     /* Free up all the memory */
-    bu_free((char *)idx, "idx");
+    nmg_free((char *)idx, "idx");
     bu_ptbl_free(&eu_tbl);
     bu_ptbl_free(&vert_tbl);
 
@@ -2706,7 +2706,7 @@
 
     /* create translation table double size to accommodate both copies */
     tbl_size = m->maxindex * 3;
-    (*trans_tbl) = (long **)bu_calloc(tbl_size, sizeof(long *),
+    (*trans_tbl) = (long **)nmg_calloc(tbl_size, sizeof(long *),
                                      "nmg_dup_shell trans_tbl");
 
     bu_ptbl_init(&faces, 64, " &faces ");
@@ -3000,11 +3000,11 @@
     m = nmg_find_model(&s->l.magic);
     NMG_CK_MODEL(m);
 
-    flags = (long *)bu_calloc(m->maxindex, sizeof(long), "nmg_shell_is_void: 
flags ");
+    flags = (long *)nmg_calloc(m->maxindex, sizeof(long), "nmg_shell_is_void: 
flags ");
 
     f = nmg_find_top_face(s, &dir, flags);
 
-    bu_free((char *)flags, "nmg_shell_is_void: flags");
+    nmg_free((char *)flags, "nmg_shell_is_void: flags");
 
     if (f == (struct face *)NULL)
        return -1;
@@ -3328,7 +3328,7 @@
     BN_CK_TOL(tol);
 
     m = s->r_p->m_p;
-    flags = (long *)bu_calloc(m->maxindex, sizeof(long), 
"nmg_fix_decomposed_shell_normals: flags");
+    flags = (long *)nmg_calloc(m->maxindex, sizeof(long), 
"nmg_fix_decomposed_shell_normals: flags");
 
 missed:
     /* find the top face */
@@ -3336,7 +3336,7 @@
     if (f_top == (struct face *)NULL) {
        bu_log("nmg_fix_decomposed_shell_normals: Could not get a top face from 
nmg_find_top_face()\n");
        bu_log("\tWARNING: continuing without fixing normals!\n");
-       bu_free((char *)flags, "nmg_fix_decomposed_shell_normals: flags");
+       nmg_free((char *)flags, "nmg_fix_decomposed_shell_normals: flags");
        return;
     }
     if (*f_top->g.magic_p != NMG_FACE_G_PLANE_MAGIC) {
@@ -3354,7 +3354,7 @@
        fu = fu->fumate_p;
     if (fu->orientation != OT_SAME) {
        bu_log("nmg_fix_decomposed_shell_normals: no OT_SAME use of top 
face\n");
-       bu_free((char *)flags, "nmg_fix_decomposed_shell_normals: flags");
+       nmg_free((char *)flags, "nmg_fix_decomposed_shell_normals: flags");
        return;
     }
     NMG_GET_FU_NORMAL(normal, fu);
@@ -3411,7 +3411,7 @@
        bu_bomb("nmg_fix_decomposed_shell_normals: missed faces in shell (was 
it decomposed?)\n");
     }
 
-    bu_free((char *)flags, "flags");
+    nmg_free((char *)flags, "flags");
 }
 
 
@@ -3583,7 +3583,7 @@
     if (shell_count == 1) {
        /* just one shell, so fix it and return */
        (void)nmg_km(tmp_m);
-       bu_free((char *)trans_tbl, "translate table");
+       nmg_free((char *)trans_tbl, "translate table");
        nmg_connect_same_fu_orients(s_orig);
        nmg_fix_decomposed_shell_normals(s_orig, tol);
        return;
@@ -3680,7 +3680,7 @@
     }
 
     bu_ptbl_free(&reverse);
-    bu_free((char *)trans_tbl, "translation table");
+    nmg_free((char *)trans_tbl, "translation table");
 
     nmg_km(tmp_m);
 }
@@ -4069,7 +4069,7 @@
     BN_CK_TOL(tol);
 
     sl_state.split = 0;
-    sl_state.flags = (long *)bu_calloc(m->maxindex*2, sizeof(long), 
"nmg_split_loops_into_faces: flags");
+    sl_state.flags = (long *)nmg_calloc(m->maxindex*2, sizeof(long), 
"nmg_split_loops_into_faces: flags");
     sl_state.tol = tol;
 
     nmg_visit(magic_p, &htab, (void *)&sl_state, vlfree);
@@ -4076,7 +4076,7 @@
 
     count = sl_state.split;
 
-    bu_free((char *)sl_state.flags, "nmg_split_loops_into_faces: flags");
+    nmg_free((char *)sl_state.flags, "nmg_split_loops_into_faces: flags");
 
     return count;
 }
@@ -4123,7 +4123,7 @@
     NMG_CK_REGION(r);
     m = r->m_p;
     NMG_CK_MODEL(m);
-    flags = (long *)bu_calloc(m->maxindex*2, sizeof(long), 
"nmg_decompose_shell: flags");
+    flags = (long *)nmg_calloc(m->maxindex*2, sizeof(long), 
"nmg_decompose_shell: flags");
 
     bu_ptbl_init(&stack, 64, " &stack ");
     bu_ptbl_init(&shared_edges, 64, " &shared_edges ");
@@ -4216,7 +4216,7 @@
 
     if (!missed_faces) {
        /* nothing to do, just one shell */
-       bu_free((char *)flags, "nmg_decompose_shell: flags ");
+       nmg_free((char *)flags, "nmg_decompose_shell: flags ");
        bu_ptbl_free(&stack);
        bu_ptbl_free(&shared_edges);
        return no_of_shells;
@@ -4230,7 +4230,7 @@
        bu_ptbl_reset(&stack);
 
        /* Look at the list of shared edges to see if anything can be deduced */
-       shells_at_edge = (int *)bu_calloc(no_of_shells+1, sizeof(int), 
"nmg_decompose_shell: shells_at_edge");
+       shells_at_edge = (int *)nmg_calloc(no_of_shells+1, sizeof(int), 
"nmg_decompose_shell: shells_at_edge");
 
        for (i=0; i<BU_PTBL_LEN(&shared_edges); i++) {
            int faces_at_edge=0;
@@ -4360,7 +4360,7 @@
            }
        }
 
-       bu_free((char *)shells_at_edge, "nmg_decompose_shell: shells_at_edge");
+       nmg_free((char *)shells_at_edge, "nmg_decompose_shell: shells_at_edge");
 
        /* make a new shell number */
        if (new_shell_no) {
@@ -4491,7 +4491,7 @@
        bu_ptbl_free(&faces);
        nmg_shell_a(new_s, tol);
     }
-    bu_free((char *)flags, "nmg_decompose_shell: flags ");
+    nmg_free((char *)flags, "nmg_decompose_shell: flags ");
     bu_ptbl_free(&stack);
     bu_ptbl_free(&shared_edges);
 
@@ -4617,13 +4617,13 @@
     NMG_CK_MODEL(m);
 
     ub_state.unbroken = 0;
-    ub_state.flags = (long *)bu_calloc(m->maxindex*2, sizeof(long), 
"nmg_unbreak_region_edges: flags");
+    ub_state.flags = (long *)nmg_calloc(m->maxindex*2, sizeof(long), 
"nmg_unbreak_region_edges: flags");
 
     nmg_visit(magic_p, &htab, (void *)&ub_state, vlfree);
 
     count = ub_state.unbroken;
 
-    bu_free((char *)ub_state.flags, "nmg_unbreak_region_edges: flags");
+    nmg_free((char *)ub_state.flags, "nmg_unbreak_region_edges: flags");
 
     return count;
 }
@@ -5091,7 +5091,7 @@
            struct intersect_fus *i_fus;
 
            /* create and initialize an intersect_fus struct for this edge */
-           BU_ALLOC(i_fus, struct intersect_fus);
+           NMG_ALLOC(i_fus, struct intersect_fus);
            i_fus->fu[0] = NULL;
            i_fus->fu[1] = fu;
            i_fus->eu = eu;
@@ -5162,7 +5162,7 @@
            for (edge_no=0; edge_no<BU_PTBL_LEN(int_faces); edge_no++) {
                i_fus = (struct intersect_fus *)BU_PTBL_GET(int_faces, edge_no);
 
-               bu_free((char *)i_fus, "nmg_get_edge_lines: i_fus");
+               nmg_free((char *)i_fus, "nmg_get_edge_lines: i_fus");
            }
            return 1;
        }
@@ -5175,7 +5175,7 @@
        fu2 = nmg_find_fu_of_eu(eu->radial_p);
 
        /* initialize the intersect structure for this edge */
-       BU_ALLOC(i_fus, struct intersect_fus);
+       NMG_ALLOC(i_fus, struct intersect_fus);
        i_fus->fu[0] = fu1;
        if (eu->radial_p == eu->eumate_p) {
            i_fus->fu[1] = (struct faceuse *)NULL;
@@ -5485,7 +5485,7 @@
        i_fus->free_edge = 1;
 
     bu_ptbl_rm(int_faces, (long *)j_fus);
-    bu_free((char *)j_fus, "nmg_split_edges_at_pts: j_fus ");
+    nmg_free((char *)j_fus, "nmg_split_edges_at_pts: j_fus ");
 
 }
 
@@ -6560,7 +6560,7 @@
     i = BU_PTBL_LEN(int_faces);
     if (i < 3)
        i = 3;
-    planes = (plane_t *)bu_calloc(i, sizeof(plane_t), "nmg_calc_new_v: 
planes");
+    planes = (plane_t *)nmg_calloc(i, sizeof(plane_t), "nmg_calc_new_v: 
planes");
 
     pl_count = 0;
 
@@ -6597,7 +6597,7 @@
        if (bn_isect_planes(new_v->vg_p->coord, (const plane_t *)planes, 
pl_count)) {
            bu_log("nmg_cacl_new_v: Cannot solve for new geometry at (%f %f 
%f)\n",
                   V3ARGS(new_v->vg_p->coord));
-           bu_free((char *)planes, "nmg_calc_new_v: planes");
+           nmg_free((char *)planes, "nmg_calc_new_v: planes");
            return 1;
        }
     } else if (pl_count == 1) {
@@ -6612,13 +6612,13 @@
        pl_count = 3;
        if (bn_mkpoint_3planes(new_v->vg_p->coord, planes[0], planes[1], 
planes[2])) {
            bu_log("nmg_cacl_new_v: 3 planes do not intersect at a point\n");
-           bu_free((char *)planes, "nmg_calc_new_v: planes");
+           nmg_free((char *)planes, "nmg_calc_new_v: planes");
            return 1;
        }
     } else {
        bu_log("nmg_calc_new_v: No face planes at vertex %p (%f %f %f)\n",
               (void *)new_v, V3ARGS(new_v->vg_p->coord));
-       bu_free((char *)planes, "nmg_calc_new_v: planes");
+       nmg_free((char *)planes, "nmg_calc_new_v: planes");
        return 1;
     }
 
@@ -6625,7 +6625,7 @@
     if (nmg_debug & DEBUG_BASIC)
        bu_log("\tnew_v = (%f %f %f)\n", V3ARGS(new_v->vg_p->coord));
 
-    bu_free((char *)planes, "nmg_calc_new_v: planes");
+    nmg_free((char *)planes, "nmg_calc_new_v: planes");
 
     for (i = 0; i < BU_PTBL_LEN(int_faces); i++) {
        struct intersect_fus *fus;
@@ -6686,7 +6686,7 @@
 
        plane_count = BU_PTBL_LEN(faces);
 
-       planes = (plane_t *)bu_calloc(plane_count+free_edges, sizeof(plane_t), 
"nmg_complex_vertex_solve: planes");
+       planes = (plane_t *)nmg_calloc(plane_count+free_edges, sizeof(plane_t), 
"nmg_complex_vertex_solve: planes");
 
 
        for (i=0; i<BU_PTBL_LEN(faces); i++) {
@@ -6759,10 +6759,10 @@
        if (bn_isect_planes(new_v->vg_p->coord, (const plane_t *)planes, 
plane_count)) {
            bu_log("nmg_complex_vertex_solve: Could not calculate new geometry 
at (%f %f %f)\n",
                   V3ARGS(new_v->vg_p->coord));
-           bu_free((char *) planes, "nmg_complex_vertex_solve: planes");
+           nmg_free((char *) planes, "nmg_complex_vertex_solve: planes");
            return 1;
        }
-       bu_free((char *) planes, "nmg_complex_vertex_solve: planes");
+       nmg_free((char *) planes, "nmg_complex_vertex_solve: planes");
 
        if (nmg_debug & DEBUG_BASIC)
            bu_log("nmg_complex_vertex_solve: new coords = (%f %f %f)\n",
@@ -6817,7 +6817,7 @@
        struct intersect_fus *i_fus;
 
        i_fus = (struct intersect_fus *)BU_PTBL_GET(&int_faces, i);
-       bu_free((char *)i_fus, "nmg_complex_vertex_solve: intersect_fus 
struct\n");
+       nmg_free((char *)i_fus, "nmg_complex_vertex_solve: intersect_fus 
struct\n");
     }
     bu_ptbl_free(&int_faces);
 
@@ -7152,7 +7152,7 @@
      * could be lots of them
      */
 
-    flags = (long *)bu_calloc(m->maxindex, sizeof(long), 
"nmg_move_edge_thru_pt: flags");
+    flags = (long *)nmg_calloc(m->maxindex, sizeof(long), 
"nmg_move_edge_thru_pt: flags");
     bu_ptbl_init(&faces, 64, " &faces ");
 
     eu1 = mv_eu;
@@ -7174,7 +7174,7 @@
                    if (nmg_find_isect_faces(vu->v_p, &faces, &count, tol) > 3) 
{
                        bu_log("mg_move_edge_thru_pt: Cannot handle complex 
vertices\n");
                        bu_ptbl_free(&faces);
-                       bu_free((char *)flags, "mg_move_edge_thru_pt: flags");
+                       nmg_free((char *)flags, "mg_move_edge_thru_pt: flags");
                        return 1;
                    }
 
@@ -7182,7 +7182,7 @@
                        /* failed */
                        bu_log("nmg_move_edge_thru_pt: Could not solve simple 
vertex\n");
                        bu_ptbl_free(&faces);
-                       bu_free((char *)flags, "mg_move_edge_thru_pt: flags");
+                       nmg_free((char *)flags, "mg_move_edge_thru_pt: flags");
                        return 1;
                    }
                }
@@ -7201,7 +7201,7 @@
                    if (nmg_find_isect_faces(vu->v_p, &faces, &count, tol) > 3) 
{
                        bu_log("mg_move_edge_thru_pt: Cannot handle complex 
vertices\n");
                        bu_ptbl_free(&faces);
-                       bu_free((char *)flags, "mg_move_edge_thru_pt: flags");
+                       nmg_free((char *)flags, "mg_move_edge_thru_pt: flags");
                        return 1;
                    }
 
@@ -7225,7 +7225,7 @@
                            /* failed */
                            bu_log("nmg_move_edge_thru_pt: Could not solve 
simple vertex\n");
                            bu_ptbl_free(&faces);
-                           bu_free((char *)flags, "mg_move_edge_thru_pt: 
flags");
+                           nmg_free((char *)flags, "mg_move_edge_thru_pt: 
flags");
                            return 1;
                        }
                    }
@@ -7251,7 +7251,7 @@
     }
     while (fu != fu1 && fu != fu1->fumate_p);
 
-    bu_free((char *)flags, "mg_move_edge_thru_pt: flags");
+    nmg_free((char *)flags, "mg_move_edge_thru_pt: flags");
     bu_ptbl_free(&faces);
 
     return 0;
@@ -7850,7 +7850,7 @@
                    struct vertex *vpbad1, *vpbada;
 
                    /* found a dangling edge, put it in the list */
-                   dang = (struct dangle *)bu_malloc(sizeof(struct dangle) ,
+                   dang = (struct dangle *)nmg_malloc(sizeof(struct dangle) ,
                                                      "nmg_open_shells_connect: 
dang");
 
                    dang->needs_edge_breaking = 0;
@@ -8010,7 +8010,7 @@
            }
        }
        bu_ptbl_rm(&dangles, (long *)dang);
-       bu_free((char *)dang, "nmg_open_shells_connect: dang");
+       nmg_free((char *)dang, "nmg_open_shells_connect: dang");
     }
 
     bu_ptbl_free(&dangles);
@@ -8113,7 +8113,7 @@
     (void)bu_ptbl_free(&vertices);
 
     /* adjust the direction of all the faces */
-    flags = (long *)bu_calloc(m->maxindex, sizeof(long), "nmg_mirror_model: 
flags");
+    flags = (long *)nmg_calloc(m->maxindex, sizeof(long), "nmg_mirror_model: 
flags");
     for (BU_LIST_FOR (r, nmgregion, &m->r_hd)) {
        struct shell *s;
 
@@ -8139,7 +8139,7 @@
        }
     }
 
-    bu_free((char *)flags, "nmg_mirror_model: flags ");
+    nmg_free((char *)flags, "nmg_mirror_model: flags ");
 }
 
 

Modified: brlcad/trunk/src/libnmg/mk.c
===================================================================
--- brlcad/trunk/src/libnmg/mk.c        2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/mk.c        2018-08-31 20:05:31 UTC (rev 71637)
@@ -1178,9 +1178,9 @@
            struct face_g_snurb *sp;
            sp = (struct face_g_snurb *)magic_p;
            if (BU_LIST_NON_EMPTY(&(sp->f_hd))) return;
-           bu_free((char *)sp->u.knots, "nmg_kfg snurb u knots[]");
-           bu_free((char *)sp->v.knots, "nmg_kfg snurb v knots[]");
-           bu_free((char *)sp->ctl_points, "nmg_kfg snurb ctl_points[]");
+           nmg_free((char *)sp->u.knots, "nmg_kfg snurb u knots[]");
+           nmg_free((char *)sp->v.knots, "nmg_kfg snurb v knots[]");
+           nmg_free((char *)sp->ctl_points, "nmg_kfg snurb ctl_points[]");
            FREE_FACE_G_SNURB(sp);
        }
            break;
@@ -1387,8 +1387,8 @@
            eu->g.magic_p = NULL;
            if (BU_LIST_NON_EMPTY(&eg->eu_hd2)) return 0;
            if (eg->order != 0) {
-               bu_free((char *)eg->k.knots, "nmg_keg cnurb knots[]");
-               bu_free((char *)eg->ctl_points, "nmg_keg cnurb ctl_points[]");
+               nmg_free((char *)eg->k.knots, "nmg_keg cnurb knots[]");
+               nmg_free((char *)eg->ctl_points, "nmg_keg cnurb ctl_points[]");
            }
            FREE_EDGE_G_CNURB(eg);
            break;
@@ -1641,7 +1641,7 @@
        (void)nmg_kr(BU_LIST_FIRST(nmgregion, &m->r_hd));
 
     if (m->manifolds) {
-       bu_free((char *)m->manifolds, "free manifolds table");
+       nmg_free((char *)m->manifolds, "free manifolds table");
        m->manifolds = (char *)NULL;
     }
 
@@ -1943,7 +1943,7 @@
     } else {
        int ncoord = RT_NURB_EXTRACT_COORDS(pt_type);
 
-       eg->ctl_points = (fastf_t *)bu_calloc(
+       eg->ctl_points = (fastf_t *)nmg_calloc(
            ncoord * n_pts,
            sizeof(fastf_t),
            "cnurb ctl_points[]");
@@ -2336,7 +2336,7 @@
  *
  * If either of the knot vector arrays or the ctl_points arrays are
  * given as non-null, then simply swipe the caller's arrays.  The
- * caller must have allocated them with bu_malloc() or malloc().  If
+ * caller must have allocated them with nmg_malloc() or malloc().  If
  * the pointers are NULL, then the necessary storage is allocated
  * here.
  *
@@ -2378,12 +2378,12 @@
     if (ukv) {
        fg->u.knots = ukv;
     } else {
-       fg->u.knots = (fastf_t *)bu_calloc(n_u_knots, sizeof(fastf_t), 
"u.knots[]");
+       fg->u.knots = (fastf_t *)nmg_calloc(n_u_knots, sizeof(fastf_t), 
"u.knots[]");
     }
     if (vkv) {
        fg->v.knots = vkv;
     } else {
-       fg->v.knots = (fastf_t *)bu_calloc(n_v_knots, sizeof(fastf_t), 
"v.knots[]");
+       fg->v.knots = (fastf_t *)nmg_calloc(n_v_knots, sizeof(fastf_t), 
"v.knots[]");
     }
 
     fg->s_size[0] = n_rows;
@@ -2395,7 +2395,7 @@
     } else {
        int nwords;
        nwords = n_rows * n_cols * RT_NURB_EXTRACT_COORDS(pt_type);
-       fg->ctl_points = (fastf_t *)bu_calloc(
+       fg->ctl_points = (fastf_t *)nmg_calloc(
            nwords, sizeof(fastf_t), "snurb ctl_points[]");
     }
 

Modified: brlcad/trunk/src/libnmg/mod.c
===================================================================
--- brlcad/trunk/src/libnmg/mod.c       2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/mod.c       2018-08-31 20:05:31 UTC (rev 71637)
@@ -96,7 +96,7 @@
     struct faceuse *prev_fu;
     struct face_g_plane *fg1, *fg2;
 
-    flags = (char *)bu_calloc((s->r_p->m_p->maxindex) * 2, sizeof(char),
+    flags = (char *)nmg_calloc((s->r_p->m_p->maxindex) * 2, sizeof(char),
                              "nmg_shell_coplanar_face_merge flags[]");
 
     /* Visit each face in the shell */
@@ -184,7 +184,7 @@
        }
     }
 
-    bu_free((char *)flags, "nmg_shell_coplanar_face_merge flags[]");
+    nmg_free((char *)flags, "nmg_shell_coplanar_face_merge flags[]");
 
     nmg_shell_a(s, tol);
 
@@ -900,7 +900,7 @@
     }
 
     /* Allocate map of faces visited */
-    tags = (char *)bu_calloc(m->maxindex+1, 1, "nmg_invert_shell() tags[]");
+    tags = (char *)nmg_calloc(m->maxindex+1, 1, "nmg_invert_shell() tags[]");
 
     for (BU_LIST_FOR(fu, faceuse, &s->fu_hd)) {
        NMG_CK_FACEUSE(fu);
@@ -910,7 +910,7 @@
        /* Process fu and fumate together */
        nmg_reverse_face(fu);
     }
-    bu_free(tags, "nmg_invert_shell() tags[]");
+    nmg_free(tags, "nmg_invert_shell() tags[]");
 }
 
 
@@ -1847,7 +1847,7 @@
        tbl_size += m_f->maxindex;
 
     /* Needs double space, because model will grow as dup proceeds */
-    trans_tbl = (long **)bu_calloc(tbl_size*2, sizeof(long *),
+    trans_tbl = (long **)nmg_calloc(tbl_size*2, sizeof(long *),
                                   "nmg_dup_face trans_tbl");
 
     for (BU_LIST_FOR(lu, loopuse, &fu->lu_hd)) {
@@ -1909,7 +1909,7 @@
     new_fu->orientation = fu->orientation;
     new_fu->fumate_p->orientation = fu->fumate_p->orientation;
 
-    bu_free((char *)trans_tbl, "nmg_dup_face trans_tbl");
+    nmg_free((char *)trans_tbl, "nmg_dup_face trans_tbl");
 
     if (nmg_debug & DEBUG_BASIC) {
        bu_log("nmg_dup_face(fu=%p, s=%p) new_fu=%p\n",
@@ -2322,7 +2322,7 @@
        bu_log("\tnmg_cut_loop\n");
        if (nmg_debug & DEBUG_PLOTEM) {
            long *tab;
-           tab = (long *)bu_calloc(m->maxindex, sizeof(long),
+           tab = (long *)nmg_calloc(m->maxindex, sizeof(long),
                                    "nmg_cut_loop flag[] 1");
 
            (void)sprintf(name, "Before_cutloop%d.plot3", ++i);
@@ -2335,7 +2335,7 @@
            nmg_pl_fu(fd, oldlu->up.fu_p, tab, 100, 100, 100, vlfree);
            nmg_pl_fu(fd, oldlu->up.fu_p->fumate_p, tab, 100, 100, 100, vlfree);
            (void)fclose(fd);
-           bu_free((char *)tab, "nmg_cut_loop flag[] 1");
+           nmg_free((char *)tab, "nmg_cut_loop flag[] 1");
        }
     }
 
@@ -2394,7 +2394,7 @@
 
     if (nmg_debug & DEBUG_CUTLOOP && nmg_debug & DEBUG_PLOTEM) {
        long *tab;
-       tab = (long *)bu_calloc(m->maxindex, sizeof(long),
+       tab = (long *)nmg_calloc(m->maxindex, sizeof(long),
                                "nmg_cut_loop flag[] 2");
 
        (void)sprintf(name, "After_cutloop%d.plot3", i);
@@ -2407,7 +2407,7 @@
        nmg_pl_fu(fd, oldlu->up.fu_p, tab, 100, 100, 100, vlfree);
        nmg_pl_fu(fd, oldlu->up.fu_p->fumate_p, tab, 100, 100, 100, vlfree);
        (void)fclose(fd);
-       bu_free((char *)tab, "nmg_cut_loop flag[] 2");
+       nmg_free((char *)tab, "nmg_cut_loop flag[] 2");
     }
 out:
     if (nmg_debug & DEBUG_BASIC) {
@@ -2761,7 +2761,7 @@
  *
  * The passed pointer to an bu_ptbl structure may not be
  * initialized. If no touching jaunts are found, it will still not be
- * initialized upon return (to avoid bu_malloc/bu_free pairs for loops
+ * initialized upon return (to avoid nmg_malloc/nmg_free pairs for loops
  * with no touching jaunts. The flag (need_init) lets this routine
  * know whether the ptbl structure has been initialized
  */
@@ -3043,9 +3043,9 @@
 
     if (jaunt_count == 0) {
        if (visit_count)
-           bu_free((char *)visit_count, "nmg_loop_split_at_touching_jaunt: 
visit_count[]\n");
+           nmg_free((char *)visit_count, "nmg_loop_split_at_touching_jaunt: 
visit_count[]\n");
        if (jaunt_status)
-           bu_free((char *)jaunt_status, "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]\n");
+           nmg_free((char *)jaunt_status, "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]\n");
        if (!need_init)
            bu_ptbl_free(&jaunt_tbl);
 
@@ -3072,9 +3072,9 @@
 
        bu_ptbl_free(&jaunt_tbl);
        if (visit_count)
-           bu_free((char *)visit_count, "nmg_loop_split_at_touching_jaunt: 
visit_count[]\n");
+           nmg_free((char *)visit_count, "nmg_loop_split_at_touching_jaunt: 
visit_count[]\n");
        if (jaunt_status)
-           bu_free((char *)jaunt_status, "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]\n");
+           nmg_free((char *)jaunt_status, "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]\n");
 
        if ((nmg_debug & DEBUG_BASIC) || (nmg_debug & DEBUG_CUTLOOP)) {
            bu_log("nmg_loop_split_at_touching_jaunt(lu=%p) END count=%zu\n",
@@ -3104,13 +3104,13 @@
     BU_CK_PTBL(&jaunt_tbl);
 
     if (visit_count)
-       bu_free((char *)visit_count, "nmg_loop_split_at_touching_jaunt: 
visit_count[]\n");
+       nmg_free((char *)visit_count, "nmg_loop_split_at_touching_jaunt: 
visit_count[]\n");
     if (jaunt_status)
-       bu_free((char *)jaunt_status, "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]\n");
+       nmg_free((char *)jaunt_status, "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]\n");
 
-    visit_count = (int *)bu_calloc(BU_PTBL_LEN(&jaunt_tbl), sizeof(int),
+    visit_count = (int *)nmg_calloc(BU_PTBL_LEN(&jaunt_tbl), sizeof(int),
                                   "nmg_loop_split_at_touching_jaunt: 
visit_count[]");
-    jaunt_status = (int *)bu_calloc(BU_PTBL_LEN(&jaunt_tbl), sizeof(int),
+    jaunt_status = (int *)nmg_calloc(BU_PTBL_LEN(&jaunt_tbl), sizeof(int),
                                    "nmg_loop_split_at_touching_jaunt: 
jaunt_status[]");
 
     /* consider each jaunt as a possible location for splitting the loop */

Modified: brlcad/trunk/src/libnmg/nurb_bezier.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_bezier.c       2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_bezier.c       2018-08-31 20:05:31 UTC (rev 
71637)
@@ -94,7 +94,7 @@
     /* Find the perpendicular distance */
     /* from each interior control point to */
     /* line connecting V[0] and V[degree] */
-    distance = (double *)bu_malloc((unsigned)(degree + 1) * sizeof(double), 
"control_polygon_flat_enough");
+    distance = (double *)nmg_malloc((unsigned)(degree + 1) * sizeof(double), 
"control_polygon_flat_enough");
     {
        double abSquared;
 
@@ -130,7 +130,7 @@
            max_distance_above = FMAX(max_distance_above, distance[i]);
        }
     }
-    bu_free((char *)distance, "control_polygon_flat_enough");
+    nmg_free((char *)distance, "control_polygon_flat_enough");
 
     {
        double det, dInv;
@@ -198,9 +198,9 @@
     point2d_t **Vtemp;
 
 
-    Vtemp = (point2d_t **)bu_calloc(degree+1, sizeof(point2d_t *), "bezier: 
Vtemp array");
+    Vtemp = (point2d_t **)nmg_calloc(degree+1, sizeof(point2d_t *), "bezier: 
Vtemp array");
     for (i=0; i<=degree; i++)
-       Vtemp[i] = (point2d_t *)bu_calloc(degree+1, sizeof(point2d_t),
+       Vtemp[i] = (point2d_t *)nmg_calloc(degree+1, sizeof(point2d_t),
                                          "bezier: Vtemp[i] array");
     /* Copy control points */
     for (j =0; j <= degree; j++) {
@@ -240,8 +240,8 @@
     }
 
     for (i=0; i<=degree; i++)
-       bu_free((char *)Vtemp[i], "bezier: Vtemp[i]");
-    bu_free((char *)Vtemp, "bezier: Vtemp");
+       nmg_free((char *)Vtemp[i], "bezier: Vtemp[i]");
+    nmg_free((char *)Vtemp, "bezier: Vtemp");
 
     return;
 }
@@ -332,17 +332,17 @@
            /* Stop recursion when the tree is deep enough */
            /* if deep enough, return 1 solution at midpoint */
            if (depth >= MAXDEPTH) {
-               BU_ALLOC(*intercept, point2d_t);
-               BU_ALLOC(*normal, point2d_t);
+               NMG_ALLOC(*intercept, point2d_t);
+               NMG_ALLOC(*normal, point2d_t);
                bezier(w, degree, 0.5, NULL, NULL, *intercept[0], *normal[0]);
                return 1;
            }
            if (control_polygon_flat_enough(w, degree, epsilon)) {
-               BU_ALLOC(*intercept, point2d_t);
-               BU_ALLOC(*normal, point2d_t);
+               NMG_ALLOC(*intercept, point2d_t);
+               NMG_ALLOC(*normal, point2d_t);
                if (!compute_x_intercept(w, degree, ray_start, ray_dir, 
*intercept[0], *normal[0])) {
-                   bu_free((char *)(*intercept), "bezier_roots: no solution");
-                   bu_free((char *)(*normal), "bezier_roots: no solution");
+                   nmg_free((char *)(*intercept), "bezier_roots: no solution");
+                   nmg_free((char *)(*normal), "bezier_roots: no solution");
                    return 0;
                }
                return 1;
@@ -353,8 +353,8 @@
 
     /* Otherwise, solve recursively after */
     /* subdividing control polygon */
-    Left = (point2d_t *)bu_calloc(degree+1, sizeof(point2d_t), "bezier_roots: 
Left");
-    Right = (point2d_t *)bu_calloc(degree+1, sizeof(point2d_t), "bezier_roots: 
Right");
+    Left = (point2d_t *)nmg_calloc(degree+1, sizeof(point2d_t), "bezier_roots: 
Left");
+    Right = (point2d_t *)nmg_calloc(degree+1, sizeof(point2d_t), 
"bezier_roots: Right");
     bezier(w, degree, 0.5, Left, Right, eval_pt, NULL);
 
     left_count  = bezier_roots(Left,  degree, &left_t, &left_n, ray_start, 
ray_dir, ray_perp, depth+1, epsilon);
@@ -362,12 +362,12 @@
 
     total_count = left_count + right_count;
 
-    bu_free((char *)Left, "bezier_roots: Left");
-    bu_free((char *)Right, "bezier_roots: Right");
+    nmg_free((char *)Left, "bezier_roots: Left");
+    nmg_free((char *)Right, "bezier_roots: Right");
     if (total_count) {
-       *intercept = (point2d_t *)bu_calloc(total_count, sizeof(point2d_t),
+       *intercept = (point2d_t *)nmg_calloc(total_count, sizeof(point2d_t),
                                            "bezier_roots: roots compilation");
-       *normal = (point2d_t *)bu_calloc(total_count, sizeof(point2d_t),
+       *normal = (point2d_t *)nmg_calloc(total_count, sizeof(point2d_t),
                                         "bezier_roots: normal compilation");
     }
 
@@ -382,12 +382,12 @@
     }
 
     if (left_count) {
-       bu_free((char *)left_t, "Left roots");
-       bu_free((char *)left_n, "Left normals");
+       nmg_free((char *)left_t, "Left roots");
+       nmg_free((char *)left_n, "Left normals");
     }
     if (right_count) {
-       bu_free((char *)right_t, "Right roots");
-       bu_free((char *)right_n, "Right normals");
+       nmg_free((char *)right_t, "Right roots");
+       nmg_free((char *)right_n, "Right normals");
     }
 
     /* Send back total number of solutions */
@@ -403,7 +403,7 @@
     point2d_t pt;
 
     /* create a new head */
-    BU_ALLOC(new_head, struct bezier_2d_list);
+    NMG_ALLOC(new_head, struct bezier_2d_list);
 
     BU_LIST_INIT(&new_head->l);
     if (depth >= MAXDEPTH) {
@@ -417,13 +417,13 @@
     }
 
     /* allocate memory for left and right curves */
-    BU_ALLOC(bz_l, struct bezier_2d_list);
+    NMG_ALLOC(bz_l, struct bezier_2d_list);
     BU_LIST_INIT(&bz_l->l);
-    BU_ALLOC(bz_r, struct bezier_2d_list);
+    NMG_ALLOC(bz_r, struct bezier_2d_list);
     BU_LIST_INIT(&bz_r->l);
-    bz_l->ctl = (point2d_t *)bu_calloc(degree + 1, sizeof(point2d_t),
+    bz_l->ctl = (point2d_t *)nmg_calloc(degree + 1, sizeof(point2d_t),
                                       "bezier_subdivide: bz_l->ctl");
-    bz_r->ctl = (point2d_t *)bu_calloc(degree + 1, sizeof(point2d_t),
+    bz_r->ctl = (point2d_t *)nmg_calloc(degree + 1, sizeof(point2d_t),
                                       "bezier_subdivide: bz_r->ctl");
 
     /* subdivide at t = 0.5 */
@@ -431,8 +431,8 @@
 
     /* eliminate original */
     BU_LIST_DEQUEUE(&bezier_in->l);
-    bu_free((char *)bezier_in->ctl, "bezier_subdivide: bezier_in->ctl");
-    bu_free((char *)bezier_in, "bezier_subdivide: bezier_in");
+    nmg_free((char *)bezier_in->ctl, "bezier_subdivide: bezier_in->ctl");
+    nmg_free((char *)bezier_in, "bezier_subdivide: bezier_in");
 
     /* recurse on left curve */
     left_rtrn = bezier_subdivide(bz_l, degree, epsilon, depth+1);
@@ -442,8 +442,8 @@
 
     BU_LIST_APPEND_LIST(&new_head->l, &left_rtrn->l);
     BU_LIST_APPEND_LIST(&new_head->l, &rt_rtrn->l);
-    bu_free((char *)left_rtrn, "bezier_subdivide: left_rtrn (head)");
-    bu_free((char *)rt_rtrn, "bezier_subdivide: rt_rtrn (head)");
+    nmg_free((char *)left_rtrn, "bezier_subdivide: left_rtrn (head)");
+    nmg_free((char *)rt_rtrn, "bezier_subdivide: rt_rtrn (head)");
 
     return new_head;
 }

Modified: brlcad/trunk/src/libnmg/nurb_eval.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_eval.c 2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/nurb_eval.c 2018-08-31 20:05:31 UTC (rev 71637)
@@ -65,7 +65,7 @@
      */
 
     diff_curve = (fastf_t *)
-       bu_malloc(row_size * sizeof(fastf_t) * coords,
+       nmg_malloc(row_size * sizeof(fastf_t) * coords,
                  "rt_nurb_s__eval: diff_curve");
 
     c_ptr = diff_curve;
@@ -78,7 +78,7 @@
        bu_bomb("nmg_nurb_s_eval: u value outside parameter range\n");
     }
 
-    curves = (fastf_t *) bu_malloc(col_size * sizeof(fastf_t) * coords,
+    curves = (fastf_t *) nmg_malloc(col_size * sizeof(fastf_t) * coords,
                                   "nmg_nurb_s_eval:crv_ptr");
 
     for (i = 0; i < row_size; i++) {
@@ -99,7 +99,7 @@
        c_ptr += coords;
     }
 
-    bu_free((char *)curves, "nmg_nurb_s_eval: curves");
+    nmg_free((char *)curves, "nmg_nurb_s_eval: curves");
 
     k_index = nmg_nurb_knot_index(&srf->v, v, srf->order[RT_NURB_SPLIT_COL]);
     if (k_index < 0) {
@@ -115,7 +115,7 @@
     for (k = 0; k < coords; k++)
        final_value[k] = ev_pt[k];
 
-    bu_free ((char *)diff_curve, "nmg_nurb_s_eval: diff curve");
+    nmg_free ((char *)diff_curve, "nmg_nurb_s_eval: diff curve");
 }
 
 
@@ -139,7 +139,7 @@
        bu_bomb("nmg_nurb_c_eval: param value outside parameter range\n");
     }
 
-    pnts = (fastf_t *) bu_malloc(coords * sizeof(fastf_t) *
+    pnts = (fastf_t *) nmg_malloc(coords * sizeof(fastf_t) *
                                 crv->c_size, "diff: nmg_nurb_c_eval");
 
     for (i = 0; i < coords * crv->c_size; i++)
@@ -151,7 +151,7 @@
     for (i = 0; i < coords; i++)
        final_value[i] = ev_pt[i];
 
-    bu_free((char *) pnts, "nmg_nurb_c_eval");
+    nmg_free((char *) pnts, "nmg_nurb_c_eval");
 }
 
 

Modified: brlcad/trunk/src/libnmg/nurb_flat.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_flat.c 2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/nurb_flat.c 2018-08-31 20:05:31 UTC (rev 71637)
@@ -66,7 +66,7 @@
 
     max_row_dist = max_col_dist = -INFINITY;
 
-    crv = (fastf_t *) bu_malloc(sizeof(fastf_t) *
+    crv = (fastf_t *) nmg_malloc(sizeof(fastf_t) *
                                RT_NURB_EXTRACT_COORDS(srf->pt_type) * 
srf->s_size[1],
                                "nmg_nurb_s_flat: crv");
 
@@ -89,9 +89,9 @@
        max_row_dist = FMAX(max_row_dist, rdist);
     }
 
-    bu_free((char *)crv, "nmg_nurb_s_flat: crv");
+    nmg_free((char *)crv, "nmg_nurb_s_flat: crv");
 
-    crv = (fastf_t *) bu_malloc(sizeof(fastf_t) *
+    crv = (fastf_t *) nmg_malloc(sizeof(fastf_t) *
                                RT_NURB_EXTRACT_COORDS(srf->pt_type) *
                                srf->s_size[0],         "nmg_nurb_s_flat: crv");
 
@@ -113,7 +113,7 @@
        max_col_dist = FMAX(max_col_dist, rdist);
     }
 
-    bu_free((char *)crv, "nmg_nurb_s_flat: crv");
+    nmg_free((char *)crv, "nmg_nurb_s_flat: crv");
 
     max_dist = FMAX(max_row_dist, max_col_dist);
 

Modified: brlcad/trunk/src/libnmg/nurb_interp.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_interp.c       2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_interp.c       2018-08-31 20:05:31 UTC (rev 
71637)
@@ -84,13 +84,13 @@
 
     /* Create Data memory and fill in curve structs */
 
-    interp_mat = (fastf_t *) bu_malloc(n * n * sizeof(fastf_t),
+    interp_mat = (fastf_t *) nmg_malloc(n * n * sizeof(fastf_t),
                                       "rt_nurb_interp: interp_mat");
 
-    nodes = (fastf_t *) bu_malloc(n * sizeof(fastf_t), "rt_nurb_interp:nodes");
-    local_data = (fastf_t *)bu_malloc(n * 3 * sizeof(fastf_t), 
"rt_nurb_interp() local_data[]");
+    nodes = (fastf_t *) nmg_malloc(n * sizeof(fastf_t), 
"rt_nurb_interp:nodes");
+    local_data = (fastf_t *)nmg_malloc(n * 3 * sizeof(fastf_t), 
"rt_nurb_interp() local_data[]");
 
-    crv->ctl_points = (fastf_t *) bu_malloc(n * 3 * sizeof(fastf_t),
+    crv->ctl_points = (fastf_t *) nmg_malloc(n * 3 * sizeof(fastf_t),
                                            "solution");
 
     crv->order = order;
@@ -124,9 +124,9 @@
 
     /* Free up node and interp_mat storage */
 
-    bu_free((char *) interp_mat, "nmg_nurb_cinterp: interp_mat");
-    bu_free((char *) nodes, "nmg_nurb_cinterp: nodes");
-    bu_free((char *) local_data, "nmg_nurb_cinterp() local_data[]");
+    nmg_free((char *) interp_mat, "nmg_nurb_cinterp: interp_mat");
+    nmg_free((char *) nodes, "nmg_nurb_cinterp: nodes");
+    nmg_free((char *) local_data, "nmg_nurb_cinterp() local_data[]");
 
     /* All done, The resulting crv now interpolates the data */
 }
@@ -176,7 +176,7 @@
     nmg_nurb_kvknot(&srf->u, order, 0.0, 1.0, ymax - order);
     nmg_nurb_kvknot(&srf->v, order, 0.0, 1.0, xmax - order);
 
-    srf->ctl_points = (fastf_t *) bu_malloc(
+    srf->ctl_points = (fastf_t *) nmg_malloc(
        sizeof(fastf_t) * xmax * ymax * 3,
        "nmg_nurb_sinterp() surface ctl_points[]");
     cpt = &srf->ctl_points[0];
@@ -184,7 +184,7 @@
 /* _col is X, _row is Y */
 #define NVAL(_col, _row) data[((_row)*xmax+(_col))*3]
 
-    crv = (struct edge_g_cnurb *)bu_calloc(sizeof(struct edge_g_cnurb), ymax,
+    crv = (struct edge_g_cnurb *)nmg_calloc(sizeof(struct edge_g_cnurb), ymax,
                                           "nmg_nurb_sinterp() crv[]");
 
     /* Interpolate the data across the rows, fitting a curve to each. */
@@ -195,7 +195,7 @@
     }
 #undef NVAL
 
-    tmp = (fastf_t *)bu_malloc(sizeof(fastf_t)*3 * ymax,
+    tmp = (fastf_t *)nmg_malloc(sizeof(fastf_t)*3 * ymax,
                               "nmg_nurb_sinterp() tmp[]");
     for (x = 0; x < xmax; x++) {
        struct edge_g_cnurb ncrv;
@@ -218,8 +218,8 @@
     for (y = 0; y < ymax; y++) {
        nmg_nurb_clean_cnurb(&crv[y]);
     }
-    bu_free((char *)crv, "crv[]");
-    bu_free((char *)tmp, "tmp[]");
+    nmg_free((char *)crv, "crv[]");
+    nmg_free((char *)tmp, "tmp[]");
 }
 
 

Modified: brlcad/trunk/src/libnmg/nurb_knot.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_knot.c 2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/nurb_knot.c 2018-08-31 20:05:31 UTC (rev 71637)
@@ -55,7 +55,7 @@
 
     new_knots->k_size = total;
 
-    new_knots->knots = (fastf_t *) bu_malloc (sizeof(fastf_t) * total,
+    new_knots->knots = (fastf_t *) nmg_malloc (sizeof(fastf_t) * total,
                                              "nmg_nurb_kvknot: new knots 
values");
 
     for (i = 0; i < order; i++)
@@ -93,7 +93,7 @@
        bu_bomb("nmg_nurb_kvmult\n");
     }
 
-    check.knots = (fastf_t *) bu_malloc(sizeof(fastf_t) * check.k_size,
+    check.knots = (fastf_t *) nmg_malloc(sizeof(fastf_t) * check.k_size,
                                        "nmg_nurb_kvmult: check knots");
 
     for (i = 0; i < num - n; i++)
@@ -102,7 +102,7 @@
     nmg_nurb_kvmerge(new_kv, &check, kv);
 
     /* free up old knot values */
-    bu_free((char *)check.knots, "nmg_nurb_kvmult:check knots");
+    nmg_free((char *)check.knots, "nmg_nurb_kvmult:check knots");
 }
 
 
@@ -122,7 +122,7 @@
 
     kv->k_size = num;
 
-    kv->knots = (fastf_t *) bu_malloc (sizeof(fastf_t) * num,
+    kv->knots = (fastf_t *) nmg_malloc (sizeof(fastf_t) * num,
                                       "nmg_nurb_kvgen: kv knots");
 
     for (i = 1; i <= num; i++)
@@ -145,7 +145,7 @@
 
     new_knots->k_size = kv1->k_size + kv2->k_size;
 
-    new_knots->knots = (fastf_t *) bu_malloc(
+    new_knots->knots = (fastf_t *) nmg_malloc(
        sizeof (fastf_t) * new_knots->k_size,
        "nmg_nurb_kvmerge: new knot values");
 
@@ -195,7 +195,7 @@
     register int i;
     register fastf_t *ptr;
 
-    new_kv->knots = (fastf_t *) bu_malloc (
+    new_kv->knots = (fastf_t *) nmg_malloc (
        sizeof (fastf_t) * (upper - lower),
        "spl_kvextract: nkw kv values");
 
@@ -219,7 +219,7 @@
 
     new_kv->k_size = old_kv->k_size;
 
-    new_kv->knots = (fastf_t *) bu_malloc(sizeof(fastf_t) *
+    new_kv->knots = (fastf_t *) nmg_malloc(sizeof(fastf_t) *
                                          new_kv->k_size, "spl_kvcopy: new knot 
values");
 
     for (i = 0; i < new_kv->k_size; i++)
@@ -311,7 +311,7 @@
 
     new_knots->k_size = total;
 
-    new_knots->knots = (fastf_t *) bu_malloc (sizeof(fastf_t) * total,
+    new_knots->knots = (fastf_t *) nmg_malloc (sizeof(fastf_t) * total,
                                              "nmg_nurb_gen_knot_vector: new 
knots values");
 
     for (i = 0; i < order; i++)

Modified: brlcad/trunk/src/libnmg/nurb_oslo_calc.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_oslo_calc.c    2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_oslo_calc.c    2018-08-31 20:05:31 UTC (rev 
71637)
@@ -79,7 +79,7 @@
 
     mu = 0;                            /* initialize mu */
 
-    head = (struct oslo_mat *) bu_malloc (
+    head = (struct oslo_mat *) nmg_malloc (
        sizeof(struct oslo_mat),
        "nmg_nurb_calc_oslo: oslo mat head");
 
@@ -89,7 +89,7 @@
        register int i;
 
        if (j != 0) {
-           new_o = (struct oslo_mat *) bu_malloc (
+           new_o = (struct oslo_mat *) nmg_malloc (
                sizeof(struct oslo_mat),
                "nmg_nurb_calc_oslo: oslo mat struct");
 
@@ -167,7 +167,7 @@
            }
        }
 
-       o_ptr->o_vec = (fastf_t *) bu_malloc (sizeof(fastf_t) * (v+1),
+       o_ptr->o_vec = (fastf_t *) nmg_malloc (sizeof(fastf_t) * (v+1),
                                              "nmg_nurb_calc_oslo: oslo 
vector");
 
        o_ptr->offset = AMAX(muprim -v, 0);
@@ -216,8 +216,8 @@
     while (om != (struct oslo_mat *) 0) {
        omp = om;
        om = om->next;
-       bu_free((char *)omp->o_vec, "nmg_nurb_free_oslo: ovec");
-       bu_free((char *)omp, "nmg_nurb_free_oslo: struct oslo");
+       nmg_free((char *)omp->o_vec, "nmg_nurb_free_oslo: ovec");
+       nmg_free((char *)omp, "nmg_nurb_free_oslo: struct oslo");
     }
 }
 

Modified: brlcad/trunk/src/libnmg/nurb_poly.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_poly.c 2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/nurb_poly.c 2018-08-31 20:05:31 UTC (rev 71637)
@@ -106,7 +106,7 @@
 {
     struct nmg_nurb_poly *p;
 
-    BU_ALLOC(p, struct nmg_nurb_poly);
+    NMG_ALLOC(p, struct nmg_nurb_poly);
     p->next = (struct nmg_nurb_poly *) 0;
 
     VMOVE(p->ply[0], v1);

Modified: brlcad/trunk/src/libnmg/nurb_ray.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_ray.c  2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/nurb_ray.c  2018-08-31 20:05:31 UTC (rev 71637)
@@ -288,7 +288,7 @@
 
     fastf_t *knot_vec = NULL;
     size_t maxorder = FMAX(srf->order[0], srf->order[1]);
-    knot_vec = (fastf_t *)bu_calloc(maxorder * 2, sizeof(fastf_t), "knot 
vector");
+    knot_vec = (fastf_t *)nmg_calloc(maxorder * 2, sizeof(fastf_t), "knot 
vector");
 
     /* Build the new knot vector in a local array, which gets copied
      * later in nmg_nurb_s_refine(). */
@@ -311,7 +311,7 @@
     }
 
     region = nmg_nurb_s_refine(srf, dir, &new_knots);
-    bu_free(knot_vec, "knot vector");
+    nmg_free(knot_vec, "knot vector");
 
     return region;
 }
@@ -465,7 +465,7 @@
                           MAGNITUDE(diff), V3ARGS(p1), V3ARGS(p2));
                }
 
-               hit = (struct nmg_nurb_uv_hit *) bu_malloc(
+               hit = (struct nmg_nurb_uv_hit *) nmg_malloc(
                    sizeof(struct nmg_nurb_uv_hit),  "hit");
 
                hit->next = (struct nmg_nurb_uv_hit *)0;

Modified: brlcad/trunk/src/libnmg/nurb_refine.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_refine.c       2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_refine.c       2018-08-31 20:05:31 UTC (rev 
71637)
@@ -66,7 +66,7 @@
        nurb_srf->s_size[1] = kv->k_size - srf->order[0];
        nurb_srf->pt_type = srf->pt_type;
        nurb_srf->ctl_points = (fastf_t *)
-           bu_malloc(sizeof (fastf_t) *
+           nmg_malloc(sizeof (fastf_t) *
                      nurb_srf->s_size[0] *
                      nurb_srf->s_size[1] *
                      RT_NURB_EXTRACT_COORDS(nurb_srf->pt_type),
@@ -108,7 +108,7 @@
 
        nurb_srf->pt_type = srf->pt_type;
        nurb_srf->ctl_points = (fastf_t *)
-           bu_malloc(sizeof (fastf_t) *
+           nmg_malloc(sizeof (fastf_t) *
                      nurb_srf->s_size[0] *
                      nurb_srf->s_size[1] *
                      RT_NURB_EXTRACT_COORDS(nurb_srf->pt_type),

Modified: brlcad/trunk/src/libnmg/nurb_reverse.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_reverse.c      2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_reverse.c      2018-08-31 20:05:31 UTC (rev 
71637)
@@ -52,7 +52,7 @@
     row = srf->s_size[0];
     col = srf->s_size[1];
 
-    tmp = (fastf_t *) bu_malloc(sizeof(fastf_t) * coords *
+    tmp = (fastf_t *) nmg_malloc(sizeof(fastf_t) * coords *
                                row * col, "nurb_reverse:temp");
 
     ptr2 = tmp;
@@ -77,7 +77,7 @@
     srf->u.knots = srf->v.knots;
     srf->v.knots = p_ptr;
 
-    bu_free((char *) tmp, "temporary storage for transpose");
+    nmg_free((char *) tmp, "temporary storage for transpose");
 }
 
 

Modified: brlcad/trunk/src/libnmg/nurb_solve.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_solve.c        2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_solve.c        2018-08-31 20:05:31 UTC (rev 
71637)
@@ -66,13 +66,13 @@
     fastf_t * b;
     fastf_t * s;
 
-    y = (fastf_t *) bu_malloc(sizeof (fastf_t) * dim,
+    y = (fastf_t *) nmg_malloc(sizeof (fastf_t) * dim,
                              "nmg_nurb_solve: y");/* Create temp array */
 
-    b = (fastf_t *) bu_malloc(sizeof (fastf_t) * dim,
+    b = (fastf_t *) nmg_malloc(sizeof (fastf_t) * dim,
                              "nmg_nurb_solve: b");/* Create temp array */
 
-    s = (fastf_t *) bu_malloc(sizeof (fastf_t) * dim,
+    s = (fastf_t *) nmg_malloc(sizeof (fastf_t) * dim,
                              "nmg_nurb_solve: s");/* Create temp array */
 
     nmg_nurb_doolittle (mat_1, mat_2, dim, coords);/* Create LU decomposition 
*/
@@ -101,9 +101,9 @@
        }
     }
 
-    bu_free ((char *)y, "nmg_nurb_solve: y");                  /* Free up 
storage */
-    bu_free ((char *)b, "nmg_nurb_solve: b");                  /* Free up 
storage */
-    bu_free ((char *)s, "nmg_nurb_solve: s");                  /* Free up 
storage */
+    nmg_free ((char *)y, "nmg_nurb_solve: y");                 /* Free up 
storage */
+    nmg_free ((char *)b, "nmg_nurb_solve: b");                 /* Free up 
storage */
+    nmg_free ((char *)s, "nmg_nurb_solve: s");                 /* Free up 
storage */
 }
 
 
@@ -127,11 +127,11 @@
 
     int max_pivot;
 
-    d = (fastf_t *) bu_malloc(sizeof (fastf_t) * row,
+    d = (fastf_t *) nmg_malloc(sizeof (fastf_t) * row,
                              "nmg_nurb_doolittle:d");  /* scale factor */
-    s = (fastf_t *) bu_malloc(sizeof (fastf_t) * row * row,
+    s = (fastf_t *) nmg_malloc(sizeof (fastf_t) * row * row,
                              "nmg_nurb_doolittle:s");  /* vector to check */
-    ds = (fastf_t *) bu_malloc(sizeof (fastf_t) * row,
+    ds = (fastf_t *) nmg_malloc(sizeof (fastf_t) * row,
                               "nmg_nurb_doolittle:ds");        /* if rows need 
to be swapped */
 
     for (i = 0; i < row; i++) {
@@ -195,9 +195,9 @@
        }
 
     }
-    bu_free((char *)d, "nmg_nurb_doolittle:d");                /* Free up the 
storage. */
-    bu_free((char *)s, "nmg_nurb_doolittle:s");
-    bu_free((char *)ds, "nmg_nurb_doolittle:ds");
+    nmg_free((char *)d, "nmg_nurb_doolittle:d");               /* Free up the 
storage. */
+    nmg_free((char *)s, "nmg_nurb_doolittle:s");
+    nmg_free((char *)ds, "nmg_nurb_doolittle:ds");
 }
 
 

Modified: brlcad/trunk/src/libnmg/nurb_split.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_split.c        2018-08-31 17:04:38 UTC (rev 
71636)
+++ brlcad/trunk/src/libnmg/nurb_split.c        2018-08-31 20:05:31 UTC (rev 
71637)
@@ -96,7 +96,7 @@
            srf1->order[0];
 
        srf1->ctl_points = (fastf_t *)
-           bu_malloc(sizeof(fastf_t) * srf1->s_size[0] *
+           nmg_malloc(sizeof(fastf_t) * srf1->s_size[0] *
                      srf1->s_size[1] *
                      RT_NURB_EXTRACT_COORDS(srf1->pt_type),
                      "nmg_nurb_s_split: srf1 row mesh control points");
@@ -115,7 +115,7 @@
            srf2->order[0];
 
        srf2->ctl_points = (fastf_t *)
-           bu_malloc(sizeof(fastf_t) * srf2->s_size[0] *
+           nmg_malloc(sizeof(fastf_t) * srf2->s_size[0] *
                      srf2->s_size[1] *
                      RT_NURB_EXTRACT_COORDS(srf2->pt_type),
                      "nmg_nurb_s_split: srf2 row mesh control points");
@@ -177,7 +177,7 @@
            srf1->order[0];
 
        srf1->ctl_points = (fastf_t *)
-           bu_malloc(sizeof(fastf_t) * srf1->s_size[0] *
+           nmg_malloc(sizeof(fastf_t) * srf1->s_size[0] *
                      srf1->s_size[1] *
                      RT_NURB_EXTRACT_COORDS(srf1->pt_type),
                      "nmg_nurb_s_split: srf1 col mesh control points");
@@ -196,7 +196,7 @@
            srf2->order[0];
 
        srf2->ctl_points = (fastf_t *)
-           bu_malloc(sizeof(fastf_t) * srf2->s_size[0] *
+           nmg_malloc(sizeof(fastf_t) * srf2->s_size[0] *
                      srf2->s_size[1] *
                      RT_NURB_EXTRACT_COORDS(srf2->pt_type),
                      "nmg_nurb_s_split: srf2 col mesh control points");
@@ -232,7 +232,7 @@
     BU_LIST_APPEND(split_hd, &srf1->l);
 
     nmg_nurb_free_oslo(oslo);
-    bu_free((char *)new_kv.knots, "nmg_nurb_s_split: new kv knots");
+    nmg_free((char *)new_kv.knots, "nmg_nurb_s_split: new kv knots");
 
 }
 
@@ -292,7 +292,7 @@
     crv1->pt_type = crv->pt_type;
     crv1->c_size = crv1->k.k_size - crv1->order;
     crv1->ctl_points = (fastf_t *)
-       bu_malloc(sizeof(fastf_t) * crv1->c_size *
+       nmg_malloc(sizeof(fastf_t) * crv1->c_size *
                  RT_NURB_EXTRACT_COORDS(crv1->pt_type),
                  "nmg_nurb_c_split: crv1 control points");
 
@@ -302,7 +302,7 @@
     crv2->pt_type = crv->pt_type;
     crv2->c_size = crv2->k.k_size - crv2->order;
     crv2->ctl_points = (fastf_t *)
-       bu_malloc(sizeof(fastf_t) * crv2->c_size *
+       nmg_malloc(sizeof(fastf_t) * crv2->c_size *
                  RT_NURB_EXTRACT_COORDS(crv2->pt_type),
                  "nmg_nurb_s_split: crv2 mesh control points");
 
@@ -315,7 +315,7 @@
 
     nmg_nurb_free_oslo(oslo);
 
-    bu_free((char *) new_kv.knots, "nmg_nurb_c_split; new_kv.knots");
+    nmg_free((char *) new_kv.knots, "nmg_nurb_c_split; new_kv.knots");
 
     /* Arrangement will be:  head, crv1, crv2 */
     BU_LIST_APPEND(split_hd, &crv2->l);

Modified: brlcad/trunk/src/libnmg/nurb_util.c
===================================================================
--- brlcad/trunk/src/libnmg/nurb_util.c 2018-08-31 17:04:38 UTC (rev 71636)
+++ brlcad/trunk/src/libnmg/nurb_util.c 2018-08-31 20:05:31 UTC (rev 71637)
@@ -56,11 +56,11 @@
 
     pnum = sizeof (fastf_t) * n_rows * n_cols * 
RT_NURB_EXTRACT_COORDS(pt_type);
 
-    srf->u.knots = (fastf_t *) bu_malloc (
+    srf->u.knots = (fastf_t *) nmg_malloc (
        n_u * sizeof (fastf_t), "nmg_nurb_new_snurb: u kv knot values");
-    srf->v.knots = (fastf_t *) bu_malloc (
+    srf->v.knots = (fastf_t *) nmg_malloc (
        n_v * sizeof (fastf_t), "nmg_nurb_new_snurb: v kv knot values");
-    srf->ctl_points = (fastf_t *) bu_malloc(
+    srf->ctl_points = (fastf_t *) nmg_malloc(
        pnum, "nmg_nurb_new_snurb: control mesh points");
 
     return srf;
@@ -80,7 +80,7 @@
 
     crv->k.k_size = n_knots;
     crv->k.knots = (fastf_t *)
-       bu_malloc(n_knots * sizeof(fastf_t),
+       nmg_malloc(n_knots * sizeof(fastf_t),
                  "nmg_nurb_new_cnurb: knot values");
 
     crv->c_size = n_pts;
@@ -87,7 +87,7 @@
     crv->pt_type = pt_type;
 
     crv->ctl_points = (fastf_t *)
-       bu_malloc(sizeof(fastf_t) * RT_NURB_EXTRACT_COORDS(pt_type) *
+       nmg_malloc(sizeof(fastf_t) * RT_NURB_EXTRACT_COORDS(pt_type) *
                  n_pts,
                  "nmg_nurb_new_cnurb: mesh point values");
 
@@ -105,9 +105,9 @@
 {
     NMG_CK_SNURB(srf);
 
-    bu_free((char *)srf->u.knots, "rt_nurb_clean_snurb() u.knots");
-    bu_free((char *)srf->v.knots, "nmg_nurb_free_snurb() v.knots");
-    bu_free((char *)srf->ctl_points, "nmg_nurb_free_snurb() ctl_points");
+    nmg_free((char *)srf->u.knots, "rt_nurb_clean_snurb() u.knots");
+    nmg_free((char *)srf->v.knots, "nmg_nurb_free_snurb() v.knots");
+    nmg_free((char *)srf->ctl_points, "nmg_nurb_free_snurb() ctl_points");
 
     /* Invalidate the structure */
     srf->u.knots = (fastf_t *)NULL;
@@ -127,12 +127,12 @@
      * deleted.
      */
 
-    bu_free((char *)srf->u.knots, "nmg_nurb_free_snurb: u kv knots");
-    bu_free((char *)srf->v.knots, "nmg_nurb_free_snurb: v kv knots");
-    bu_free((char *)srf->ctl_points, "nmg_nurb_free_snurb: mesh points");
+    nmg_free((char *)srf->u.knots, "nmg_nurb_free_snurb: u kv knots");
+    nmg_free((char *)srf->v.knots, "nmg_nurb_free_snurb: v kv knots");
+    nmg_free((char *)srf->ctl_points, "nmg_nurb_free_snurb: mesh points");
 
     srf->l.magic = 0;
-    bu_free((char *)srf, "nmg_nurb_free_snurb: snurb struct");
+    nmg_free((char *)srf, "nmg_nurb_free_snurb: snurb struct");
 }
 
 
@@ -145,8 +145,8 @@
 nmg_nurb_clean_cnurb(struct edge_g_cnurb *crv)
 {
     NMG_CK_CNURB(crv);
-    bu_free((char*)crv->k.knots, "nmg_nurb_free_cnurb: knots");
-    bu_free((char*)crv->ctl_points, "nmg_nurb_free_cnurb: control points");
+    nmg_free((char*)crv->k.knots, "nmg_nurb_free_cnurb: knots");
+    nmg_free((char*)crv->ctl_points, "nmg_nurb_free_cnurb: control points");
     /* Invalidate the structure */
     crv->k.knots = (fastf_t *)NULL;
     crv->ctl_points = (fastf_t *)NULL;
@@ -163,10 +163,10 @@
 nmg_nurb_free_cnurb(struct edge_g_cnurb *crv)
 {
     NMG_CK_CNURB(crv);
-    bu_free((char*)crv->k.knots, "nmg_nurb_free_cnurb: knots");

@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to