Revision: 73157
          http://sourceforge.net/p/brlcad/code/73157
Author:   starseeker
Date:     2019-05-23 13:40:12 +0000 (Thu, 23 May 2019)
Log Message:
-----------
Expose the ability to shrink the surfaces of a brep (primarily for debug 
plotting)

Modified Paths:
--------------
    brlcad/trunk/src/libged/brep.c
    brlcad/trunk/src/libged/ged_private.h
    brlcad/trunk/src/libged/shape_recognition.cpp

Modified: brlcad/trunk/src/libged/brep.c
===================================================================
--- brlcad/trunk/src/libged/brep.c      2019-05-23 13:34:58 UTC (rev 73156)
+++ brlcad/trunk/src/libged/brep.c      2019-05-23 13:40:12 UTC (rev 73157)
@@ -367,6 +367,10 @@
        return _ged_brep_flip(gedp, bi, solid_name);
     }
 
+    if (BU_STR_EQUAL(argv[2], "shrink-surfaces")) {
+       return _ged_brep_shrink_surfaces(gedp, bi, solid_name);
+    }
+
     if (BU_STR_EQUAL(argv[2], "tikz")) {
        if (argc == 4) {
            return _ged_brep_tikz(gedp, argv[1], argv[3]);

Modified: brlcad/trunk/src/libged/ged_private.h
===================================================================
--- brlcad/trunk/src/libged/ged_private.h       2019-05-23 13:34:58 UTC (rev 
73156)
+++ brlcad/trunk/src/libged/ged_private.h       2019-05-23 13:40:12 UTC (rev 
73157)
@@ -538,6 +538,7 @@
 extern int _ged_brep_to_csg(struct ged *gedp, const char *obj_name, int 
verify);
 extern int _ged_brep_tikz(struct ged *gedp, const char *obj_name, const char 
*outfile);
 extern int _ged_brep_flip(struct ged *gedp, struct rt_brep_internal *bi, const 
char *obj_name);
+extern int _ged_brep_shrink_surfaces(struct ged *gedp, struct rt_brep_internal 
*bi, const char *obj_name);
 extern int _ged_brep_to_bot(struct ged *gedp, const struct rt_brep_internal 
*bi, const char *obj_name, const struct rt_tess_tol *ttol, const struct bn_tol 
*tol);
 
 

Modified: brlcad/trunk/src/libged/shape_recognition.cpp
===================================================================
--- brlcad/trunk/src/libged/shape_recognition.cpp       2019-05-23 13:34:58 UTC 
(rev 73156)
+++ brlcad/trunk/src/libged/shape_recognition.cpp       2019-05-23 13:40:12 UTC 
(rev 73157)
@@ -948,7 +948,27 @@
     return GED_OK;
 }
 
+// TODO - this doesn't belong here, just convenient for now since we need to 
crack the ON_Brep for this
+extern "C" int
+_ged_brep_shrink_surfaces(struct ged *gedp, struct rt_brep_internal *bi, const 
char *obj_name)
+{
+    const char *av[3];
+    if (!gedp || !bi || !obj_name) return GED_ERROR;
+    bi->brep->ShrinkSurfaces();
 
+    // Delete the old object
+    av[0] = "kill";
+    av[1] = obj_name;
+    av[2] = NULL;
+    (void)ged_kill(gedp, 2, (const char **)av);
+
+    // Make the new one
+    if (mk_brep(gedp->ged_wdbp, obj_name, (void *)bi->brep)) {
+       return GED_ERROR;
+    }
+    return GED_OK;
+}
+
 // TODO - this doesn't belong here, just convenient for now since we need to 
crack the ON_Brep for this
 extern "C" int
 _ged_brep_to_bot(struct ged *gedp, const struct rt_brep_internal *bi, const 
char *bot_name, const struct rt_tess_tol *ttol, const struct bn_tol *tol)

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



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to