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