Revision: 75706
http://sourceforge.net/p/brlcad/code/75706
Author: starseeker
Date: 2020-05-06 17:14:34 +0000 (Wed, 06 May 2020)
Log Message:
-----------
Shift openNURBS to building as a component of libbrep
Modified Paths:
--------------
brlcad/trunk/INSTALL
brlcad/trunk/configure
brlcad/trunk/doc/legal/embedded/OpenNURBS.txt
brlcad/trunk/include/brep/defines.h
brlcad/trunk/misc/attributes/CMakeLists.txt
brlcad/trunk/misc/external_build_testing/CMakeLists.txt
brlcad/trunk/misc/win32-msvc/Dll/CMakeLists.txt
brlcad/trunk/src/conv/iges/CMakeLists.txt
brlcad/trunk/src/conv/step/ap203e2-g/CMakeLists.txt
brlcad/trunk/src/conv/step/ap214-g/CMakeLists.txt
brlcad/trunk/src/conv/step/ap242-g/CMakeLists.txt
brlcad/trunk/src/conv/step/g-ap203e2/CMakeLists.txt
brlcad/trunk/src/conv/step/g-ap214/CMakeLists.txt
brlcad/trunk/src/conv/step/g-ap242/CMakeLists.txt
brlcad/trunk/src/conv/step/g-step/CMakeLists.txt
brlcad/trunk/src/conv/step/ifc-g/CMakeLists.txt
brlcad/trunk/src/conv/step/step-g/CMakeLists.txt
brlcad/trunk/src/conv/step/util/CMakeLists.txt
brlcad/trunk/src/external/Creo/CMakeLists.txt
brlcad/trunk/src/external/Cubit/CMakeLists.txt
brlcad/trunk/src/external/Unigraphics/CMakeLists.txt
brlcad/trunk/src/libbrep/CMakeLists.txt
brlcad/trunk/src/libbrep/openNURBS/opennurbs_array_defs.h
brlcad/trunk/src/libbrep/openNURBS/opennurbs_beam.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_beam.h
brlcad/trunk/src/libbrep/openNURBS/opennurbs_box.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_dll_resource.h
brlcad/trunk/src/libbrep/openNURBS/opennurbs_fsp.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_hsort_template.h
brlcad/trunk/src/libbrep/openNURBS/opennurbs_memory.c
brlcad/trunk/src/libbrep/openNURBS/opennurbs_mesh_ngon.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_polyedgecurve.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_qsort_template.h
brlcad/trunk/src/libbrep/openNURBS/opennurbs_sort.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_string.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_wstring.cpp
brlcad/trunk/src/libfb/CMakeLists.txt
brlcad/trunk/src/libgcv/plugins/rhino/CMakeLists.txt
brlcad/trunk/src/librt/CMakeLists.txt
brlcad/trunk/src/librt/primitives/dsp/dsp_brep.cpp
brlcad/trunk/src/librt/primitives/revolve/revolve_brep.cpp
brlcad/trunk/src/librt/primitives/sketch/sketch_brep.cpp
brlcad/trunk/src/libwdb/CMakeLists.txt
brlcad/trunk/src/other/CMakeLists.txt
brlcad/trunk/src/proc-db/CMakeLists.txt
brlcad/trunk/src/proc-db/naca/CMakeLists.txt
Added Paths:
-----------
brlcad/trunk/src/libbrep/openNURBS/
brlcad/trunk/src/libbrep/opennurbs_basic.cpp
brlcad/trunk/src/libbrep/opennurbs_brep_changesrf.cpp
brlcad/trunk/src/libbrep/opennurbs_brep_kinky.cpp
brlcad/trunk/src/libbrep/opennurbs_x.cpp
Removed Paths:
-------------
brlcad/trunk/src/libbrep/openNURBS/opennurbs_basic.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_brep_changesrf.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_brep_kinky.cpp
brlcad/trunk/src/libbrep/openNURBS/opennurbs_x.cpp
brlcad/trunk/src/other/openNURBS/
Modified: brlcad/trunk/INSTALL
===================================================================
--- brlcad/trunk/INSTALL 2020-05-06 13:00:38 UTC (rev 75705)
+++ brlcad/trunk/INSTALL 2020-05-06 17:14:34 UTC (rev 75706)
@@ -644,16 +644,6 @@
Aliases: ENABLE_TKTABLE
---- BRLCAD_OPENNURBS ---
-
-Option for enabling and disabling compilation of the openNURBS library
-provided with BRL-CAD's source code. Default is AUTO, responsive to
-the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
-version if BRLCAD_BUNDLED_LIBS is also AUTO.
-
-Aliases: ENABLE_OPENNURBS
-
-
--- BRLCAD_SPSR ---
Option for enabling and disabling compilation of the Screened Poisson
Modified: brlcad/trunk/configure
===================================================================
--- brlcad/trunk/configure 2020-05-06 13:00:38 UTC (rev 75705)
+++ brlcad/trunk/configure 2020-05-06 17:14:34 UTC (rev 75706)
@@ -162,10 +162,6 @@
shift;;
--disable-tktable) options="$options
-DBRLCAD_TKTABLE=SYSTEM";
shift;;
- --enable-opennurbs) options="$options
-DBRLCAD_OPENNURBS=BUNDLED";
- shift;;
- --disable-opennurbs) options="$options
-DBRLCAD_OPENNURBS=SYSTEM";
- shift;;
--enable-spsr) options="$options -DBRLCAD_SPSR=BUNDLED";
shift;;
--disable-spsr) options="$options -DBRLCAD_SPSR=SYSTEM";
Modified: brlcad/trunk/doc/legal/embedded/OpenNURBS.txt
===================================================================
--- brlcad/trunk/doc/legal/embedded/OpenNURBS.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/doc/legal/embedded/OpenNURBS.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -12,236 +12,236 @@
ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
MERCHANTABILITY ARE HEREBY DISCLAIMED.
-file:src/other/openNURBS/example_brep/example_brep.cpp
-file:src/other/openNURBS/example_gl/example_gl.cpp
-file:src/other/openNURBS/example_read/example_read.cpp
-file:src/other/openNURBS/example_roundtrip/example_roundtrip.cpp
-file:src/other/openNURBS/example_userdata/example_ud.cpp
-file:src/other/openNURBS/example_userdata/example_ud.h
-file:src/other/openNURBS/example_userdata/example_userdata.cpp
-file:src/other/openNURBS/example_write/example_texture.bmp
-file:src/other/openNURBS/example_write/example_write.cpp
-file:src/other/openNURBS/examples_linking_pragmas.h
-file:src/other/openNURBS/faq.txt
-file:src/other/openNURBS/license.txt
-file:src/other/openNURBS/opennurbs.h
-file:src/other/openNURBS/opennurbs.rc
-file:src/other/openNURBS/opennurbs_3dm.h
-file:src/other/openNURBS/opennurbs_3dm_attributes.cpp
-file:src/other/openNURBS/opennurbs_3dm_attributes.h
-file:src/other/openNURBS/opennurbs_3dm_properties.cpp
-file:src/other/openNURBS/opennurbs_3dm_properties.h
-file:src/other/openNURBS/opennurbs_3dm_settings.cpp
-file:src/other/openNURBS/opennurbs_3dm_settings.h
-file:src/other/openNURBS/opennurbs_annotation.cpp
-file:src/other/openNURBS/opennurbs_annotation.h
-file:src/other/openNURBS/opennurbs_annotation2.cpp
-file:src/other/openNURBS/opennurbs_annotation2.h
-file:src/other/openNURBS/opennurbs_arc.cpp
-file:src/other/openNURBS/opennurbs_arc.h
-file:src/other/openNURBS/opennurbs_arccurve.cpp
-file:src/other/openNURBS/opennurbs_arccurve.h
-file:src/other/openNURBS/opennurbs_archive.cpp
-file:src/other/openNURBS/opennurbs_archive.h
-file:src/other/openNURBS/opennurbs_array.cpp
-file:src/other/openNURBS/opennurbs_array.h
-file:src/other/openNURBS/opennurbs_array_defs.h
-file:src/other/openNURBS/opennurbs_base32.cpp
-file:src/other/openNURBS/opennurbs_base32.h
-file:src/other/openNURBS/opennurbs_base64.cpp
-file:src/other/openNURBS/opennurbs_base64.h
-file:src/other/openNURBS/opennurbs_basic.cpp
-file:src/other/openNURBS/opennurbs_beam.cpp
-file:src/other/openNURBS/opennurbs_beam.h
-file:src/other/openNURBS/opennurbs_bezier.cpp
-file:src/other/openNURBS/opennurbs_bezier.h
-file:src/other/openNURBS/opennurbs_beziervolume.cpp
-file:src/other/openNURBS/opennurbs_bitmap.cpp
-file:src/other/openNURBS/opennurbs_bitmap.h
-file:src/other/openNURBS/opennurbs_bounding_box.cpp
-file:src/other/openNURBS/opennurbs_bounding_box.h
-file:src/other/openNURBS/opennurbs_box.cpp
-file:src/other/openNURBS/opennurbs_box.h
-file:src/other/openNURBS/opennurbs_brep.cpp
-file:src/other/openNURBS/opennurbs_brep.h
-file:src/other/openNURBS/opennurbs_brep_changesrf.cpp
-file:src/other/openNURBS/opennurbs_brep_extrude.cpp
-file:src/other/openNURBS/opennurbs_brep_io.cpp
-file:src/other/openNURBS/opennurbs_brep_isvalid.cpp
-file:src/other/openNURBS/opennurbs_brep_kinky.cpp
-file:src/other/openNURBS/opennurbs_brep_region.cpp
-file:src/other/openNURBS/opennurbs_brep_tools.cpp
-file:src/other/openNURBS/opennurbs_brep_v2valid.cpp
-file:src/other/openNURBS/opennurbs_circle.cpp
-file:src/other/openNURBS/opennurbs_circle.h
-file:src/other/openNURBS/opennurbs_color.cpp
-file:src/other/openNURBS/opennurbs_color.h
-file:src/other/openNURBS/opennurbs_compress.cpp
-file:src/other/openNURBS/opennurbs_compress.h
-file:src/other/openNURBS/opennurbs_cone.cpp
-file:src/other/openNURBS/opennurbs_cone.h
-file:src/other/openNURBS/opennurbs_crc.cpp
-file:src/other/openNURBS/opennurbs_crc.h
-file:src/other/openNURBS/opennurbs_curve.cpp
-file:src/other/openNURBS/opennurbs_curve.h
-file:src/other/openNURBS/opennurbs_curveonsurface.cpp
-file:src/other/openNURBS/opennurbs_curveonsurface.h
-file:src/other/openNURBS/opennurbs_curveproxy.cpp
-file:src/other/openNURBS/opennurbs_curveproxy.h
-file:src/other/openNURBS/opennurbs_cylinder.cpp
-file:src/other/openNURBS/opennurbs_cylinder.h
-file:src/other/openNURBS/opennurbs_defines.cpp
-file:src/other/openNURBS/opennurbs_defines.h
-file:src/other/openNURBS/opennurbs_detail.cpp
-file:src/other/openNURBS/opennurbs_detail.h
-file:src/other/openNURBS/opennurbs_dimstyle.cpp
-file:src/other/openNURBS/opennurbs_dimstyle.h
-file:src/other/openNURBS/opennurbs_dll.cpp
-file:src/other/openNURBS/opennurbs_dll_resource.h
-file:src/other/openNURBS/opennurbs_ellipse.cpp
-file:src/other/openNURBS/opennurbs_ellipse.h
-file:src/other/openNURBS/opennurbs_embedded_file.cpp
-file:src/other/openNURBS/opennurbs_error.cpp
-file:src/other/openNURBS/opennurbs_error.h
-file:src/other/openNURBS/opennurbs_error_message.cpp
-file:src/other/openNURBS/opennurbs_evaluate_nurbs.cpp
-file:src/other/openNURBS/opennurbs_evaluate_nurbs.h
-file:src/other/openNURBS/opennurbs_extensions.cpp
-file:src/other/openNURBS/opennurbs_extensions.h
-file:src/other/openNURBS/opennurbs_font.cpp
-file:src/other/openNURBS/opennurbs_font.h
-file:src/other/openNURBS/opennurbs_fpoint.h
-file:src/other/openNURBS/opennurbs_fsp.cpp
-file:src/other/openNURBS/opennurbs_fsp.h
-file:src/other/openNURBS/opennurbs_fsp_defs.h
-file:src/other/openNURBS/opennurbs_geometry.cpp
-file:src/other/openNURBS/opennurbs_geometry.h
-file:src/other/openNURBS/opennurbs_gl.cpp
-file:src/other/openNURBS/opennurbs_gl.h
-file:src/other/openNURBS/opennurbs_group.cpp
-file:src/other/openNURBS/opennurbs_group.h
-file:src/other/openNURBS/opennurbs_hatch.cpp
-file:src/other/openNURBS/opennurbs_hatch.h
-file:src/other/openNURBS/opennurbs_hsort_template.h
-file:src/other/openNURBS/opennurbs_instance.cpp
-file:src/other/openNURBS/opennurbs_instance.h
-file:src/other/openNURBS/opennurbs_intersect.cpp
-file:src/other/openNURBS/opennurbs_intersect.h
-file:src/other/openNURBS/opennurbs_knot.cpp
-file:src/other/openNURBS/opennurbs_knot.h
-file:src/other/openNURBS/opennurbs_layer.cpp
-file:src/other/openNURBS/opennurbs_layer.h
-file:src/other/openNURBS/opennurbs_light.cpp
-file:src/other/openNURBS/opennurbs_light.h
-file:src/other/openNURBS/opennurbs_line.cpp
-file:src/other/openNURBS/opennurbs_line.h
-file:src/other/openNURBS/opennurbs_linecurve.cpp
-file:src/other/openNURBS/opennurbs_linecurve.h
-file:src/other/openNURBS/opennurbs_linestyle.h
-file:src/other/openNURBS/opennurbs_linetype.cpp
-file:src/other/openNURBS/opennurbs_linetype.h
-file:src/other/openNURBS/opennurbs_lookup.cpp
-file:src/other/openNURBS/opennurbs_lookup.h
-file:src/other/openNURBS/opennurbs_mapchan.h
-file:src/other/openNURBS/opennurbs_massprop.cpp
-file:src/other/openNURBS/opennurbs_massprop.h
-file:src/other/openNURBS/opennurbs_material.cpp
-file:src/other/openNURBS/opennurbs_material.h
-file:src/other/openNURBS/opennurbs_math.cpp
-file:src/other/openNURBS/opennurbs_math.h
-file:src/other/openNURBS/opennurbs_matrix.cpp
-file:src/other/openNURBS/opennurbs_matrix.h
-file:src/other/openNURBS/opennurbs_memory.c
-file:src/other/openNURBS/opennurbs_memory.h
-file:src/other/openNURBS/opennurbs_memory_util.c
-file:src/other/openNURBS/opennurbs_mesh.cpp
-file:src/other/openNURBS/opennurbs_mesh.h
-file:src/other/openNURBS/opennurbs_mesh_ngon.cpp
-file:src/other/openNURBS/opennurbs_mesh_tools.cpp
-file:src/other/openNURBS/opennurbs_morph.cpp
-file:src/other/openNURBS/opennurbs_nurbscurve.cpp
-file:src/other/openNURBS/opennurbs_nurbscurve.h
-file:src/other/openNURBS/opennurbs_nurbssurface.cpp
-file:src/other/openNURBS/opennurbs_nurbssurface.h
-file:src/other/openNURBS/opennurbs_nurbsvolume.cpp
-file:src/other/openNURBS/opennurbs_object.cpp
-file:src/other/openNURBS/opennurbs_object.h
-file:src/other/openNURBS/opennurbs_object_history.cpp
-file:src/other/openNURBS/opennurbs_object_history.h
-file:src/other/openNURBS/opennurbs_objref.cpp
-file:src/other/openNURBS/opennurbs_objref.h
-file:src/other/openNURBS/opennurbs_offsetsurface.cpp
-file:src/other/openNURBS/opennurbs_offsetsurface.h
-file:src/other/openNURBS/opennurbs_optimize.cpp
-file:src/other/openNURBS/opennurbs_optimize.h
-file:src/other/openNURBS/opennurbs_plane.cpp
-file:src/other/openNURBS/opennurbs_plane.h
-file:src/other/openNURBS/opennurbs_planesurface.cpp
-file:src/other/openNURBS/opennurbs_planesurface.h
-file:src/other/openNURBS/opennurbs_pluginlist.cpp
-file:src/other/openNURBS/opennurbs_pluginlist.h
-file:src/other/openNURBS/opennurbs_point.cpp
-file:src/other/openNURBS/opennurbs_point.h
-file:src/other/openNURBS/opennurbs_pointcloud.cpp
-file:src/other/openNURBS/opennurbs_pointcloud.h
-file:src/other/openNURBS/opennurbs_pointgeometry.cpp
-file:src/other/openNURBS/opennurbs_pointgeometry.h
-file:src/other/openNURBS/opennurbs_pointgrid.cpp
-file:src/other/openNURBS/opennurbs_pointgrid.h
-file:src/other/openNURBS/opennurbs_polycurve.cpp
-file:src/other/openNURBS/opennurbs_polycurve.h
-file:src/other/openNURBS/opennurbs_polyedgecurve.cpp
-file:src/other/openNURBS/opennurbs_polyedgecurve.h
-file:src/other/openNURBS/opennurbs_polyline.cpp
-file:src/other/openNURBS/opennurbs_polyline.h
-file:src/other/openNURBS/opennurbs_polylinecurve.cpp
-file:src/other/openNURBS/opennurbs_polylinecurve.h
-file:src/other/openNURBS/opennurbs_precompiledheader.cpp
-file:src/other/openNURBS/opennurbs_qsort_template.h
-file:src/other/openNURBS/opennurbs_rand.cpp
-file:src/other/openNURBS/opennurbs_rand.h
-file:src/other/openNURBS/opennurbs_rendering.h
-file:src/other/openNURBS/opennurbs_revsurface.cpp
-file:src/other/openNURBS/opennurbs_revsurface.h
-file:src/other/openNURBS/opennurbs_rtree.cpp
-file:src/other/openNURBS/opennurbs_rtree.h
-file:src/other/openNURBS/opennurbs_sort.cpp
-file:src/other/openNURBS/opennurbs_sphere.cpp
-file:src/other/openNURBS/opennurbs_sphere.h
-file:src/other/openNURBS/opennurbs_string.cpp
-file:src/other/openNURBS/opennurbs_string.h
-file:src/other/openNURBS/opennurbs_sum.cpp
-file:src/other/openNURBS/opennurbs_sumsurface.cpp
-file:src/other/openNURBS/opennurbs_sumsurface.h
-file:src/other/openNURBS/opennurbs_surface.cpp
-file:src/other/openNURBS/opennurbs_surface.h
-file:src/other/openNURBS/opennurbs_surfaceproxy.cpp
-file:src/other/openNURBS/opennurbs_surfaceproxy.h
-file:src/other/openNURBS/opennurbs_system.h
-file:src/other/openNURBS/opennurbs_textlog.cpp
-file:src/other/openNURBS/opennurbs_textlog.h
-file:src/other/openNURBS/opennurbs_texture.h
-file:src/other/openNURBS/opennurbs_texture_mapping.h
-file:src/other/openNURBS/opennurbs_torus.cpp
-file:src/other/openNURBS/opennurbs_torus.h
-file:src/other/openNURBS/opennurbs_unicode.cpp
-file:src/other/openNURBS/opennurbs_unicode.h
-file:src/other/openNURBS/opennurbs_userdata.cpp
-file:src/other/openNURBS/opennurbs_userdata.h
-file:src/other/openNURBS/opennurbs_uuid.cpp
-file:src/other/openNURBS/opennurbs_uuid.h
-file:src/other/openNURBS/opennurbs_version.h
-file:src/other/openNURBS/opennurbs_viewport.cpp
-file:src/other/openNURBS/opennurbs_viewport.h
-file:src/other/openNURBS/opennurbs_workspace.cpp
-file:src/other/openNURBS/opennurbs_workspace.h
-file:src/other/openNURBS/opennurbs_wstring.cpp
-file:src/other/openNURBS/opennurbs_x.cpp
-file:src/other/openNURBS/opennurbs_x.h
-file:src/other/openNURBS/opennurbs_xform.cpp
-file:src/other/openNURBS/opennurbs_xform.h
-file:src/other/openNURBS/opennurbs_zlib.cpp
-file:src/other/openNURBS/opennurbs_zlib.h
-file:src/other/openNURBS/opennurbs_zlib_memory.cpp
-file:src/other/openNURBS/readme.txt
+file:src/libbrep/opennurbs_basic.cpp
+file:src/libbrep/opennurbs_brep_kinky.cpp
+file:src/libbrep/opennurbs_brep_changesrf.cpp
+file:src/libbrep/opennurbs_x.cpp
+file:src/libbrep/openNURBS/example_brep/example_brep.cpp
+file:src/libbrep/openNURBS/example_gl/example_gl.cpp
+file:src/libbrep/openNURBS/example_read/example_read.cpp
+file:src/libbrep/openNURBS/example_roundtrip/example_roundtrip.cpp
+file:src/libbrep/openNURBS/example_userdata/example_ud.cpp
+file:src/libbrep/openNURBS/example_userdata/example_ud.h
+file:src/libbrep/openNURBS/example_userdata/example_userdata.cpp
+file:src/libbrep/openNURBS/example_write/example_texture.bmp
+file:src/libbrep/openNURBS/example_write/example_write.cpp
+file:src/libbrep/openNURBS/examples_linking_pragmas.h
+file:src/libbrep/openNURBS/faq.txt
+file:src/libbrep/openNURBS/license.txt
+file:src/libbrep/openNURBS/opennurbs.h
+file:src/libbrep/openNURBS/opennurbs.rc
+file:src/libbrep/openNURBS/opennurbs_3dm.h
+file:src/libbrep/openNURBS/opennurbs_3dm_attributes.cpp
+file:src/libbrep/openNURBS/opennurbs_3dm_attributes.h
+file:src/libbrep/openNURBS/opennurbs_3dm_properties.cpp
+file:src/libbrep/openNURBS/opennurbs_3dm_properties.h
+file:src/libbrep/openNURBS/opennurbs_3dm_settings.cpp
+file:src/libbrep/openNURBS/opennurbs_3dm_settings.h
+file:src/libbrep/openNURBS/opennurbs_annotation.cpp
+file:src/libbrep/openNURBS/opennurbs_annotation.h
+file:src/libbrep/openNURBS/opennurbs_annotation2.cpp
+file:src/libbrep/openNURBS/opennurbs_annotation2.h
+file:src/libbrep/openNURBS/opennurbs_arc.cpp
+file:src/libbrep/openNURBS/opennurbs_arc.h
+file:src/libbrep/openNURBS/opennurbs_arccurve.cpp
+file:src/libbrep/openNURBS/opennurbs_arccurve.h
+file:src/libbrep/openNURBS/opennurbs_archive.cpp
+file:src/libbrep/openNURBS/opennurbs_archive.h
+file:src/libbrep/openNURBS/opennurbs_array.cpp
+file:src/libbrep/openNURBS/opennurbs_array.h
+file:src/libbrep/openNURBS/opennurbs_array_defs.h
+file:src/libbrep/openNURBS/opennurbs_base32.cpp
+file:src/libbrep/openNURBS/opennurbs_base32.h
+file:src/libbrep/openNURBS/opennurbs_base64.cpp
+file:src/libbrep/openNURBS/opennurbs_base64.h
+file:src/libbrep/openNURBS/opennurbs_beam.cpp
+file:src/libbrep/openNURBS/opennurbs_beam.h
+file:src/libbrep/openNURBS/opennurbs_bezier.cpp
+file:src/libbrep/openNURBS/opennurbs_bezier.h
+file:src/libbrep/openNURBS/opennurbs_beziervolume.cpp
+file:src/libbrep/openNURBS/opennurbs_bitmap.cpp
+file:src/libbrep/openNURBS/opennurbs_bitmap.h
+file:src/libbrep/openNURBS/opennurbs_bounding_box.cpp
+file:src/libbrep/openNURBS/opennurbs_bounding_box.h
+file:src/libbrep/openNURBS/opennurbs_box.cpp
+file:src/libbrep/openNURBS/opennurbs_box.h
+file:src/libbrep/openNURBS/opennurbs_brep.cpp
+file:src/libbrep/openNURBS/opennurbs_brep.h
+file:src/libbrep/openNURBS/opennurbs_brep_extrude.cpp
+file:src/libbrep/openNURBS/opennurbs_brep_io.cpp
+file:src/libbrep/openNURBS/opennurbs_brep_isvalid.cpp
+file:src/libbrep/openNURBS/opennurbs_brep_region.cpp
+file:src/libbrep/openNURBS/opennurbs_brep_tools.cpp
+file:src/libbrep/openNURBS/opennurbs_brep_v2valid.cpp
+file:src/libbrep/openNURBS/opennurbs_circle.cpp
+file:src/libbrep/openNURBS/opennurbs_circle.h
+file:src/libbrep/openNURBS/opennurbs_color.cpp
+file:src/libbrep/openNURBS/opennurbs_color.h
+file:src/libbrep/openNURBS/opennurbs_compress.cpp
+file:src/libbrep/openNURBS/opennurbs_compress.h
+file:src/libbrep/openNURBS/opennurbs_cone.cpp
+file:src/libbrep/openNURBS/opennurbs_cone.h
+file:src/libbrep/openNURBS/opennurbs_crc.cpp
+file:src/libbrep/openNURBS/opennurbs_crc.h
+file:src/libbrep/openNURBS/opennurbs_curve.cpp
+file:src/libbrep/openNURBS/opennurbs_curve.h
+file:src/libbrep/openNURBS/opennurbs_curveonsurface.cpp
+file:src/libbrep/openNURBS/opennurbs_curveonsurface.h
+file:src/libbrep/openNURBS/opennurbs_curveproxy.cpp
+file:src/libbrep/openNURBS/opennurbs_curveproxy.h
+file:src/libbrep/openNURBS/opennurbs_cylinder.cpp
+file:src/libbrep/openNURBS/opennurbs_cylinder.h
+file:src/libbrep/openNURBS/opennurbs_defines.cpp
+file:src/libbrep/openNURBS/opennurbs_defines.h
+file:src/libbrep/openNURBS/opennurbs_detail.cpp
+file:src/libbrep/openNURBS/opennurbs_detail.h
+file:src/libbrep/openNURBS/opennurbs_dimstyle.cpp
+file:src/libbrep/openNURBS/opennurbs_dimstyle.h
+file:src/libbrep/openNURBS/opennurbs_dll.cpp
+file:src/libbrep/openNURBS/opennurbs_dll_resource.h
+file:src/libbrep/openNURBS/opennurbs_ellipse.cpp
+file:src/libbrep/openNURBS/opennurbs_ellipse.h
+file:src/libbrep/openNURBS/opennurbs_embedded_file.cpp
+file:src/libbrep/openNURBS/opennurbs_error.cpp
+file:src/libbrep/openNURBS/opennurbs_error.h
+file:src/libbrep/openNURBS/opennurbs_error_message.cpp
+file:src/libbrep/openNURBS/opennurbs_evaluate_nurbs.cpp
+file:src/libbrep/openNURBS/opennurbs_evaluate_nurbs.h
+file:src/libbrep/openNURBS/opennurbs_extensions.cpp
+file:src/libbrep/openNURBS/opennurbs_extensions.h
+file:src/libbrep/openNURBS/opennurbs_font.cpp
+file:src/libbrep/openNURBS/opennurbs_font.h
+file:src/libbrep/openNURBS/opennurbs_fpoint.h
+file:src/libbrep/openNURBS/opennurbs_fsp.cpp
+file:src/libbrep/openNURBS/opennurbs_fsp.h
+file:src/libbrep/openNURBS/opennurbs_fsp_defs.h
+file:src/libbrep/openNURBS/opennurbs_geometry.cpp
+file:src/libbrep/openNURBS/opennurbs_geometry.h
+file:src/libbrep/openNURBS/opennurbs_gl.cpp
+file:src/libbrep/openNURBS/opennurbs_gl.h
+file:src/libbrep/openNURBS/opennurbs_group.cpp
+file:src/libbrep/openNURBS/opennurbs_group.h
+file:src/libbrep/openNURBS/opennurbs_hatch.cpp
+file:src/libbrep/openNURBS/opennurbs_hatch.h
+file:src/libbrep/openNURBS/opennurbs_hsort_template.h
+file:src/libbrep/openNURBS/opennurbs_instance.cpp
+file:src/libbrep/openNURBS/opennurbs_instance.h
+file:src/libbrep/openNURBS/opennurbs_intersect.cpp
+file:src/libbrep/openNURBS/opennurbs_intersect.h
+file:src/libbrep/openNURBS/opennurbs_knot.cpp
+file:src/libbrep/openNURBS/opennurbs_knot.h
+file:src/libbrep/openNURBS/opennurbs_layer.cpp
+file:src/libbrep/openNURBS/opennurbs_layer.h
+file:src/libbrep/openNURBS/opennurbs_light.cpp
+file:src/libbrep/openNURBS/opennurbs_light.h
+file:src/libbrep/openNURBS/opennurbs_line.cpp
+file:src/libbrep/openNURBS/opennurbs_line.h
+file:src/libbrep/openNURBS/opennurbs_linecurve.cpp
+file:src/libbrep/openNURBS/opennurbs_linecurve.h
+file:src/libbrep/openNURBS/opennurbs_linestyle.h
+file:src/libbrep/openNURBS/opennurbs_linetype.cpp
+file:src/libbrep/openNURBS/opennurbs_linetype.h
+file:src/libbrep/openNURBS/opennurbs_lookup.cpp
+file:src/libbrep/openNURBS/opennurbs_lookup.h
+file:src/libbrep/openNURBS/opennurbs_mapchan.h
+file:src/libbrep/openNURBS/opennurbs_massprop.cpp
+file:src/libbrep/openNURBS/opennurbs_massprop.h
+file:src/libbrep/openNURBS/opennurbs_material.cpp
+file:src/libbrep/openNURBS/opennurbs_material.h
+file:src/libbrep/openNURBS/opennurbs_math.cpp
+file:src/libbrep/openNURBS/opennurbs_math.h
+file:src/libbrep/openNURBS/opennurbs_matrix.cpp
+file:src/libbrep/openNURBS/opennurbs_matrix.h
+file:src/libbrep/openNURBS/opennurbs_memory.c
+file:src/libbrep/openNURBS/opennurbs_memory.h
+file:src/libbrep/openNURBS/opennurbs_memory_util.c
+file:src/libbrep/openNURBS/opennurbs_mesh.cpp
+file:src/libbrep/openNURBS/opennurbs_mesh.h
+file:src/libbrep/openNURBS/opennurbs_mesh_ngon.cpp
+file:src/libbrep/openNURBS/opennurbs_mesh_tools.cpp
+file:src/libbrep/openNURBS/opennurbs_morph.cpp
+file:src/libbrep/openNURBS/opennurbs_nurbscurve.cpp
+file:src/libbrep/openNURBS/opennurbs_nurbscurve.h
+file:src/libbrep/openNURBS/opennurbs_nurbssurface.cpp
+file:src/libbrep/openNURBS/opennurbs_nurbssurface.h
+file:src/libbrep/openNURBS/opennurbs_nurbsvolume.cpp
+file:src/libbrep/openNURBS/opennurbs_object.cpp
+file:src/libbrep/openNURBS/opennurbs_object.h
+file:src/libbrep/openNURBS/opennurbs_object_history.cpp
+file:src/libbrep/openNURBS/opennurbs_object_history.h
+file:src/libbrep/openNURBS/opennurbs_objref.cpp
+file:src/libbrep/openNURBS/opennurbs_objref.h
+file:src/libbrep/openNURBS/opennurbs_offsetsurface.cpp
+file:src/libbrep/openNURBS/opennurbs_offsetsurface.h
+file:src/libbrep/openNURBS/opennurbs_optimize.cpp
+file:src/libbrep/openNURBS/opennurbs_optimize.h
+file:src/libbrep/openNURBS/opennurbs_plane.cpp
+file:src/libbrep/openNURBS/opennurbs_plane.h
+file:src/libbrep/openNURBS/opennurbs_planesurface.cpp
+file:src/libbrep/openNURBS/opennurbs_planesurface.h
+file:src/libbrep/openNURBS/opennurbs_pluginlist.cpp
+file:src/libbrep/openNURBS/opennurbs_pluginlist.h
+file:src/libbrep/openNURBS/opennurbs_point.cpp
+file:src/libbrep/openNURBS/opennurbs_point.h
+file:src/libbrep/openNURBS/opennurbs_pointcloud.cpp
+file:src/libbrep/openNURBS/opennurbs_pointcloud.h
+file:src/libbrep/openNURBS/opennurbs_pointgeometry.cpp
+file:src/libbrep/openNURBS/opennurbs_pointgeometry.h
+file:src/libbrep/openNURBS/opennurbs_pointgrid.cpp
+file:src/libbrep/openNURBS/opennurbs_pointgrid.h
+file:src/libbrep/openNURBS/opennurbs_polycurve.cpp
+file:src/libbrep/openNURBS/opennurbs_polycurve.h
+file:src/libbrep/openNURBS/opennurbs_polyedgecurve.cpp
+file:src/libbrep/openNURBS/opennurbs_polyedgecurve.h
+file:src/libbrep/openNURBS/opennurbs_polyline.cpp
+file:src/libbrep/openNURBS/opennurbs_polyline.h
+file:src/libbrep/openNURBS/opennurbs_polylinecurve.cpp
+file:src/libbrep/openNURBS/opennurbs_polylinecurve.h
+file:src/libbrep/openNURBS/opennurbs_precompiledheader.cpp
+file:src/libbrep/openNURBS/opennurbs_qsort_template.h
+file:src/libbrep/openNURBS/opennurbs_rand.cpp
+file:src/libbrep/openNURBS/opennurbs_rand.h
+file:src/libbrep/openNURBS/opennurbs_rendering.h
+file:src/libbrep/openNURBS/opennurbs_revsurface.cpp
+file:src/libbrep/openNURBS/opennurbs_revsurface.h
+file:src/libbrep/openNURBS/opennurbs_rtree.cpp
+file:src/libbrep/openNURBS/opennurbs_rtree.h
+file:src/libbrep/openNURBS/opennurbs_sort.cpp
+file:src/libbrep/openNURBS/opennurbs_sphere.cpp
+file:src/libbrep/openNURBS/opennurbs_sphere.h
+file:src/libbrep/openNURBS/opennurbs_string.cpp
+file:src/libbrep/openNURBS/opennurbs_string.h
+file:src/libbrep/openNURBS/opennurbs_sum.cpp
+file:src/libbrep/openNURBS/opennurbs_sumsurface.cpp
+file:src/libbrep/openNURBS/opennurbs_sumsurface.h
+file:src/libbrep/openNURBS/opennurbs_surface.cpp
+file:src/libbrep/openNURBS/opennurbs_surface.h
+file:src/libbrep/openNURBS/opennurbs_surfaceproxy.cpp
+file:src/libbrep/openNURBS/opennurbs_surfaceproxy.h
+file:src/libbrep/openNURBS/opennurbs_system.h
+file:src/libbrep/openNURBS/opennurbs_textlog.cpp
+file:src/libbrep/openNURBS/opennurbs_textlog.h
+file:src/libbrep/openNURBS/opennurbs_texture.h
+file:src/libbrep/openNURBS/opennurbs_texture_mapping.h
+file:src/libbrep/openNURBS/opennurbs_torus.cpp
+file:src/libbrep/openNURBS/opennurbs_torus.h
+file:src/libbrep/openNURBS/opennurbs_unicode.cpp
+file:src/libbrep/openNURBS/opennurbs_unicode.h
+file:src/libbrep/openNURBS/opennurbs_userdata.cpp
+file:src/libbrep/openNURBS/opennurbs_userdata.h
+file:src/libbrep/openNURBS/opennurbs_uuid.cpp
+file:src/libbrep/openNURBS/opennurbs_uuid.h
+file:src/libbrep/openNURBS/opennurbs_version.h
+file:src/libbrep/openNURBS/opennurbs_viewport.cpp
+file:src/libbrep/openNURBS/opennurbs_viewport.h
+file:src/libbrep/openNURBS/opennurbs_workspace.cpp
+file:src/libbrep/openNURBS/opennurbs_workspace.h
+file:src/libbrep/openNURBS/opennurbs_wstring.cpp
+file:src/libbrep/openNURBS/opennurbs_x.h
+file:src/libbrep/openNURBS/opennurbs_xform.cpp
+file:src/libbrep/openNURBS/opennurbs_xform.h
+file:src/libbrep/openNURBS/opennurbs_zlib.cpp
+file:src/libbrep/openNURBS/opennurbs_zlib.h
+file:src/libbrep/openNURBS/opennurbs_zlib_memory.cpp
+file:src/libbrep/openNURBS/readme.txt
file:src/librt/primitives/tor/tor_brep.cpp
Modified: brlcad/trunk/include/brep/defines.h
===================================================================
--- brlcad/trunk/include/brep/defines.h 2020-05-06 13:00:38 UTC (rev 75705)
+++ brlcad/trunk/include/brep/defines.h 2020-05-06 17:14:34 UTC (rev 75706)
@@ -47,7 +47,29 @@
*/
#define read on_read
#define write on_write
+
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+# pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+# pragma clang diagnostic ignored "-Wdeprecated-copy"
+#endif
#include "opennurbs.h"
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
+
#undef read
#undef write
Modified: brlcad/trunk/misc/attributes/CMakeLists.txt
===================================================================
--- brlcad/trunk/misc/attributes/CMakeLists.txt 2020-05-06 13:00:38 UTC (rev
75705)
+++ brlcad/trunk/misc/attributes/CMakeLists.txt 2020-05-06 17:14:34 UTC (rev
75706)
@@ -7,7 +7,6 @@
include_directories(
${BRLCAD_SOURCE_DIR}/include
${BRLCAD_SOURCE_DIR}/src/librt
- ${OPENNURBS_INCLUDE_DIRS}
${BU_INCLUDE_DIRS}
${RT_INCLUDE_DIRS}
)
Modified: brlcad/trunk/misc/external_build_testing/CMakeLists.txt
===================================================================
--- brlcad/trunk/misc/external_build_testing/CMakeLists.txt 2020-05-06
13:00:38 UTC (rev 75705)
+++ brlcad/trunk/misc/external_build_testing/CMakeLists.txt 2020-05-06
17:14:34 UTC (rev 75706)
@@ -670,128 +670,6 @@
)
###############################################################################
-# OpenNURBS
-###############################################################################
-ExternalProject_Add(OPENNURBS_BLD
- URL ${CMAKE_SOURCE_DIR}/external/openNURBS.tar.gz
- URL_HASH MD5=c55cae1c39e263dc990773434d8c978c
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR}
-DBIN_DIR=${BIN_DIR} -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/${LIB_DIR}
-DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
- DEPENDS ${ZLIB_LIBRARY}
- )
-ExternalProject_Target(openNURBS OPENNURBS_BLD
- OUTPUT_FILE libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}.2012.10.245
- SYMLINKS "libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}"
- LINK_TARGET "libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}"
- RPATH
- )
-ExternalProject_ByProducts(OPENNURBS_BLD ${INCLUDE_DIR}
- openNURBS/opennurbs.h
- openNURBS/opennurbs_3dm.h
- openNURBS/opennurbs_3dm_attributes.h
- openNURBS/opennurbs_3dm_properties.h
- openNURBS/opennurbs_3dm_settings.h
- openNURBS/opennurbs_annotation.h
- openNURBS/opennurbs_annotation2.h
- openNURBS/opennurbs_arc.h
- openNURBS/opennurbs_arccurve.h
- openNURBS/opennurbs_archive.h
- openNURBS/opennurbs_array.h
- openNURBS/opennurbs_array_defs.h
- openNURBS/opennurbs_base32.h
- openNURBS/opennurbs_base64.h
- openNURBS/opennurbs_beam.h
- openNURBS/opennurbs_bezier.h
- openNURBS/opennurbs_bitmap.h
- openNURBS/opennurbs_bounding_box.h
- openNURBS/opennurbs_box.h
- openNURBS/opennurbs_brep.h
- openNURBS/opennurbs_circle.h
- openNURBS/opennurbs_color.h
- openNURBS/opennurbs_compress.h
- openNURBS/opennurbs_cone.h
- openNURBS/opennurbs_crc.h
- openNURBS/opennurbs_curve.h
- openNURBS/opennurbs_curveonsurface.h
- openNURBS/opennurbs_curveproxy.h
- openNURBS/opennurbs_cylinder.h
- openNURBS/opennurbs_defines.h
- openNURBS/opennurbs_detail.h
- openNURBS/opennurbs_dimstyle.h
- openNURBS/opennurbs_dll_resource.h
- openNURBS/opennurbs_ellipse.h
- openNURBS/opennurbs_error.h
- openNURBS/opennurbs_evaluate_nurbs.h
- openNURBS/opennurbs_extensions.h
- openNURBS/opennurbs_font.h
- openNURBS/opennurbs_fpoint.h
- openNURBS/opennurbs_fsp.h
- openNURBS/opennurbs_fsp_defs.h
- openNURBS/opennurbs_geometry.h
- openNURBS/opennurbs_group.h
- openNURBS/opennurbs_hatch.h
- openNURBS/opennurbs_hsort_template.h
- openNURBS/opennurbs_instance.h
- openNURBS/opennurbs_intersect.h
- openNURBS/opennurbs_knot.h
- openNURBS/opennurbs_layer.h
- openNURBS/opennurbs_light.h
- openNURBS/opennurbs_line.h
- openNURBS/opennurbs_linecurve.h
- openNURBS/opennurbs_linestyle.h
- openNURBS/opennurbs_linetype.h
- openNURBS/opennurbs_lookup.h
- openNURBS/opennurbs_mapchan.h
- openNURBS/opennurbs_massprop.h
- openNURBS/opennurbs_material.h
- openNURBS/opennurbs_math.h
- openNURBS/opennurbs_matrix.h
- openNURBS/opennurbs_memory.h
- openNURBS/opennurbs_mesh.h
- openNURBS/opennurbs_nurbscurve.h
- openNURBS/opennurbs_nurbssurface.h
- openNURBS/opennurbs_object.h
- openNURBS/opennurbs_object_history.h
- openNURBS/opennurbs_objref.h
- openNURBS/opennurbs_offsetsurface.h
- openNURBS/opennurbs_optimize.h
- openNURBS/opennurbs_plane.h
- openNURBS/opennurbs_planesurface.h
- openNURBS/opennurbs_pluginlist.h
- openNURBS/opennurbs_point.h
- openNURBS/opennurbs_pointcloud.h
- openNURBS/opennurbs_pointgeometry.h
- openNURBS/opennurbs_pointgrid.h
- openNURBS/opennurbs_polycurve.h
- openNURBS/opennurbs_polyedgecurve.h
- openNURBS/opennurbs_polyline.h
- openNURBS/opennurbs_polylinecurve.h
- openNURBS/opennurbs_qsort_template.h
- openNURBS/opennurbs_rand.h
- openNURBS/opennurbs_rendering.h
- openNURBS/opennurbs_revsurface.h
- openNURBS/opennurbs_rtree.h
- openNURBS/opennurbs_sphere.h
- openNURBS/opennurbs_string.h
- openNURBS/opennurbs_sumsurface.h
- openNURBS/opennurbs_surface.h
- openNURBS/opennurbs_surfaceproxy.h
- openNURBS/opennurbs_system.h
- openNURBS/opennurbs_textlog.h
- openNURBS/opennurbs_texture.h
- openNURBS/opennurbs_texture_mapping.h
- openNURBS/opennurbs_torus.h
- openNURBS/opennurbs_unicode.h
- openNURBS/opennurbs_userdata.h
- openNURBS/opennurbs_uuid.h
- openNURBS/opennurbs_version.h
- openNURBS/opennurbs_viewport.h
- openNURBS/opennurbs_workspace.h
- openNURBS/opennurbs_x.h
- openNURBS/opennurbs_xform.h
- openNURBS/opennurbs_zlib.h
- )
-
-###############################################################################
# Poly2Tri
###############################################################################
ExternalProject_Add(POLY2TRI_BLD
Modified: brlcad/trunk/misc/win32-msvc/Dll/CMakeLists.txt
===================================================================
--- brlcad/trunk/misc/win32-msvc/Dll/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/misc/win32-msvc/Dll/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -96,7 +96,7 @@
include_directories(
../../../../rt^3/include
${ZLIB_INCLUDE_DIRS}
- ${OPENNURBS_INCLUDE_DIR}
+ ${BREP_INCLUDE_DIR}
)
if(MSVC)
Modified: brlcad/trunk/src/conv/iges/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/iges/CMakeLists.txt 2020-05-06 13:00:38 UTC (rev
75705)
+++ brlcad/trunk/src/conv/iges/CMakeLists.txt 2020-05-06 17:14:34 UTC (rev
75706)
@@ -1,6 +1,7 @@
set(IGES_INCLUDE_DIRS
${BU_INCLUDE_DIRS}
${BN_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
${RT_INCLUDE_DIRS}
${WDB_INCLUDE_DIRS}
)
@@ -17,7 +18,7 @@
# n_iges.cpp
# n_main.cpp
#)
-#target_link_libraries(iges libwdb librt libbu ${OPENNURBS_LIBRARIES}
${WIN32LIBS} ${M_LIBRARY})
+#target_link_libraries(iges libwdb librt libbrep libbu ${WIN32LIBS}
${M_LIBRARY})
#install(TARGETS iges RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
set(iges-g_SRCS
Modified: brlcad/trunk/src/conv/step/ap203e2-g/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/ap203e2-g/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/ap203e2-g/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../step-g
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP203_INCLUDE_DIRS)
@@ -231,7 +231,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND ap203e2g_LIBS ${ap203e2g_LIBS})
Modified: brlcad/trunk/src/conv/step/ap214-g/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/ap214-g/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/ap214-g/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -3,7 +3,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../step-g
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP214_INCLUDE_DIRS)
@@ -232,7 +232,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND ap214g_LIBS ${ap214g_LIBS})
Modified: brlcad/trunk/src/conv/step/ap242-g/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/ap242-g/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/ap242-g/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../step-g
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP242_INCLUDE_DIRS)
@@ -231,7 +231,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND ap242g_LIBS ${ap242g_LIBS})
Modified: brlcad/trunk/src/conv/step/g-ap203e2/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/g-ap203e2/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/g-ap203e2/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -1,7 +1,7 @@
set(AP203_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP203_INCLUDE_DIRS)
@@ -38,7 +38,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND gap203e2_LIBS ${gap203e2_LIBS})
Modified: brlcad/trunk/src/conv/step/g-ap214/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/g-ap214/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/g-ap214/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../g-step
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP214_INCLUDE_DIRS)
@@ -39,7 +39,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND gap214_LIBS ${gap214_LIBS})
Modified: brlcad/trunk/src/conv/step/g-ap242/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/g-ap242/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/g-ap242/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../g-step
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP242_INCLUDE_DIRS)
@@ -35,7 +35,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND gap242_LIBS ${gap242_LIBS})
Modified: brlcad/trunk/src/conv/step/g-step/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/g-step/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/g-step/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -37,7 +37,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND gstep_LIBS ${gstep_LIBS})
Modified: brlcad/trunk/src/conv/step/ifc-g/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/ifc-g/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/ifc-g/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -1,7 +1,7 @@
set(IFC_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(IFC_INCLUDE_DIRS)
@@ -24,7 +24,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND ifcg_LIBS ${ifcg_LIBS})
Modified: brlcad/trunk/src/conv/step/step-g/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/step-g/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/step-g/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -1,7 +1,7 @@
set(AP203_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${OPENNURBS_INCLUDE_DIRS}
+ ${BREP_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP203_INCLUDE_DIRS)
@@ -461,7 +461,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
list(APPEND stepg_LIBS ${stepg_LIBS})
Modified: brlcad/trunk/src/conv/step/util/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/step/util/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/conv/step/util/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -1,6 +1,7 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
+ ${BREP_INCLUDE_DIRS}
)
set(STEP_SCHEMA_FILE ${STEPCODE_DIR}/data/ap203/ap203.exp)
@@ -14,7 +15,6 @@
stepeditor
stepdai
stepcore
- ${OPENNURBS_LIBRARIES}
)
GENERATE_SCHEMA_INPUTS(${STEP_SCHEMA_FILE} list_elements)
Modified: brlcad/trunk/src/external/Creo/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/external/Creo/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/external/Creo/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -214,10 +214,9 @@
librt
libvds
libwdb
- openNURBS
regex
zlib1
- libSPSR
+ libSPSR
)
set(BRLCAD_STATIC_LIBS)
set(brlcadlibs_notinstalled)
@@ -351,7 +350,7 @@
include_directories(
"${CMAKE_CURRENT_BINARY_DIR}/../../../include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/other/openNURBS"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libbrep/openNURBS"
"${ZLIB_INCLUDE_DIRS}"
"${REGEX_INCLUDE_DIRS}"
)
Modified: brlcad/trunk/src/external/Cubit/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/external/Cubit/CMakeLists.txt 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/external/Cubit/CMakeLists.txt 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -10,7 +10,7 @@
include_directories(
"${CMAKE_CURRENT_BINARY_DIR}/../../../include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/other/openNURBS"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libbrep/openNURBS"
"${ZLIB_INCLUDE_DIRS}"
"${REGEX_INCLUDE_DIRS}"
)
Modified: brlcad/trunk/src/external/Unigraphics/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/external/Unigraphics/CMakeLists.txt 2020-05-06
13:00:38 UTC (rev 75705)
+++ brlcad/trunk/src/external/Unigraphics/CMakeLists.txt 2020-05-06
17:14:34 UTC (rev 75706)
@@ -10,7 +10,7 @@
include_directories(
"${CMAKE_CURRENT_BINARY_DIR}/../../../include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/other/openNURBS"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libbrep/openNURBS"
"${ZLIB_INCLUDE_DIRS}"
"${REGEX_INCLUDE_DIRS}"
"${TCL_INCLUDE_PATH}"
Modified: brlcad/trunk/src/libbrep/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/libbrep/CMakeLists.txt 2020-05-06 13:00:38 UTC (rev
75705)
+++ brlcad/trunk/src/libbrep/CMakeLists.txt 2020-05-06 17:14:34 UTC (rev
75706)
@@ -2,10 +2,11 @@
set(BREP_INCLUDE_DIRS
${BRLCAD_BINARY_DIR}/include
${BRLCAD_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/openNURBS
${BU_INCLUDE_DIRS}
${BN_INCLUDE_DIRS}
${P2T_INCLUDE_DIR}
- ${OPENNURBS_INCLUDE_DIRS}
+ ${ZLIB_INCLUDE_DIRS}
)
# locally used but not needed by users of the library
@@ -17,7 +18,166 @@
BRLCAD_LIB_INCLUDE_DIRS(brep BREP_INCLUDE_DIRS BREP_LOCAL_INCLUDE_DIRS)
+#############################################################################
+# BRL-CAD's copy of openNURBS diverges somewhat from upstream - we build our
+# version directly into libbrep to ensure BRL-CAD has the expected
+# functionality.
+#############################################################################
+
+# these are files no longer in upstream openNURBS but retained for reference
+set(OPENNURBS_REF
+ opennurbs_basic.cpp
+ opennurbs_brep_changesrf.cpp
+ opennurbs_brep_kinky.cpp
+ opennurbs_x.cpp
+ )
+
+set(OPENNURBS_C_SOURCES
+ openNURBS/opennurbs_memory.c
+ openNURBS/opennurbs_memory_util.c
+ )
+
+set(OPENNURBS_CXX_SOURCES
+ openNURBS/opennurbs_3dm_attributes.cpp
+ openNURBS/opennurbs_3dm_properties.cpp
+ openNURBS/opennurbs_3dm_settings.cpp
+ openNURBS/opennurbs_annotation.cpp
+ openNURBS/opennurbs_annotation2.cpp
+ openNURBS/opennurbs_arc.cpp
+ openNURBS/opennurbs_arccurve.cpp
+ openNURBS/opennurbs_archive.cpp
+ openNURBS/opennurbs_array.cpp
+ openNURBS/opennurbs_base32.cpp
+ openNURBS/opennurbs_base64.cpp
+ openNURBS/opennurbs_beam.cpp
+ openNURBS/opennurbs_bezier.cpp
+ openNURBS/opennurbs_beziervolume.cpp
+ openNURBS/opennurbs_bitmap.cpp
+ openNURBS/opennurbs_bounding_box.cpp
+ openNURBS/opennurbs_box.cpp
+ openNURBS/opennurbs_brep.cpp
+ openNURBS/opennurbs_brep_extrude.cpp
+ openNURBS/opennurbs_brep_io.cpp
+ openNURBS/opennurbs_brep_isvalid.cpp
+ openNURBS/opennurbs_brep_region.cpp
+ openNURBS/opennurbs_brep_tools.cpp
+ openNURBS/opennurbs_brep_v2valid.cpp
+ openNURBS/opennurbs_circle.cpp
+ openNURBS/opennurbs_color.cpp
+ openNURBS/opennurbs_compress.cpp
+ openNURBS/opennurbs_cone.cpp
+ openNURBS/opennurbs_crc.cpp
+ openNURBS/opennurbs_curve.cpp
+ openNURBS/opennurbs_curveonsurface.cpp
+ openNURBS/opennurbs_curveproxy.cpp
+ openNURBS/opennurbs_cylinder.cpp
+ openNURBS/opennurbs_defines.cpp
+ openNURBS/opennurbs_detail.cpp
+ openNURBS/opennurbs_dimstyle.cpp
+ openNURBS/opennurbs_dll.cpp
+ openNURBS/opennurbs_ellipse.cpp
+ openNURBS/opennurbs_embedded_file.cpp
+ openNURBS/opennurbs_error.cpp
+ openNURBS/opennurbs_error_message.cpp
+ openNURBS/opennurbs_evaluate_nurbs.cpp
+ openNURBS/opennurbs_extensions.cpp
+ openNURBS/opennurbs_font.cpp
+ openNURBS/opennurbs_fsp.cpp
+ openNURBS/opennurbs_geometry.cpp
+ openNURBS/opennurbs_group.cpp
+ openNURBS/opennurbs_hatch.cpp
+ openNURBS/opennurbs_instance.cpp
+ openNURBS/opennurbs_intersect.cpp
+ openNURBS/opennurbs_knot.cpp
+ openNURBS/opennurbs_layer.cpp
+ openNURBS/opennurbs_light.cpp
+ openNURBS/opennurbs_line.cpp
+ openNURBS/opennurbs_linecurve.cpp
+ openNURBS/opennurbs_linetype.cpp
+ openNURBS/opennurbs_lookup.cpp
+ openNURBS/opennurbs_material.cpp
+ openNURBS/opennurbs_math.cpp
+ openNURBS/opennurbs_massprop.cpp
+ openNURBS/opennurbs_matrix.cpp
+ openNURBS/opennurbs_mesh.cpp
+ openNURBS/opennurbs_mesh_ngon.cpp
+ openNURBS/opennurbs_mesh_tools.cpp
+ openNURBS/opennurbs_morph.cpp
+ openNURBS/opennurbs_nurbscurve.cpp
+ openNURBS/opennurbs_nurbssurface.cpp
+ openNURBS/opennurbs_nurbsvolume.cpp
+ openNURBS/opennurbs_object.cpp
+ openNURBS/opennurbs_object_history.cpp
+ openNURBS/opennurbs_objref.cpp
+ openNURBS/opennurbs_offsetsurface.cpp
+ openNURBS/opennurbs_optimize.cpp
+ openNURBS/opennurbs_plane.cpp
+ openNURBS/opennurbs_planesurface.cpp
+ openNURBS/opennurbs_pluginlist.cpp
+ openNURBS/opennurbs_point.cpp
+ openNURBS/opennurbs_pointcloud.cpp
+ openNURBS/opennurbs_pointgeometry.cpp
+ openNURBS/opennurbs_pointgrid.cpp
+ openNURBS/opennurbs_polycurve.cpp
+ openNURBS/opennurbs_polyedgecurve.cpp
+ openNURBS/opennurbs_polyline.cpp
+ openNURBS/opennurbs_polylinecurve.cpp
+ openNURBS/opennurbs_rand.cpp
+ openNURBS/opennurbs_revsurface.cpp
+ openNURBS/opennurbs_rtree.cpp
+ openNURBS/opennurbs_sort.cpp
+ openNURBS/opennurbs_sphere.cpp
+ openNURBS/opennurbs_string.cpp
+ openNURBS/opennurbs_sum.cpp
+ openNURBS/opennurbs_sumsurface.cpp
+ openNURBS/opennurbs_surface.cpp
+ openNURBS/opennurbs_surfaceproxy.cpp
+ openNURBS/opennurbs_textlog.cpp
+ openNURBS/opennurbs_torus.cpp
+ openNURBS/opennurbs_unicode.cpp
+ openNURBS/opennurbs_userdata.cpp
+ openNURBS/opennurbs_uuid.cpp
+ openNURBS/opennurbs_viewport.cpp
+ openNURBS/opennurbs_workspace.cpp
+ openNURBS/opennurbs_wstring.cpp
+ openNURBS/opennurbs_xform.cpp
+ openNURBS/opennurbs_zlib.cpp
+ )
+
+# The openNURBS sources don't tolerate a number of our warning flags
+set(ON_FLAGS
+ no-class-memaccess
+ no-deprecated-declarations
+ no-extra
+ no-float-equal
+ no-implicit-fallthrough
+ no-misleading-indentation
+ no-shadow
+ no-unused-but-set-parameter
+ no-unused-but-set-variable
+ no-unused-parameter
+ )
+set(A_ON_FLAGS)
+foreach(onflag ${ON_FLAGS})
+ string(TOUPPER "${onflag}" UONFLAG)
+ string(REPLACE "-" "_" HFLAG ${UONFLAG})
+ CHECK_CXX_COMPILER_FLAG("-W${onflag}" ${HFLAG})
+ if (${HFLAG})
+ set(A_ON_FLAGS ${A_ON_FLAGS} ${onflag})
+ endif (${HFLAG})
+endforeach(onflag ${ON_FLAGS})
+
+foreach(onfile ${OPENNURBS_CXX_SOURCES})
+ foreach(onflag ${A_ON_FLAGS})
+ set_property(SOURCE ${onfile} APPEND_STRING PROPERTY COMPILE_FLAGS "
-W${onflag}")
+ endforeach(onflag ${A_ON_FLAGS})
+endforeach(onfile ${OPENNURBS_CXX_SOURCES})
+
+
set(LIBBREP_SOURCES
+ ${OPENNURBS_REF}
+ ${OPENNURBS_C_SOURCES}
+ ${OPENNURBS_CXX_SOURCES}
BBNode.cpp
BRNode.cpp
PullbackCurve.cpp
@@ -86,14 +246,135 @@
set_property(GLOBAL APPEND PROPERTY libbrep_DLL_DEFINES "ON_DLL_IMPORTS")
endif(CPP_DLL_DEFINES)
-BRLCAD_ADDLIB(libbrep "${LIBBREP_SOURCES}"
"libbg;libbn;libbu;${OPENNURBS_LIBRARIES};${P2T_LIBRARY};${WINSOCK_LIB};${RPCRT_LIB};${STDCXX_LIBRARIES}")
+BRLCAD_ADDLIB(libbrep "${LIBBREP_SOURCES}"
"libbg;libbn;libbu;${OPENNURBS_LIBRARIES};${P2T_LIBRARY};${ZLIB_LIBRARIES};${WINSOCK_LIB};${RPCRT_LIB};${STDCXX_LIBRARIES}")
set_target_properties(libbrep PROPERTIES VERSION 20.0.1 SOVERSION 20)
add_subdirectory(tests)
-CMAKEFILES(CMakeLists.txt)
+set(OPENNURBS_HEADERS
+ openNURBS/opennurbs.h
+ openNURBS/opennurbs_3dm.h
+ openNURBS/opennurbs_3dm_attributes.h
+ openNURBS/opennurbs_3dm_properties.h
+ openNURBS/opennurbs_3dm_settings.h
+ openNURBS/opennurbs_annotation.h
+ openNURBS/opennurbs_annotation2.h
+ openNURBS/opennurbs_arc.h
+ openNURBS/opennurbs_arccurve.h
+ openNURBS/opennurbs_archive.h
+ openNURBS/opennurbs_array.h
+ openNURBS/opennurbs_array_defs.h
+ openNURBS/opennurbs_base32.h
+ openNURBS/opennurbs_base64.h
+ openNURBS/opennurbs_beam.h
+ openNURBS/opennurbs_bezier.h
+ openNURBS/opennurbs_bitmap.h
+ openNURBS/opennurbs_bounding_box.h
+ openNURBS/opennurbs_box.h
+ openNURBS/opennurbs_brep.h
+ openNURBS/opennurbs_circle.h
+ openNURBS/opennurbs_color.h
+ openNURBS/opennurbs_compress.h
+ openNURBS/opennurbs_cone.h
+ openNURBS/opennurbs_crc.h
+ openNURBS/opennurbs_curve.h
+ openNURBS/opennurbs_curveonsurface.h
+ openNURBS/opennurbs_curveproxy.h
+ openNURBS/opennurbs_cylinder.h
+ openNURBS/opennurbs_defines.h
+ openNURBS/opennurbs_detail.h
+ openNURBS/opennurbs_dimstyle.h
+ openNURBS/opennurbs_dll_resource.h
+ openNURBS/opennurbs_ellipse.h
+ openNURBS/opennurbs_error.h
+ openNURBS/opennurbs_evaluate_nurbs.h
+ openNURBS/opennurbs_extensions.h
+ openNURBS/opennurbs_font.h
+ openNURBS/opennurbs_fpoint.h
+ openNURBS/opennurbs_fsp.h
+ openNURBS/opennurbs_fsp_defs.h
+ openNURBS/opennurbs_geometry.h
+ openNURBS/opennurbs_group.h
+ openNURBS/opennurbs_hatch.h
+ openNURBS/opennurbs_hsort_template.h
+ openNURBS/opennurbs_instance.h
+ openNURBS/opennurbs_intersect.h
+ openNURBS/opennurbs_knot.h
+ openNURBS/opennurbs_layer.h
+ openNURBS/opennurbs_light.h
+ openNURBS/opennurbs_line.h
+ openNURBS/opennurbs_linecurve.h
+ openNURBS/opennurbs_linestyle.h
+ openNURBS/opennurbs_linetype.h
+ openNURBS/opennurbs_lookup.h
+ openNURBS/opennurbs_mapchan.h
+ openNURBS/opennurbs_massprop.h
+ openNURBS/opennurbs_material.h
+ openNURBS/opennurbs_math.h
+ openNURBS/opennurbs_matrix.h
+ openNURBS/opennurbs_memory.h
+ openNURBS/opennurbs_mesh.h
+ openNURBS/opennurbs_nurbscurve.h
+ openNURBS/opennurbs_nurbssurface.h
+ openNURBS/opennurbs_object.h
+ openNURBS/opennurbs_object_history.h
+ openNURBS/opennurbs_objref.h
+ openNURBS/opennurbs_offsetsurface.h
+ openNURBS/opennurbs_optimize.h
+ openNURBS/opennurbs_plane.h
+ openNURBS/opennurbs_planesurface.h
+ openNURBS/opennurbs_pluginlist.h
+ openNURBS/opennurbs_point.h
+ openNURBS/opennurbs_pointcloud.h
+ openNURBS/opennurbs_pointgeometry.h
+ openNURBS/opennurbs_pointgrid.h
+ openNURBS/opennurbs_polycurve.h
+ openNURBS/opennurbs_polyedgecurve.h
+ openNURBS/opennurbs_polyline.h
+ openNURBS/opennurbs_polylinecurve.h
+ openNURBS/opennurbs_qsort_template.h
+ openNURBS/opennurbs_rand.h
+ openNURBS/opennurbs_rendering.h
+ openNURBS/opennurbs_revsurface.h
+ openNURBS/opennurbs_rtree.h
+ openNURBS/opennurbs_sphere.h
+ openNURBS/opennurbs_string.h
+ openNURBS/opennurbs_sumsurface.h
+ openNURBS/opennurbs_surface.h
+ openNURBS/opennurbs_surfaceproxy.h
+ openNURBS/opennurbs_system.h
+ openNURBS/opennurbs_textlog.h
+ openNURBS/opennurbs_texture.h
+ openNURBS/opennurbs_texture_mapping.h
+ openNURBS/opennurbs_torus.h
+ openNURBS/opennurbs_unicode.h
+ openNURBS/opennurbs_userdata.h
+ openNURBS/opennurbs_uuid.h
+ openNURBS/opennurbs_version.h
+ openNURBS/opennurbs_viewport.h
+ openNURBS/opennurbs_workspace.h
+ openNURBS/opennurbs_x.h
+ openNURBS/opennurbs_xform.h
+ openNURBS/opennurbs_zlib.h
+ )
+BRLCAD_MANAGE_FILES(OPENNURBS_HEADERS ${INCLUDE_DIR}/brlcad/openNURBS)
+
+# these are files we turn off because we don't use them and they incur some
+# cost to enable (e.g., they require OpenGL)
+set(OPENNURBS_OFF
+ openNURBS/opennurbs_gl.cpp
+ openNURBS/opennurbs_gl.h
+ openNURBS/opennurbs_precompiledheader.cpp
+ openNURBS/opennurbs_zlib_memory.cpp
+ )
+
+CMAKEFILES(
+ CMakeLists.txt
+ ${OPENNURBS_OFF}
+ )
+
# Local Variables:
# tab-width: 8
# mode: cmake
Modified: brlcad/trunk/src/libbrep/openNURBS/opennurbs_array_defs.h
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_array_defs.h 2020-05-06
13:00:38 UTC (rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_array_defs.h 2020-05-06
17:14:34 UTC (rev 75706)
@@ -107,7 +107,25 @@
}
if ( m_a ) {
m_count = src.m_count;
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memcpy( m_a, src.m_a, m_count*sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
}
}
}
@@ -403,8 +421,25 @@
capacity = 2*m_capacity;
SetCapacity( capacity );
}
-
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memmove( &m_a[dest_i], &m_a[src_i], ele_cnt*sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
}
template <class T>
@@ -415,7 +450,25 @@
int new_capacity = NewCapacity();
Reserve( new_capacity );
}
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( &m_a[m_count], 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
return m_a[m_count++];
}
@@ -491,7 +544,25 @@
if ( i >= 0 && i < m_count ) {
Move( i, i+1, m_count-1-i );
m_count--;
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( &m_a[m_count], 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
}
}
@@ -499,7 +570,25 @@
void ON_SimpleArray<T>::Empty()
{
if ( m_a )
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( m_a, 0, m_capacity*sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
m_count = 0;
}
@@ -773,8 +862,26 @@
void ON_SimpleArray<T>::Zero()
{
if ( m_a && m_capacity > 0 ) {
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( m_a, 0, m_capacity*sizeof(T) );
- }
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
+ }
}
template <class T>
@@ -781,8 +888,26 @@
void ON_SimpleArray<T>::MemSet( unsigned char value )
{
if ( m_a && m_capacity > 0 ) {
- memset( m_a, value, m_capacity*sizeof(T) );
- }
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
+ memset( m_a, value, m_capacity*sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
+ }
}
// memory managment ////////////////////////////////////////////////////
@@ -828,7 +953,25 @@
if ( m_a ) {
if ( capacity > m_capacity ) {
// zero new memory
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( m_a + m_capacity, 0, (capacity-m_capacity)*sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
}
m_capacity = capacity;
}
@@ -1429,7 +1572,25 @@
Move( i+1, i, m_count-1-i );
// This call to memset is ok even when T has a vtable
// because in-place construction is used later.
- memset( (void*)(&m_a[i]), 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
+ memset( (void*)(&m_a[i]), 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
ConstructDefaultElement( &m_a[i] );
}
else {
@@ -1453,7 +1614,25 @@
DestroyElement( m_a[i] );
// This call to memset is ok even when T has a vtable
// because in-place construction is used later.
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( (void*)(&m_a[i]), 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
Move( i, i+1, m_count-1-i );
// This call to memset is ok even when T has a vtable
// because in-place construction is used later.
@@ -1471,7 +1650,25 @@
DestroyElement( m_a[i] );
// This call to memset is ok even when T has a vtable
// because in-place construction is used later.
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( (void*)(&m_a[i]), 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
ConstructDefaultElement( &m_a[i] );
}
m_count = 0;
@@ -1680,7 +1877,25 @@
DestroyElement(m_a[i]);
// This call to memset is ok even when T has a vtable
// because in-place construction is used later.
+ #if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( (void*)(&m_a[i]), 0, sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
ConstructDefaultElement(&m_a[i]);
}
}
@@ -1742,7 +1957,25 @@
// this call to memset(..., 0, ...) is what I want to do
// because in-place construction will be used when needed
// on this memory.
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic push
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic push
+#endif
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic ignored "-Wclass-memaccess"
+#endif
memset( (void*)(m_a + m_capacity), 0, (capacity-m_capacity)*sizeof(T) );
+#if defined(__GNUC__) && !defined(__clang__)
+# pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
for ( i = m_capacity; i < capacity; i++ ) {
ConstructDefaultElement(&m_a[i]);
}
Deleted: brlcad/trunk/src/libbrep/openNURBS/opennurbs_basic.cpp
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_basic.cpp 2020-05-06
13:00:38 UTC (rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_basic.cpp 2020-05-06
17:14:34 UTC (rev 75706)
@@ -1,477 +0,0 @@
-/* $NoKeywords: $ */
-/*
-//
-// Copyright (c) 1993-2007 Robert McNeel & Associates. All rights reserved.
-// Rhinoceros is a registered trademark of Robert McNeel & Assoicates.
-//
-// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
-// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
-// MERCHANTABILITY ARE HEREBY DISCLAIMED.
-//
-// For complete openNURBS copyright information see <http://www.opennurbs.org>.
-//
-////////////////////////////////////////////////////////////////
-*/
-
-#include "opennurbs.h"
-
-int ON_ArcCurve::IntersectSelf(
- ON_SimpleArray<ON_X_EVENT>& x,
- double intersection_tolerance,
- const ON_Interval* curve_domain
- ) const
-{
- return 0;
-}
-
-int ON_LineCurve::IntersectSelf(
- ON_SimpleArray<ON_X_EVENT>& x,
- double intersection_tolerance,
- const ON_Interval* curve_domain
- ) const
-{
- return 0;
-}
-
-#if !defined(OPENNURBS_PLUS_INC_)
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_Line functions
-//
-
-int ON_Line::IntersectSurface(
- const ON_Surface* surfaceB,
- ON_SimpleArray<ON_X_EVENT>& x,
- double intersection_tolerance,
- double overlap_tolerance,
- const ON_Interval* line_domain,
- const ON_Interval* surfaceB_udomain,
- const ON_Interval* surfaceB_vdomain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_PlaneEquation functions
-//
-
-double ON_PlaneEquation::MinimumValueAt(const ON_SurfaceLeafBox& srfleafbox)
const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-double ON_PlaneEquation::MaximumValueAt(const ON_SurfaceLeafBox& srfleafbox)
const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-double ON_PlaneEquation::MinimumValueAt(const class ON_CurveLeafBox&
crvleafbox) const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-double ON_PlaneEquation::MaximumValueAt(const class ON_CurveLeafBox&
crvleafbox) const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_BezierCurve functions
-//
-
-int ON_BezierCurve::IntersectSelf(
- ON_SimpleArray<ON_X_EVENT>& x,
- double intersection_tolerance
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_BezierCurve::IntersectCurve(
- const ON_BezierCurve* bezierB,
- ON_SimpleArray<ON_X_EVENT>& x,
- double intersection_tolerance,
- double overlap_tolerance,
- const ON_Interval* bezierA_domain,
- const ON_Interval* bezierB_domain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_BezierCurve::IntersectSurface(
- const ON_BezierSurface* bezsrfB,
- ON_SimpleArray<ON_X_EVENT>& x,
- double intersection_tolerance,
- double overlap_tolerance,
- const ON_Interval* bezierA_domain,
- const ON_Interval* bezsrfB_udomain,
- const ON_Interval* bezsrfB_vdomain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-bool ON_BezierCurve::GetLocalClosestPoint(
- ON_3dPoint P,
- double seed_parameter,
- double* t,
- const ON_Interval* sub_domain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_BezierCurve::GetClosestPoint(
- ON_3dPoint P,
- double* t,
- double maximum_distance,
- const ON_Interval* sub_domain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_BezierCurve::GetLocalCurveIntersection(
- const ON_BezierCurve* other_bezcrv,
- double this_seed_t,
- double other_seed_t,
- double* this_t,
- double* other_t,
- const ON_Interval* this_domain,
- const ON_Interval* other_domain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-
-bool ON_BezierCurve::GetLocalSurfaceIntersection(
- const ON_BezierSurface* bezsrf,
- double seed_t,
- double seed_u,
- double seed_v,
- double* t,
- double* u,
- double* v,
- const ON_Interval* tdomain,
- const ON_Interval* udomain,
- const ON_Interval* vdomain
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_BezierSurface functions
-//
-
-bool ON_BezierSurface::GetLocalClosestPoint(
- ON_3dPoint P,
- double s_seed,
- double t_seed,
- double* s,
- double* t,
- const ON_Interval* sub_domain0,
- const ON_Interval* sub_domain1
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_BezierSurface::GetClosestPoint(
- ON_3dPoint P,
- double* s,
- double* t,
- double maximum_distance,
- const ON_Interval* sub_domain0,
- const ON_Interval* sub_domain1
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_X_EVENT functions
-//
-
-bool ON_X_EVENT::IsValid(ON_TextLog* text_log,
- double intersection_tolerance,
- double overlap_tolerance,
- const ON_Curve* curveA,
- const ON_Interval* curveA_domain,
- const ON_Curve* curveB,
- const ON_Interval* curveB_domain,
- const ON_Surface* surfaceB,
- const ON_Interval* surfaceB_domain0,
- const ON_Interval* surfaceB_domain1
- ) const
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-void ON_X_EVENT::CopyEventPart(
- const ON_X_EVENT& src,
- int i,
- ON_X_EVENT& dst,
- int j
- )
-{
- // The working function is part of the Rhino SDK.
-}
-
-bool ON_X_EVENT::IsValidList(
- int xevent_count,
- const ON_X_EVENT* xevent,
- ON_TextLog* text_log,
- double intersection_tolerance,
- double overlap_tolerance,
- const class ON_Curve* curveA,
- const class ON_Interval* curveA_domain,
- const class ON_Curve* curveB,
- const class ON_Interval* curveB_domain,
- const class ON_Surface* surfaceB,
- const class ON_Interval* surfaceB_domain0,
- const class ON_Interval* surfaceB_domain1
- )
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-int ON_X_EVENT::CleanList(
- double event_tolerance,
- double overlap_tolerance,
- int xevent_count,
- ON_X_EVENT* xevent
- )
-{
- // The working function is part of the Rhino SDK.
- return xevent_count;
-}
-
-bool ON_X_EVENT::IsValidCurveCurveOverlap(
- ON_Interval,
- int,
- double,
- const class ON_CurveTreeNode*,
- const class ON_CurveTreeNode*,
- const ON_Interval*
- )
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-bool ON_X_EVENT::IsValidCurveSurfaceOverlap(
- ON_Interval,
- int,
- double,
- const class ON_CurveTreeNode*,
- const class ON_SurfaceTreeNode*,
- const ON_Interval*,
- const ON_Interval*
- )
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-bool ON_X_EVENT::IsValidCurvePlaneOverlap(
- ON_Interval,
- int,
- double,
- double,
- const class ON_CurveTreeNode*,
- const ON_PlaneEquation*
- )
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-ON_CurveTree* ON_Curve::CreateCurveTree() const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-bool ON_Curve::GetClosestPoint(
- const ON_3dPoint&,
- double*,
- double,
- const ON_Interval*
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-int ON_Curve::IntersectSelf(
- ON_SimpleArray<ON_X_EVENT>&,
- double,
- const ON_Interval*
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_Curve::IntersectCurve(
- const ON_Curve*,
- ON_SimpleArray<ON_X_EVENT>&,
- double,
- double,
- const ON_Interval*,
- const ON_Interval*
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_Curve::IntersectSurface(
- const ON_Surface*,
- ON_SimpleArray<ON_X_EVENT>&,
- double,
- double,
- const ON_Interval*,
- const ON_Interval*,
- const ON_Interval*
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_Surface::IntersectSurface(
- const ON_Surface*,
- ON_ClassArray<ON_SSX_EVENT>&,
- double,
- double,
- double,
- const ON_Interval*,
- const ON_Interval*,
- const ON_Interval*,
- const ON_Interval*
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-ON_SurfaceTree* ON_Surface::CreateSurfaceTree() const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-class ON_NurbsSurface* ON_Surface::CreateCubicLoft(
- int,
- const ON_Curve* const*,
- double,
- int,
- ON::cubic_loft_end_condition,
- ON::cubic_loft_end_condition,
- class ON_NurbsSurface*
- )
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-bool ON_Surface::AreaMassProperties(
- ON_MassProperties&,
- bool,
- bool,
- bool,
- bool,
- double,
- double
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_Surface::VolumeMassProperties(
- ON_MassProperties&,
- bool,
- bool,
- bool,
- bool,
- ON_3dPoint,
- double,
- double
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_Curve::LengthMassProperties(
- ON_MassProperties&,
- bool,
- bool,
- bool,
- bool,
- double,
- double
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_Curve::AreaMassProperties(
- ON_3dPoint,
- ON_3dVector,
- ON_MassProperties&,
- bool,
- bool,
- bool,
- bool,
- double,
- double
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-ON_PolylineCurve* ON_Curve::MeshCurve(
- ON_MeshCurveParameters&,
- ON_PolylineCurve*,
- bool,
- const ON_Interval*
- )
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-
-#endif
Modified: brlcad/trunk/src/libbrep/openNURBS/opennurbs_beam.cpp
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_beam.cpp 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_beam.cpp 2020-05-06
17:14:34 UTC (rev 75706)
@@ -1,3 +1,19 @@
+/* $NoKeywords: $ */
+/*
+//
+// Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved.
+// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
+// McNeel & Associates.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
+// MERCHANTABILITY ARE HEREBY DISCLAIMED.
+//
+// For complete openNURBS copyright information see <http://www.opennurbs.org>.
+//
+////////////////////////////////////////////////////////////////
+*/
+
#include "opennurbs.h"
static bool ON_ExtrusionPolyCurveProfileIsNotValid()
Modified: brlcad/trunk/src/libbrep/openNURBS/opennurbs_beam.h
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_beam.h 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_beam.h 2020-05-06 17:14:34 UTC
(rev 75706)
@@ -1,3 +1,19 @@
+/* $NoKeywords: $ */
+/*
+//
+// Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved.
+// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
+// McNeel & Associates.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
+// MERCHANTABILITY ARE HEREBY DISCLAIMED.
+//
+// For complete openNURBS copyright information see <http://www.opennurbs.org>.
+//
+////////////////////////////////////////////////////////////////
+*/
+
#if !defined(OPENNURBS_EXTRUSION_INC_)
#define OPENNURBS_EXTRUSION_INC_
Modified: brlcad/trunk/src/libbrep/openNURBS/opennurbs_box.cpp
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_box.cpp 2020-05-06 13:00:38 UTC
(rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_box.cpp 2020-05-06
17:14:34 UTC (rev 75706)
@@ -1,3 +1,19 @@
+/* $NoKeywords: $ */
+/*
+//
+// Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved.
+// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
+// McNeel & Associates.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
+// MERCHANTABILITY ARE HEREBY DISCLAIMED.
+//
+// For complete openNURBS copyright information see <http://www.opennurbs.org>.
+//
+////////////////////////////////////////////////////////////////
+*/
+
#include "opennurbs.h"
ON_Box::ON_Box()
Deleted: brlcad/trunk/src/libbrep/openNURBS/opennurbs_brep_changesrf.cpp
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_brep_changesrf.cpp
2020-05-06 13:00:38 UTC (rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_brep_changesrf.cpp
2020-05-06 17:14:34 UTC (rev 75706)
@@ -1,834 +0,0 @@
-/* $NoKeywords: $ */
-/*
-//
-// Copyright (c) 1993-2007 Robert McNeel & Associates. All rights reserved.
-// Rhinoceros is a registered trademark of Robert McNeel & Assoicates.
-//
-// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
-// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
-// MERCHANTABILITY ARE HEREBY DISCLAIMED.
-//
-// For complete openNURBS copyright information see <http://www.opennurbs.org>.
-//
-////////////////////////////////////////////////////////////////
-*/
-
-#include "opennurbs.h"
-
-static
-bool ChangeEdgeVertex(
- ON_Brep& brep,
- ON_BrepEdge& edge,
- int edge_end,
- int old_vi,
- int new_vi,
- bool bUpdateTrims
- )
-{
- // used by ON_Brep::ReplaceSurface() to change edge ends
-
- if ( edge_end != 0 && edge_end != 1 )
- return false;
- if ( edge.m_vi[edge_end] != old_vi )
- return false;
- if ( old_vi == new_vi )
- return true;
-
- ON_BrepVertex* old_v = brep.Vertex(old_vi);
- if ( old_vi >= 0 && 0 == old_v )
- return false;
- if ( old_v )
- old_v->m_tolerance = ON_UNSET_VALUE;
-
- ON_BrepVertex* new_v = brep.Vertex(new_vi);
- if ( new_vi >= 0 && 0 == new_v )
- return false;
- if ( new_v )
- old_v->m_tolerance = ON_UNSET_VALUE;
-
- // disconnect edge from old vertex
- if ( old_vi >= 0 )
- {
- for ( int vei = 0; vei < old_v->m_ei.Count(); vei++ )
- {
- if ( old_v->m_ei[vei] == edge.m_edge_index )
- {
- old_v->m_ei.Remove(vei);
- break;
- }
- }
- }
-
- edge.m_vi[edge_end] = new_vi;
- new_v->m_ei.Append(edge.m_edge_index);
-
- if ( bUpdateTrims )
- {
- for ( int eti = 0; eti < edge.m_ti.Count(); eti++ )
- {
- ON_BrepTrim* trim = brep.Trim(edge.m_ti[eti]);
- if ( 0 == trim )
- continue;
- int trim_end = trim->m_bRev3d ? 1-edge_end : edge_end;
- if ( trim->m_vi[trim_end] == old_vi )
- trim->m_vi[trim_end] = new_vi;
- }
- }
-
- return true;
-}
-
-
-
-static
-bool ChangeTrimVertex(
- ON_Brep& brep,
- ON_BrepTrim& trim,
- int trim_end,
- int old_vi,
- int new_vi,
- bool bUpdateEdge,
- bool bUpdateMates
- )
-{
- // used by ON_Brep::ReplaceSurface() to change trim ends
- if ( trim_end != 0 && trim_end != 1 )
- return false;
- if ( trim.m_vi[trim_end] != old_vi )
- return false;
- if ( old_vi == new_vi )
- return true;
- trim.m_vi[trim_end] = new_vi;
-
- ON_BrepVertex* v = brep.Vertex(old_vi);
- if ( v )
- v->m_tolerance = ON_UNSET_VALUE;
- v = brep.Vertex(new_vi);
- if ( v )
- v->m_tolerance = ON_UNSET_VALUE;
-
- bool rc = true;
- if ( bUpdateEdge )
- {
- ON_BrepEdge* edge = brep.Edge(trim.m_ei);
- if ( 0 == edge )
- return true;
- int edge_end = trim.m_bRev3d ? 1-trim_end : trim_end;
- rc = ChangeEdgeVertex( brep, *edge, edge_end, old_vi, new_vi, bUpdateMates
);
- }
-
- return true;
-}
-
-static
-ON_Curve* PushUpIsoTrim( ON_Brep& brep, ON_BrepTrim& trim )
-{
- ON_Curve* c3 = 0;
- const ON_Surface* srf = trim.SurfaceOf();
- if ( 0 == srf )
- return 0;
- c3 = srf->ON_Surface::Pushup( trim, 0.0 );
- if ( 0 == c3 )
- {
- ON_2dPoint p0 = trim.PointAtStart();
- ON_2dPoint p1 = trim.PointAtEnd();
- double c, t0, t1;
- int isodir;
- if ( trim.m_iso == ON_Surface::N_iso
- || trim.m_iso == ON_Surface::S_iso
- || trim.m_iso == ON_Surface::y_iso )
- {
- isodir = 0;
- c = p0.y;
- t0 = p0.x;
- t1 = p1.x;
- }
- else if ( trim.m_iso == ON_Surface::E_iso
- || trim.m_iso == ON_Surface::W_iso
- || trim.m_iso == ON_Surface::x_iso )
- {
- isodir = 1;
- c = p0.x;
- t0 = p0.y;
- t1 = p1.y;
- }
- else
- return 0;
- c3 = srf->IsoCurve( isodir, c );
- if ( 0 == c3 )
- return 0;
- ON_Interval trim_interval(t0,t1);
- if ( trim_interval.IsDecreasing() )
- trim_interval.Swap();
- if ( !c3->Trim(trim_interval) )
- {
- delete c3;
- return 0;
- }
- if ( t0 > t1 )
- c3->Reverse();
- c3->SetDomain(trim_interval);
- }
- return c3;
-}
-
-
-static
-bool ChangeTrimSingToBdry( ON_Brep& brep, ON_BrepTrim& trim, ON_BrepTrim*
nexttrim )
-{
- if ( trim.m_vi[0] != trim.m_vi[1] )
- return false;
- if ( trim.m_type != ON_BrepTrim::singular )
- return false;
- if ( trim.m_ei >= 0 )
- return false;
-
- const ON_Surface* srf = trim.SurfaceOf();
- if ( 0 == srf )
- return false;
-
- brep.m_V.Reserve( brep.m_V.Count() + 1 );
- ON_BrepVertex* v0 = brep.Vertex(trim.m_vi[0]);
- if ( 0 == v0 )
- return false;
-
- // get new 3d curve
- ON_Curve* c3 = PushUpIsoTrim( brep, trim );
- if ( 0 == c3 )
- return false;
-
- // valid singular trim can be changed to non-singular trim
-
-
- // create new vertex for end of this trim
- v0->m_tolerance = ON_UNSET_VALUE;
-
- ON_BrepVertex* v1 = 0;
-
- if ( c3->IsClosed() )
- {
- // 3d edge is closed so start and end vertex are still the same.
- v1 = v0;
- }
- else
- {
- // new 3d edge is not closed, so the single singular vertex
- // needs to be "split" into two vertices.
- brep.NewVertex();
- v1 = brep.m_V.Last();
- }
- trim.m_vi[1] = v1->m_vertex_index;
-
- // update the start of the next trim to use new vertex
- if ( nexttrim && nexttrim->m_trim_index != trim.m_trim_index )
- {
- ChangeTrimVertex( brep, *nexttrim, 0, v0->m_vertex_index,
v1->m_vertex_index, true, true );
- }
-
- // make a new edge
- int ci = brep.AddEdgeCurve(c3);
- c3 = 0;
- ON_BrepEdge& edge = brep.NewEdge(*v0,*v1,ci);
- edge.m_tolerance = 0.0;
-
- // hook trim to new edge
- trim.m_type = ON_BrepTrim::boundary;
- trim.m_bRev3d = false;
- trim.m_ei = edge.m_edge_index;
- edge.m_ti.Append(trim.m_trim_index);
-
- return true;
-}
-
-static
-bool ChangeTrimBdryToSing( ON_Brep& brep, ON_BrepTrim& trim,
- ON_BrepTrim* prevtrim, ON_BrepTrim* nexttrim )
-{
- if ( trim.m_vi[0] == trim.m_vi[1] )
- return false;
- if ( trim.m_type == ON_BrepTrim::singular )
- return false;
- if ( trim.m_ei < 0 )
- return false;
-
- int vi0 = trim.m_vi[0];
- int vi1 = trim.m_vi[1];
-
- int sing_vi = vi0;
-
- ON_BrepVertex* v0 = brep.Vertex(vi0);
- if ( v0 )
- v0->m_tolerance = ON_UNSET_VALUE;
- ON_BrepVertex* v1 = brep.Vertex(vi1);
- if ( v1 )
- v1->m_tolerance = ON_UNSET_VALUE;
-
- ON_BrepEdge* edge = brep.Edge(trim.m_ei);
- if ( edge )
- {
- for ( int eti = 0; eti < edge->m_ti.Count(); eti++ )
- {
- if ( edge->m_ti[eti] == trim.m_trim_index )
- {
- edge->m_ti.Remove(eti);
- break;
- }
- }
-
- trim.m_ei = -1;
- if ( 0 == edge->m_ti.Count() )
- {
- brep.DeleteEdge( *edge, true );
- }
- else if ( 1 == edge->m_ti.Count() && ON_BrepTrim::seam == trim.m_type )
- {
- // change neighbor trim type
- ON_BrepTrim* other_trim = brep.Trim(edge->m_ti[0]);
- if ( 0 != other_trim && ON_BrepTrim::seam == other_trim->m_type )
- {
- other_trim->m_type = ON_BrepTrim::boundary;
- int j = (trim.m_bRev3d == other_trim->m_bRev3d) ? 0 : 1;
- if ( trim.m_vi[0] == other_trim->m_vi[j]
- && trim.m_vi[1] == other_trim->m_vi[1-j] )
- {
- // we need a new singular vertex
- sing_vi = brep.NewVertex(ON_UNSET_POINT).m_vertex_index;
- }
- }
- }
- }
-
- trim.m_vi[0] = sing_vi;
- trim.m_vi[1] = sing_vi;
- trim.m_type = ON_BrepTrim::singular;
- trim.m_bRev3d = false;
-
- if ( nexttrim )
- ChangeTrimVertex( brep,*nexttrim,0,vi1,sing_vi,true,true);
- if ( prevtrim )
- ChangeTrimVertex( brep,*prevtrim,1,vi0,sing_vi,true,true);
-
- return true;
-}
-
-static
-bool SplitSeam( ON_Brep& brep,
- ON_BrepTrim& trimA, ON_BrepTrim& trimB,
- ON_BrepTrim& prevtrimB,
- ON_BrepTrim& nexttrimB,
- int vcount0 // number of verts before singular fixups
- )
-{
- if ( trimA.m_trim_index == trimB.m_trim_index )
- return false;
- if ( trimA.m_trim_index == prevtrimB.m_trim_index )
- return false;
- if ( trimA.m_trim_index == nexttrimB.m_trim_index )
- return false;
- if ( trimB.m_trim_index == prevtrimB.m_trim_index )
- return false;
- if ( trimB.m_trim_index == nexttrimB.m_trim_index )
- return false;
- if ( prevtrimB.m_trim_index == nexttrimB.m_trim_index )
- return false;
- if ( trimA.m_type != ON_BrepTrim::seam )
- return false;
- if ( trimB.m_type != ON_BrepTrim::seam )
- return false;
- if ( trimA.m_ei != trimB.m_ei )
- return false;
- if ( trimA.m_vi[0] != trimB.m_vi[1]
- && trimA.m_vi[0] < vcount0
- && trimB.m_vi[1] < vcount0 )
- return false;
- if ( trimA.m_vi[1] != trimB.m_vi[0]
- && trimA.m_vi[1] < vcount0
- && trimB.m_vi[0] < vcount0 )
- return false;
- if ( prevtrimB.m_vi[1] != trimB.m_vi[0]
- && prevtrimB.m_vi[1] < vcount0
- && trimB.m_vi[0] < vcount0 )
- return false;
- if ( nexttrimB.m_vi[0] != trimB.m_vi[1]
- && prevtrimB.m_vi[0] < vcount0
- && trimB.m_vi[1] < vcount0 )
- return false;
- if ( trimA.m_li != trimB.m_li )
- return false;
- if ( trimA.m_li != prevtrimB.m_li )
- return false;
- if ( trimA.m_li != nexttrimB.m_li )
- return false;
- if ( trimA.m_bRev3d == trimB.m_bRev3d )
- return false;
- const ON_Surface* srf = trimA.SurfaceOf();
- if ( 0 == srf )
- return false;
- ON_BrepEdge* edgeA = brep.Edge(trimA.m_ei);
- if ( 0 == edgeA )
- return false;
- if ( edgeA->m_ti.Count() != 2 )
- return false;
- if ( edgeA->m_ti[0] != trimA.m_trim_index && edgeA->m_ti[1] !=
trimA.m_trim_index )
- return false;
- if ( edgeA->m_ti[0] != trimB.m_trim_index && edgeA->m_ti[1] !=
trimB.m_trim_index )
- return false;
-
- // reserve space now so the vA0 and vA1 pointers
- // will be valid if m_V[] is grown.
- brep.m_V.Reserve( brep.m_V.Count()+2 );
-
- ON_BrepVertex* vA0 = brep.Vertex(trimA.m_vi[0]);
- if ( 0 == vA0 )
- return false;
- ON_BrepVertex* vA1 = brep.Vertex(trimA.m_vi[1]);
- if ( 0 == vA1 )
- return false;
-
- // looks like we have a valid seam to blow apart
-
- // get a new 3d curve for trimB
- ON_Curve* cB3 = PushUpIsoTrim( brep, trimB );
- if ( 0 == cB3 )
- return false;
- int c3i = brep.AddEdgeCurve(cB3);
-
- vA0->m_tolerance = ON_UNSET_VALUE;
- vA1->m_tolerance = ON_UNSET_VALUE;
-
- // make new vertices for trimB
- ON_BrepVertex* vB0 = 0;
- ON_BrepVertex* vB1 = 0;
-
- ON_3dPoint PA, PB;
- bool bSame = false;
-
- if (brep.GetTrim3dStart(trimB.m_trim_index, PB) &&
brep.GetTrim3dEnd(trimA.m_trim_index, PA))
- bSame = PB.DistanceTo(PA) < ON_ZERO_TOLERANCE;
- if (bSame || trimB.m_vi[0] != trimA.m_vi[1] )
- {
- // sing fixups have already blown apart this end
- vB0 = brep.Vertex( trimB.m_vi[0] );
- }
-
- bSame = false;
- if (brep.GetTrim3dStart(trimA.m_trim_index, PA) &&
brep.GetTrim3dEnd(trimB.m_trim_index, PB))
- bSame = PB.DistanceTo(PA) < ON_ZERO_TOLERANCE;
- if (bSame || trimB.m_vi[1] != trimA.m_vi[0] )
- {
- // sing fixups have already blown apart this end
- vB1 = brep.Vertex( trimB.m_vi[1] );
- }
- if ( 0 == vB0 )
- {
- ON_BrepVertex& v = brep.NewVertex();
- vB0 = &v;
- trimB.m_vi[0] = vB0->m_vertex_index;
- }
- if ( 0 == vB1 )
- {
- ON_BrepVertex& v = brep.NewVertex();
- vB1 = &v;
- trimB.m_vi[1] = vB1->m_vertex_index;
- }
-
- // disconnect edgeA and trimB
- trimB.m_ei = -1;
- if ( edgeA->m_ti[0] == trimB.m_trim_index )
- edgeA->m_ti.Remove(0);
- else if ( edgeA->m_ti[1] == trimB.m_trim_index )
- edgeA->m_ti.Remove(1);
- ChangeTrimVertex( brep, trimB, 0, vA1->m_vertex_index, vB0->m_vertex_index,
true, true );
- ChangeTrimVertex( brep, trimB, 1, vA0->m_vertex_index, vB1->m_vertex_index,
true, true );
-
- ChangeTrimVertex( brep, prevtrimB, 1, vA1->m_vertex_index,
vB0->m_vertex_index, true, true );
- ChangeTrimVertex( brep, nexttrimB, 0, vA0->m_vertex_index,
vB1->m_vertex_index, true, true );
-
- // make a new edgeB and connect it to trimB
- ON_BrepEdge& edgeB = brep.NewEdge( *vB0, *vB1, c3i );
- edgeA = 0; // pointer may be invalid after m_E[] grows
-
- edgeB.m_ti.Append(trimB.m_trim_index);
- trimB.m_ei = edgeB.m_edge_index;
- trimB.m_bRev3d = false;
-
- trimA.m_type = ON_BrepTrim::boundary;
- trimB.m_type = ON_BrepTrim::boundary;
-
- return true;
-}
-
-static bool RebuildVertexToTrimEnd(ON_BrepTrim& T, int end)
-
-{
- ON_Brep* pB = T.Brep();
- if (!pB) return false;
- int vid = T.m_vi[end];
- if (vid < 0) return false;
- ON_BrepVertex& V = pB->m_V[vid];
- ON_3dPoint P;
- if (end){
- if (!pB->GetTrim3dEnd(T.m_trim_index, P))
- return false;
- }
- else {
- if (!pB->GetTrim3dStart(T.m_trim_index, P))
- return false;
- }
-
- V.SetPoint(P);
-
- return true;
-
-}
-
-
-static bool SealSeam(int closed_dir, ON_BrepFace& F)
-
-{
- if (closed_dir) closed_dir = 1;
- int seam_dir = 1-closed_dir;
- ON_Brep* pBrep = F.Brep();
- if (!pBrep) return false;
- const ON_Surface* pSrf = F.SurfaceOf();
- if (!pSrf || !pSrf->IsClosed(closed_dir)) return false;
-
- ON_Surface::ISO isoA = ON_Surface::not_iso;//same dir as isocurve
- ON_Surface::ISO isoB = ON_Surface::not_iso;//opposite dir as isocurve
- if (closed_dir){
- isoA = ON_Surface::S_iso;
- isoB = ON_Surface::N_iso;
- }
- else {
- isoA = ON_Surface::E_iso;
- isoB = ON_Surface::W_iso;
- }
-
- /* TODO: Handle cases where there is more than one trim on a seam side
- or seam edges do not fully overlap.
- */
-
- //Look for a single pair of trims that match across parameter space.
-
- int A_id = -1;
- int B_id = -1;
-
- int li;
- for (li=0; li<F.m_li.Count(); li++){
- const ON_BrepLoop* L = F.Loop(li);
- if (!L || L->m_type != ON_BrepLoop::outer) continue;
- int lti;
- for (lti = 0; lti<L->m_ti.Count(); lti++ ){
- ON_BrepTrim* T = L->Trim(lti);
- if (!T) continue;
- if (T->m_iso == isoA) {
- if (A_id >= 0)
- return false;
- A_id = T->m_trim_index;
- }
- else if (T->m_iso == isoB) {
- if (B_id >= 0)
- return false;
- B_id = T->m_trim_index;
- }
- }
- }
-
- if (A_id < 0 || B_id < 0)
- return true;//no seam to join
-
- ON_BrepTrim& TA = pBrep->m_T[A_id];
- ON_BrepTrim& TB = pBrep->m_T[B_id];
-
- ON_BrepEdge* pEA = TA.Edge();
- ON_BrepEdge* pEB = TB.Edge();
- if (!pEA || !pEB)
- return false;
-
- ON_Interval a,b;
- int i;
- for (i=0; i<2; i++){
- a[i] = TA.PointAt(TA.Domain()[i])[seam_dir];
- b[i] = TB.PointAt(TB.Domain()[i])[seam_dir];
- }
-
- a.MakeIncreasing();
- b.MakeIncreasing();
-
- if (a[0] >= b[1] || b[0] >= a[1])
- return true; //nothing to be joined;
-
- double pspace_tol = 1.0e-8;
-
- if (a.Length() < 10.0*pspace_tol)
- return false;
- if (fabs(a[0] - b[0]) > pspace_tol || fabs(a[1] - b[1]) > pspace_tol)
- return false;
-
- //fix vertices so join will work.
-
- RebuildVertexToTrimEnd(TA, 0);
- RebuildVertexToTrimEnd(TA, 1);
- RebuildVertexToTrimEnd(TB, 0);
- RebuildVertexToTrimEnd(TB, 1);
-
- double join_tol = 1.0e-6;
- if (!pBrep->JoinEdges(*pEA, *pEB, join_tol))
- return false;
-
- TA.m_type = ON_BrepTrim::seam;
- TB.m_type = ON_BrepTrim::seam;
-
- return true;
-}
-
-bool ON_BrepFace::ChangeSurface(
- int si
- )
-{
- if ( 0 == m_brep )
- return false;
- if ( si < 0 || si >= m_brep->m_S.Count() )
- return false;
- const ON_Surface* pSurface = m_brep->m_S[si];
-
- m_brep->DestroyMesh( ON::any_mesh );
-
- const ON_Surface* old_srf = SurfaceOf();
- m_si = si;
- SetProxySurface(pSurface);
- if ( pSurface )
- m_bbox = pSurface->BoundingBox();
- else
- m_bbox.Destroy();
- m_brep->m_bbox.Destroy();
-
- if ( old_srf && pSurface )
- {
- // If domain changed, tehn update 2d trim curve locations
- ON_Interval udom0 = old_srf->Domain(0);
- ON_Interval vdom0 = old_srf->Domain(1);
- ON_Interval udom1 = pSurface->Domain(0);
- ON_Interval vdom1 = pSurface->Domain(1);
- if ( udom0 != udom1 || vdom0 != vdom1 )
- {
- // need to transform trimming curves
- ON_Xform x(1), xu(1), xv(1);
- if ( udom0 != udom1 )
- xu.IntervalChange(0,udom0,udom1);
- if ( vdom0 != vdom1 )
- xv.IntervalChange(1,vdom0,vdom1);
- x = xv*xu;
- TransformTrim(x);
- }
-
- int vcount0 = m_brep->m_V.Count();
-
- // If singular points changed, then add/remove edges
- // and update trim.m_type flags
- int i;
- {
- bool bSing0[4];
- bool bSing1[4];
- for ( i = 0; i < 4; i++ )
- {
- bSing0[i] = old_srf->IsSingular(i) ? true : false;
- bSing1[i] = pSurface->IsSingular(i) ? true : false;
- }
- int sing_fix, sing_fix_max = 1;
- for ( sing_fix = 0; sing_fix < sing_fix_max; sing_fix++ )
- {
- // sing_fix:
- // 0: expands old singularities and checks for new ones
- // 1: collapses old edges to new singular points.
- for ( i = 0; i < 4; i++ )
- {
- if ( bSing0[i] == bSing1[i] )
- continue;
-
- ON_Surface::ISO iso = ON_Surface::not_iso;
- switch(i)
- {
- case 0: iso = ON_Surface::S_iso; break;
- case 1: iso = ON_Surface::E_iso; break;
- case 2: iso = ON_Surface::N_iso; break;
- case 3: iso = ON_Surface::W_iso; break;
- }
-
- if ( bSing0[i] && sing_fix != 0 )
- {
- // we already expanded old singular trims into edge trims
- continue;
- }
-
- for ( int fli = 0; fli < m_li.Count(); fli++ )
- {
- const ON_BrepLoop* loop = Loop(fli);
- if ( 0 == loop )
- continue;
- if ( loop->m_type != ON_BrepLoop::outer )
- continue;
- for ( int lti = 0; lti < loop->m_ti.Count(); lti++ )
- {
- ON_BrepTrim* trim = loop->Trim(lti);
- if ( !trim )
- continue;
- if ( trim->m_iso != iso )
- continue;
- ON_BrepTrim* nexttrim = loop->Trim((lti+1)%loop->m_ti.Count());
- if ( bSing0[i] )
- {
- // valid singular trim changing to non-singular trim
- if( 0 == sing_fix )
- ChangeTrimSingToBdry( *m_brep, *trim, nexttrim );
- }
- else if ( bSing1[i] )
- {
- if ( 0 == sing_fix )
- {
- // we need a 2nd pass to collapse this edge
- // to a singular trim.
- sing_fix_max = 2;
- }
- else
- {
- // valid non-singular trim changing to singular trim
- ON_BrepTrim* prevtrim =
loop->Trim((lti-1+loop->m_ti.Count())%loop->m_ti.Count());
- ChangeTrimBdryToSing( *m_brep, *trim, prevtrim, nexttrim );
- }
- }
- }
- }
- }
- }
- }
-
- // If closed/open status changed, then add/remove edges
- // and update m_type flag
- for ( i = 0; i < 2; i++ )
- {
- bool bClosed0 = old_srf->IsClosed(i) ? true : false;
- bool bClosed1 = pSurface->IsClosed(i) ? true : false;
- if ( bClosed0 == bClosed1 )
- continue;
- ON_Surface::ISO isoA = ON_Surface::not_iso;
- ON_Surface::ISO isoB = ON_Surface::not_iso;
- switch(i)
- {
- case 0: isoA = ON_Surface::W_iso; isoB = ON_Surface::E_iso; break;
- case 1: isoA = ON_Surface::S_iso; isoB = ON_Surface::N_iso; break;
- }
-
- for ( int fli = 0; fli < m_li.Count(); fli++ )
- {
- const ON_BrepLoop* loop = Loop(fli);
- if ( 0 == loop )
- continue;
- if ( loop->m_type != ON_BrepLoop::outer )
- continue;
- int loop_trim_count = loop->m_ti.Count();
- for ( int ltiA = 0; ltiA < loop_trim_count; ltiA++ )
- {
- ON_BrepTrim* trimA = loop->Trim(ltiA);
- if ( !trimA )
- continue;
- if ( trimA->m_iso != isoA )
- continue;
-
- if ( bClosed0 )
- {
- // old surface has a seam and new surface does not
- if ( trimA->m_type != ON_BrepTrim::seam )
- continue;
- const ON_BrepEdge* edge = m_brep->Edge(trimA->m_ei);
- if ( 0 == edge )
- continue;
- if ( edge->m_ti.Count() != 2 )
- continue;
- int etiB = (edge->m_ti[0] == trimA->m_trim_index) ? 1 : 0;
- ON_BrepTrim* trimB = edge->Trim(etiB);
- if ( 0 == trimB )
- continue;
- if ( trimA == trimB )
- continue;
- if ( trimB->m_li != trimA->m_li )
- continue;
- if ( trimB->m_type != ON_BrepTrim::seam )
- continue;
- if ( trimB->m_iso != isoB )
- continue;
- for ( int ltiB = 0; ltiB < loop_trim_count; ltiB++ )
- {
- if ( trimB != loop->Trim(ltiB) )
- continue;
- ON_BrepTrim* prevtrimB =
loop->Trim((ltiB+loop_trim_count-1)%loop_trim_count);
- ON_BrepTrim* nexttrimB = loop->Trim((ltiB+1)%loop_trim_count);
- if ( 0 == prevtrimB )
- continue;
- if ( 0 == nexttrimB )
- continue;
- if ( prevtrimB == trimA || prevtrimB == trimB )
- continue;
- if ( nexttrimB == trimA || nexttrimB == trimB )
- continue;
- if ( prevtrimB == nexttrimB )
- continue;
- SplitSeam( *m_brep, *trimA, *trimB, *prevtrimB, *nexttrimB,
vcount0 );
- break;
- }
- }
- else
- {
- // open sides replaced with a seam
- // TODO
- bool sok;
- sok = SealSeam(i, *this);
- if (sok)
- sok = !sok;
- }
- }
- }
- }
- }
-
- if ( pSurface )
- {
- for ( int fli = 0; fli < m_li.Count(); fli++ )
- {
- const ON_BrepLoop* loop = Loop(fli);
- if ( 0 == loop )
- continue;
- for ( int lti = 0; lti < loop->m_ti.Count(); lti++ )
- {
- const ON_BrepTrim* trim = loop->Trim(lti);
- if ( 0 == trim )
- continue;
- ON_BrepVertex* v0 = m_brep->Vertex(trim->m_vi[0]);
- if ( 0 != v0 )
- {
- if ( v0->point == ON_UNSET_POINT )
- {
- ON_3dPoint uv = trim->PointAtStart();
- v0->point = pSurface->PointAt( uv.x, uv.y );
- }
- }
- }
- }
- }
-
- return true;
-}
-
-//bool ON_Brep::ReplaceSurface( ON_BrepFace& face,
-// ON_Surface* pSurface
-// )
-//{
-// bool rc = false;
-// if ( pSurface )
-// {
-// int si = AddSurface(pSurface);
-// rc = face.ChangeSurface(si);
-// }
-// return rc;
-//}
-
Deleted: brlcad/trunk/src/libbrep/openNURBS/opennurbs_brep_kinky.cpp
===================================================================
--- brlcad/trunk/src/other/openNURBS/opennurbs_brep_kinky.cpp 2020-05-06
13:00:38 UTC (rev 75705)
+++ brlcad/trunk/src/libbrep/openNURBS/opennurbs_brep_kinky.cpp 2020-05-06
17:14:34 UTC (rev 75706)
@@ -1,192 +0,0 @@
-/* $NoKeywords: $ */
-/*
-//
-// Copyright (c) 1993-2007 Robert McNeel & Associates. All rights reserved.
-// Rhinoceros is a registered trademark of Robert McNeel & Assoicates.
-//
-// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
-// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
-// MERCHANTABILITY ARE HEREBY DISCLAIMED.
-//
-// For complete openNURBS copyright information see <http://www.opennurbs.org>.
-//
-////////////////////////////////////////////////////////////////
-*/
-
-#include "opennurbs.h"
-
-
-bool ON_Brep::SplitKinkyFaces(
- double kink_tol_radians,
- bool bCompactIfNeeded
- )
-{
- bool rc = true;
- // see if splitting is required
- const int ecount = m_E.Count();
- const int fcount = m_F.Count();
- for (int j=0; j<fcount; j++)
- {
- if ( !SplitKinkyFace(j,kink_tol_radians) )
- rc = false;
- }
- if (bCompactIfNeeded && ( fcount != m_F.Count() || ecount != m_E.Count()) )
- {
- Compact();
- }
- return true;
-}
-
-
-bool ON_Brep::SplitKinkyFace(
- int, // face_index - formal parameter intentionally ignored in this
virtual function
- double // kink_tol_radians - formal parameter intentionally ignored in this
virtual function
- )
-{
- // works in RHino SDK - not part of free opennurbs
- return false;
-}
-
-bool ON_Brep::SplitKinkyEdge(
- int edge_index,
- double kink_tol_radians
- )
-{
- // Default kink_tol_radians MUST BE ON_PI/180.0.
- //
- // The default kink tol must be kept in sync with the default for
- // TL_Brep::SplitKinkyFace() and ON_Brep::SplitKinkyFace().
- // See comments in TL_Brep::SplitKinkyFace() for more details.
-
- bool rc = true;
- if (kink_tol_radians < ON_ZERO_TOLERANCE) kink_tol_radians =
ON_ZERO_TOLERANCE;
- else if (kink_tol_radians > ON_PI - ON_ZERO_TOLERANCE)
- kink_tol_radians = ON_PI - ON_ZERO_TOLERANCE;
- double atol = cos(kink_tol_radians);
- if (edge_index < 0 || edge_index >= m_E.Count()) return false;
- ON_BrepEdge& E = m_E[edge_index];
- if (E.m_c3i < 0) return false;
- ON_SimpleArray<double> split_t(4);
- double t0 = E.Domain()[0];
- int hint = 0;
- ON_Curve* curve = m_C3[E.m_c3i];
- if (!curve) return false;
- int scount = curve->SpanCount();
- while (split_t.Count() < scount){
- double t;
- if (!E.GetNextDiscontinuity(ON::G1_continuous, t0, E.Domain()[1],
- &t, &hint, NULL, atol)) break;
- split_t.Append(t);
- t0 = t;
- }
- if (split_t.Count() >= scount) return false;
-
- if (split_t.Count() == 0) return true;//no kinks
-
- split_t.Reverse();
- for (int i=0; i<split_t.Count(); i++){
- //if split parameter is near start or end, just adjust domain.
- double t0, t1;
- m_E[edge_index].GetDomain(&t0, &t1);
- if (t1 - t0 < 10.0*ON_ZERO_TOLERANCE) continue;
-
- //6 Dec 2002 Dale Lear:
- // I added the relative edge_split_s and trm_split_s tests to detect
- // attempts to trim a nano-gnats-wisker of the end of a trim.
-
- // set to true if edge should be trimmed instead of split.
- bool bTrimEdgeEnd = false;
-
@@ Diff output truncated at 100000 characters. @@
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