Revision: 68967
          http://sourceforge.net/p/brlcad/code/68967
Author:   starseeker
Date:     2016-10-02 20:15:26 +0000 (Sun, 02 Oct 2016)
Log Message:
-----------
nmg_stash_model_to_file absolutely depends on librt functionality for writing 
out a .g file - move to nmg.c, since it's not a candidate in this form for a 
libnmg refactor.

Modified Paths:
--------------
    brlcad/trunk/src/librt/primitives/nmg/nmg.c
    brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c

Modified: brlcad/trunk/src/librt/primitives/nmg/nmg.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg.c 2016-10-02 20:13:09 UTC (rev 
68966)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg.c 2016-10-02 20:15:26 UTC (rev 
68967)
@@ -3237,7 +3237,68 @@
     }
 }
 
+/**
+ * Store an NMG model as a separate .g file, for later examination.
+ * Don't free the model, as the caller may still have uses for it.
+ *
+ * NON-PARALLEL because of rt_uniresource.
+ */
+void
+nmg_stash_model_to_file(const char *filename, const struct model *m, const 
char *title)
+{
+    struct rt_wdb *fp;
+    struct rt_db_internal intern;
+    struct bu_external ext;
+    int ret;
+    int flags;
+    char *name="error.s";
 
+    bu_log("nmg_stash_model_to_file('%s', %p, %s)\n", filename, (void *)m, 
title);
+
+    NMG_CK_MODEL(m);
+    nmg_vmodel(m);
+
+    if ((fp = wdb_fopen(filename)) == NULL) {
+       perror(filename);
+       return;
+    }
+
+    RT_DB_INTERNAL_INIT(&intern);
+    intern.idb_major_type = DB5_MAJORTYPE_BRLCAD;
+    intern.idb_type = ID_NMG;
+    intern.idb_meth = &OBJ[ID_NMG];
+    intern.idb_ptr = (void *)m;
+
+    if (db_version(fp->dbip) < 5) {
+       BU_EXTERNAL_INIT(&ext);
+       ret = intern.idb_meth->ft_export4(&ext, &intern, 1.0, fp->dbip, 
&rt_uniresource);
+       if (ret < 0) {
+           bu_log("rt_db_put_internal(%s):  solid export failure\n",
+                  name);
+           ret = -1;
+           goto out;
+       }
+       db_wrap_v4_external(&ext, name);
+    } else {
+       if (rt_db_cvt_to_external5(&ext, name, &intern, 1.0, fp->dbip, 
&rt_uniresource, intern.idb_major_type) < 0) {
+           bu_log("wdb_export4(%s): solid export failure\n",
+                  name);
+           ret = -2;
+           goto out;
+       }
+    }
+    BU_CK_EXTERNAL(&ext);
+
+    flags = db_flags_internal(&intern);
+    ret = wdb_export_external(fp, &ext, name, flags, intern.idb_type);
+out:
+    bu_free_external(&ext);
+    wdb_close(fp);
+
+    bu_log("nmg_stash_model_to_file(): wrote error.s to '%s'\n",
+          filename);
+}
+
 /*
  * Local Variables:
  * mode: C

Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c    2016-10-02 20:13:09 UTC 
(rev 68966)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c    2016-10-02 20:15:26 UTC 
(rev 68967)
@@ -4500,69 +4500,6 @@
 }
 
 
-/**
- * Store an NMG model as a separate .g file, for later examination.
- * Don't free the model, as the caller may still have uses for it.
- *
- * NON-PARALLEL because of rt_uniresource.
- */
-void
-nmg_stash_model_to_file(const char *filename, const struct model *m, const 
char *title)
-{
-    struct rt_wdb *fp;
-    struct rt_db_internal intern;
-    struct bu_external ext;
-    int ret;
-    int flags;
-    char *name="error.s";
-
-    bu_log("nmg_stash_model_to_file('%s', %p, %s)\n", filename, (void *)m, 
title);
-
-    NMG_CK_MODEL(m);
-    nmg_vmodel(m);
-
-    if ((fp = wdb_fopen(filename)) == NULL) {
-       perror(filename);
-       return;
-    }
-
-    RT_DB_INTERNAL_INIT(&intern);
-    intern.idb_major_type = DB5_MAJORTYPE_BRLCAD;
-    intern.idb_type = ID_NMG;
-    intern.idb_meth = &OBJ[ID_NMG];
-    intern.idb_ptr = (void *)m;
-
-    if (db_version(fp->dbip) < 5) {
-       BU_EXTERNAL_INIT(&ext);
-       ret = intern.idb_meth->ft_export4(&ext, &intern, 1.0, fp->dbip, 
&rt_uniresource);
-       if (ret < 0) {
-           bu_log("rt_db_put_internal(%s):  solid export failure\n",
-                  name);
-           ret = -1;
-           goto out;
-       }
-       db_wrap_v4_external(&ext, name);
-    } else {
-       if (rt_db_cvt_to_external5(&ext, name, &intern, 1.0, fp->dbip, 
&rt_uniresource, intern.idb_major_type) < 0) {
-           bu_log("wdb_export4(%s): solid export failure\n",
-                  name);
-           ret = -2;
-           goto out;
-       }
-    }
-    BU_CK_EXTERNAL(&ext);
-
-    flags = db_flags_internal(&intern);
-    ret = wdb_export_external(fp, &ext, name, flags, intern.idb_type);
-out:
-    bu_free_external(&ext);
-    wdb_close(fp);
-
-    bu_log("nmg_stash_model_to_file(): wrote error.s to '%s'\n",
-          filename);
-}
-
-
 /* state for nmg_unbreak_edge */
 struct nmg_unbreak_state
 {

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to