Revision: 75708
http://sourceforge.net/p/brlcad/code/75708
Author: starseeker
Date: 2020-05-06 18:52:45 +0000 (Wed, 06 May 2020)
Log Message:
-----------
Revert openNURBS move
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/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/other/openNURBS/
Removed 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
Modified: brlcad/trunk/INSTALL
===================================================================
--- brlcad/trunk/INSTALL 2020-05-06 18:01:22 UTC (rev 75707)
+++ brlcad/trunk/INSTALL 2020-05-06 18:52:45 UTC (rev 75708)
@@ -644,6 +644,16 @@
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 18:01:22 UTC (rev 75707)
+++ brlcad/trunk/configure 2020-05-06 18:52:45 UTC (rev 75708)
@@ -162,6 +162,10 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/doc/legal/embedded/OpenNURBS.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -12,235 +12,236 @@
ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
MERCHANTABILITY ARE HEREBY DISCLAIMED.
-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_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/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/librt/primitives/tor/tor_brep.cpp
Modified: brlcad/trunk/include/brep/defines.h
===================================================================
--- brlcad/trunk/include/brep/defines.h 2020-05-06 18:01:22 UTC (rev 75707)
+++ brlcad/trunk/include/brep/defines.h 2020-05-06 18:52:45 UTC (rev 75708)
@@ -47,29 +47,7 @@
*/
#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 18:01:22 UTC (rev
75707)
+++ brlcad/trunk/misc/attributes/CMakeLists.txt 2020-05-06 18:52:45 UTC (rev
75708)
@@ -7,6 +7,7 @@
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
18:01:22 UTC (rev 75707)
+++ brlcad/trunk/misc/external_build_testing/CMakeLists.txt 2020-05-06
18:52:45 UTC (rev 75708)
@@ -670,6 +670,128 @@
)
###############################################################################
+# 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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/misc/win32-msvc/Dll/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -96,7 +96,7 @@
include_directories(
../../../../rt^3/include
${ZLIB_INCLUDE_DIRS}
- ${BREP_INCLUDE_DIR}
+ ${OPENNURBS_INCLUDE_DIR}
)
if(MSVC)
Modified: brlcad/trunk/src/conv/iges/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/conv/iges/CMakeLists.txt 2020-05-06 18:01:22 UTC (rev
75707)
+++ brlcad/trunk/src/conv/iges/CMakeLists.txt 2020-05-06 18:52:45 UTC (rev
75708)
@@ -1,7 +1,6 @@
set(IGES_INCLUDE_DIRS
${BU_INCLUDE_DIRS}
${BN_INCLUDE_DIRS}
- ${BREP_INCLUDE_DIRS}
${RT_INCLUDE_DIRS}
${WDB_INCLUDE_DIRS}
)
@@ -18,7 +17,7 @@
# n_iges.cpp
# n_main.cpp
#)
-#target_link_libraries(iges libwdb librt libbrep libbu ${WIN32LIBS}
${M_LIBRARY})
+#target_link_libraries(iges libwdb librt libbu ${OPENNURBS_LIBRARIES}
${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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/ap203e2-g/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../step-g
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP203_INCLUDE_DIRS)
@@ -231,6 +231,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/ap214-g/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -3,7 +3,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../step-g
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP214_INCLUDE_DIRS)
@@ -232,6 +232,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/ap242-g/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../step-g
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP242_INCLUDE_DIRS)
@@ -231,6 +231,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/g-ap203e2/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -1,7 +1,7 @@
set(AP203_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP203_INCLUDE_DIRS)
@@ -38,6 +38,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/g-ap214/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../g-step
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP214_INCLUDE_DIRS)
@@ -39,6 +39,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/g-ap242/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -2,7 +2,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/../g-step
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP242_INCLUDE_DIRS)
@@ -35,6 +35,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/g-step/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -37,6 +37,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/ifc-g/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -1,7 +1,7 @@
set(IFC_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(IFC_INCLUDE_DIRS)
@@ -24,6 +24,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/step-g/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -1,7 +1,7 @@
set(AP203_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${BREP_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
BRLCAD_INCLUDE_DIRS(AP203_INCLUDE_DIRS)
@@ -461,6 +461,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/conv/step/util/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -1,7 +1,6 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
- ${BREP_INCLUDE_DIRS}
)
set(STEP_SCHEMA_FILE ${STEPCODE_DIR}/data/ap203/ap203.exp)
@@ -15,6 +14,7 @@
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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/external/Creo/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -214,9 +214,10 @@
librt
libvds
libwdb
+ openNURBS
regex
zlib1
- libSPSR
+ libSPSR
)
set(BRLCAD_STATIC_LIBS)
set(brlcadlibs_notinstalled)
@@ -350,7 +351,7 @@
include_directories(
"${CMAKE_CURRENT_BINARY_DIR}/../../../include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libbrep/openNURBS"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/other/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 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/external/Cubit/CMakeLists.txt 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -10,7 +10,7 @@
include_directories(
"${CMAKE_CURRENT_BINARY_DIR}/../../../include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libbrep/openNURBS"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/other/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
18:01:22 UTC (rev 75707)
+++ brlcad/trunk/src/external/Unigraphics/CMakeLists.txt 2020-05-06
18:52:45 UTC (rev 75708)
@@ -10,7 +10,7 @@
include_directories(
"${CMAKE_CURRENT_BINARY_DIR}/../../../include"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libbrep/openNURBS"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/other/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 18:01:22 UTC (rev
75707)
+++ brlcad/trunk/src/libbrep/CMakeLists.txt 2020-05-06 18:52:45 UTC (rev
75708)
@@ -2,11 +2,10 @@
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}
- ${ZLIB_INCLUDE_DIRS}
+ ${OPENNURBS_INCLUDE_DIRS}
)
# locally used but not needed by users of the library
@@ -18,166 +17,7 @@
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
@@ -246,134 +86,14 @@
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};${ZLIB_LIBRARIES};${WINSOCK_LIB};${RPCRT_LIB};${STDCXX_LIBRARIES}")
+BRLCAD_ADDLIB(libbrep "${LIBBREP_SOURCES}"
"libbg;libbn;libbu;${OPENNURBS_LIBRARIES};${P2T_LIBRARY};${WINSOCK_LIB};${RPCRT_LIB};${STDCXX_LIBRARIES}")
set_target_properties(libbrep PROPERTIES VERSION 20.0.1 SOVERSION 20)
add_subdirectory(tests)
-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_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
- )
+CMAKEFILES(CMakeLists.txt)
-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
Deleted: brlcad/trunk/src/libbrep/opennurbs_basic.cpp
===================================================================
--- brlcad/trunk/src/libbrep/opennurbs_basic.cpp 2020-05-06 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/libbrep/opennurbs_basic.cpp 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -1,479 +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 "common.h"
-
-#include "opennurbs.h"
-
-int ON_ArcCurve::IntersectSelf(
- ON_SimpleArray<ON_X_EVENT>& UNUSED(x),
- double UNUSED(intersection_tolerance),
- const ON_Interval* UNUSED(curve_domain)
- ) const
-{
- return 0;
-}
-
-int ON_LineCurve::IntersectSelf(
- ON_SimpleArray<ON_X_EVENT>& UNUSED(x),
- double UNUSED(intersection_tolerance),
- const ON_Interval* UNUSED(curve_domain)
- ) const
-{
- return 0;
-}
-
-#if !defined(OPENNURBS_PLUS_INC_)
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_Line functions
-//
-
-int ON_Line::IntersectSurface(
- const ON_Surface* UNUSED(surfaceB),
- ON_SimpleArray<ON_X_EVENT>& UNUSED(x),
- double UNUSED(intersection_tolerance),
- double UNUSED(overlap_tolerance),
- const ON_Interval* UNUSED(line_domain),
- const ON_Interval* UNUSED(surfaceB_udomain),
- const ON_Interval* UNUSED(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&
UNUSED(srfleafbox)) const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-double ON_PlaneEquation::MaximumValueAt(const ON_SurfaceLeafBox&
UNUSED(srfleafbox)) const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-double ON_PlaneEquation::MinimumValueAt(const class ON_CurveLeafBox&
UNUSED(crvleafbox)) const
-{
- // The working function is part of the Rhino SDK.
- return 0.0;
-}
-
-double ON_PlaneEquation::MaximumValueAt(const class ON_CurveLeafBox&
UNUSED(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>& UNUSED(x),
- double UNUSED(intersection_tolerance)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_BezierCurve::IntersectCurve(
- const ON_BezierCurve* UNUSED(bezierB),
- ON_SimpleArray<ON_X_EVENT>& UNUSED(x),
- double UNUSED(intersection_tolerance),
- double UNUSED(overlap_tolerance),
- const ON_Interval* UNUSED(bezierA_domain),
- const ON_Interval* UNUSED(bezierB_domain)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-int ON_BezierCurve::IntersectSurface(
- const ON_BezierSurface* UNUSED(bezsrfB),
- ON_SimpleArray<ON_X_EVENT>& UNUSED(x),
- double UNUSED(intersection_tolerance),
- double UNUSED(overlap_tolerance),
- const ON_Interval* UNUSED(bezierA_domain),
- const ON_Interval* UNUSED(bezsrfB_udomain),
- const ON_Interval* UNUSED(bezsrfB_vdomain)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return 0;
-}
-
-bool ON_BezierCurve::GetLocalClosestPoint(
- ON_3dPoint UNUSED(P),
- double UNUSED(seed_parameter),
- double* UNUSED(t),
- const ON_Interval* UNUSED(sub_domain)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_BezierCurve::GetClosestPoint(
- ON_3dPoint UNUSED(P),
- double* UNUSED(t),
- double UNUSED(maximum_distance),
- const ON_Interval* UNUSED(sub_domain)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_BezierCurve::GetLocalCurveIntersection(
- const ON_BezierCurve* UNUSED(other_bezcrv),
- double UNUSED(this_seed_t),
- double UNUSED(other_seed_t),
- double* UNUSED(this_t),
- double* UNUSED(other_t),
- const ON_Interval* UNUSED(this_domain),
- const ON_Interval* UNUSED(other_domain)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-
-bool ON_BezierCurve::GetLocalSurfaceIntersection(
- const ON_BezierSurface* UNUSED(bezsrf),
- double UNUSED(seed_t),
- double UNUSED(seed_u),
- double UNUSED(seed_v),
- double* UNUSED(t),
- double* UNUSED(u),
- double* UNUSED(v),
- const ON_Interval* UNUSED(tdomain),
- const ON_Interval* UNUSED(udomain),
- const ON_Interval* UNUSED(vdomain)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-
-////////////////////////////////////////////////////////////////
-//
-// Basic ON_BezierSurface functions
-//
-
-bool ON_BezierSurface::GetLocalClosestPoint(
- ON_3dPoint UNUSED(P),
- double UNUSED(s_seed),
- double UNUSED(t_seed),
- double* UNUSED(s),
- double* UNUSED(t),
- const ON_Interval* UNUSED(sub_domain0),
- const ON_Interval* UNUSED(sub_domain1)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return false;
-}
-
-bool ON_BezierSurface::GetClosestPoint(
- ON_3dPoint UNUSED(P),
- double* UNUSED(s),
- double* UNUSED(t),
- double UNUSED(maximum_distance),
- const ON_Interval* UNUSED(sub_domain0),
- const ON_Interval* UNUSED(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* UNUSED(text_log),
- double UNUSED(intersection_tolerance),
- double UNUSED(overlap_tolerance),
- const ON_Curve* UNUSED(curveA),
- const ON_Interval* UNUSED(curveA_domain),
- const ON_Curve* UNUSED(curveB),
- const ON_Interval* UNUSED(curveB_domain),
- const ON_Surface* UNUSED(surfaceB),
- const ON_Interval* UNUSED(surfaceB_domain0),
- const ON_Interval* UNUSED(surfaceB_domain1)
- ) const
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-void ON_X_EVENT::CopyEventPart(
- const ON_X_EVENT& UNUSED(src),
- int UNUSED(i),
- ON_X_EVENT& UNUSED(dst),
- int UNUSED(j)
- )
-{
- // The working function is part of the Rhino SDK.
-}
-
-bool ON_X_EVENT::IsValidList(
- int UNUSED(xevent_count),
- const ON_X_EVENT* UNUSED(xevent),
- ON_TextLog* UNUSED(text_log),
- double UNUSED(intersection_tolerance),
- double UNUSED(overlap_tolerance),
- const class ON_Curve* UNUSED(curveA),
- const class ON_Interval* UNUSED(curveA_domain),
- const class ON_Curve* UNUSED(curveB),
- const class ON_Interval* UNUSED(curveB_domain),
- const class ON_Surface* UNUSED(surfaceB),
- const class ON_Interval* UNUSED(surfaceB_domain0),
- const class ON_Interval* UNUSED(surfaceB_domain1)
- )
-{
- // The working function is part of the Rhino SDK.
- return true;
-}
-
-int ON_X_EVENT::CleanList(
- double UNUSED(event_tolerance),
- double UNUSED(overlap_tolerance),
- int xevent_count,
- ON_X_EVENT* UNUSED(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
Deleted: brlcad/trunk/src/libbrep/opennurbs_brep_changesrf.cpp
===================================================================
--- brlcad/trunk/src/libbrep/opennurbs_brep_changesrf.cpp 2020-05-06
18:01:22 UTC (rev 75707)
+++ brlcad/trunk/src/libbrep/opennurbs_brep_changesrf.cpp 2020-05-06
18:52:45 UTC (rev 75708)
@@ -1,836 +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 "common.h"
-
-#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 rc;
-}
-
-static
-ON_Curve* PushUpIsoTrim( ON_Brep& UNUSED(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_brep_kinky.cpp
===================================================================
--- brlcad/trunk/src/libbrep/opennurbs_brep_kinky.cpp 2020-05-06 18:01:22 UTC
(rev 75707)
+++ brlcad/trunk/src/libbrep/opennurbs_brep_kinky.cpp 2020-05-06 18:52:45 UTC
(rev 75708)
@@ -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 rc;
-}
-
-
-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 lt0, lt1;
- m_E[edge_index].GetDomain(<0, <1);
- if (lt1 - lt0 < 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;
-
- double edge_split_s =
ON_Interval(lt0,lt1).NormalizedParameterAt(split_t[i]);
- double trim_split_s = 0.5;
-
- if (split_t[i] - lt0 <= ON_ZERO_TOLERANCE || edge_split_s <=
ON_SQRT_EPSILON )
- {
- //m_E[edge_index].ON_CurveProxy::Trim(ON_Interval(split_t[i], lt1));
- if ( split_t[i] - lt0 <= ON_ZERO_TOLERANCE )
- edge_split_s = 0.0; // just in case edge_split_s is too large for
later test
- bTrimEdgeEnd = true;
- continue;
- }
- else if (lt1 - split_t[i] <= ON_ZERO_TOLERANCE || edge_split_s >=
1.0-ON_SQRT_EPSILON)
- {
- //m_E[edge_index].ON_CurveProxy::Trim(ON_Interval(lt0, split_t[i]));
- if ( lt1 - split_t[i] <= ON_ZERO_TOLERANCE )
- edge_split_s = 1.0; // just in case edge_split_s is too small for
later test
- bTrimEdgeEnd = true;
- continue;
- }
-
- // trim_t[] = corresponding trim parameters
- ON_SimpleArray<double> trim_t(m_E[edge_index].m_ti.Count());
-
-
- if ( !bTrimEdgeEnd )
- {
- for (int j=0; j<m_E[edge_index].m_ti.Count(); j++)
- {
- double t;
- if (!GetTrimParameter(m_E[edge_index].m_ti[j], split_t[i], &t)){
- rc = false;
- continue;
- }
- trim_t.Append(t);
- const ON_BrepTrim& trim = m_T[m_E[edge_index].m_ti[j]];
- ON_Interval trim_domain = trim.Domain();
- trim_split_s = trim_domain.NormalizedParameterAt(t);
- if ( trim_split_s <= ON_SQRT_EPSILON || t - trim_domain[0] <=
ON_ZERO_TOLERANCE )
- {
- bTrimEdgeEnd = true;
- break;
- }
- if ( trim_split_s >= 1.0-ON_SQRT_EPSILON || trim_domain[1] - t <=
ON_ZERO_TOLERANCE )
- {
- bTrimEdgeEnd = true;
- break;
- }
- }
- }
-
- if ( bTrimEdgeEnd )
- {
- // if we get here, a split parameter we got was too close to
- // the end of the edge or a trim for us to split it.
- if ( edge_split_s <= 0.01 )
- {
- if ( lt0 < split_t[i] )
- m_E[edge_index].ON_CurveProxy::Trim(ON_Interval(split_t[i], lt1));
- }
- else if ( edge_split_s >= 0.99 )
- {
- if ( split_t[i] < lt1 )
- m_E[edge_index].ON_CurveProxy::Trim(ON_Interval(lt0, split_t[i]));
- }
- else
- {
- // no decent agreement between trims and edges - continue
- // with other parameters but this is basically the same
- // thing as having SplitEdge() fail.
- rc = false;
- }
-
- continue;
- }
-
- if (!SplitEdge(edge_index, split_t[i], trim_t)){
- rc = false;
- continue;
- }
- ON_Curve* new_curve0 = m_E[edge_index].DuplicateCurve();
- if (new_curve0){
- m_E[edge_index].m_c3i = AddEdgeCurve(new_curve0);
- m_E[edge_index].SetProxyCurve(new_curve0);
- }
- ON_Curve* new_curve1 = m_E.Last()->DuplicateCurve();
- if (new_curve1){
- m_E.Last()->m_c3i = AddEdgeCurve(new_curve1);
- m_E.Last()->SetProxyCurve(new_curve1);
- }
- }
-
- return rc;
-}
Deleted: brlcad/trunk/src/libbrep/opennurbs_x.cpp
===================================================================
--- brlcad/trunk/src/libbrep/opennurbs_x.cpp 2020-05-06 18:01:22 UTC (rev
75707)
+++ brlcad/trunk/src/libbrep/opennurbs_x.cpp 2020-05-06 18:52:45 UTC (rev
75708)
@@ -1,1050 +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 "common.h"
-#include "vmath.h"
-
-#include "opennurbs.h"
-
-ON_X_EVENT::ON_X_EVENT()
-{
- m_user = ON_U();
- m_type = no_x_event;
- for (int i = 0; i < 2; i++) {
- m_A[i] = ON_3dPoint();
- m_B[i] = ON_3dPoint();
- m_a[i] = 0.0;
- m_b[i] = 0.0;
- m_dirA[i] = no_x_dir;
- m_dirB[i] = no_x_dir;
- m_cnodeA[i] = NULL;
- m_nodeA_t[i] = 0.0;
- m_cnodeB[i] = NULL;
- m_snodeB[i] = NULL;
- m_nodeB_t[i] = 0.0;
- }
- for (int i = 2; i < 4; i++) {
- m_b[i] = 0.0;
- m_nodeB_t[i] = 0.0;
- }
- m_x_eventsn = 0;
-}
-
-int ON_X_EVENT::Compare( const ON_X_EVENT* a, const ON_X_EVENT* b)
-{
- if ( !a )
- {
- return b ? 1 : 0;
- }
-
- if (!b)
- return -1;
-
- if( a->m_a[0] < b->m_a[0])
- return -1;
-
- if( a->m_a[0] > b->m_a[0])
- return 1;
-
- if( a->m_a[1] < b->m_a[1])
- return -1;
-
- if( a->m_a[1] > b->m_a[1])
- return 1;
-
- return 0;
-}
-
-static void DumpDistanceABHelper( ON_TextLog& text_log, ON_3dPoint A,
ON_3dPoint B )
-{
- const double tinyd = 1.0e-14;
- double d = A.DistanceTo(B);
- text_log.Print("distance A to B");
- if ( !ON_IsValid(d) || d >= 1.0e-14 || d <= 0.0 )
- {
- text_log.Print(" = ");
- }
- else
- {
- // This prevents diff from compaining about tiny changes.
- text_log.Print(" < ");
- d = tinyd;
- }
- text_log.Print(d);
- text_log.Print("\n");
-}
-
-static void DumpDistanceABHelper( ON_TextLog& text_log, ON_3dPoint A0,
ON_3dPoint B0, ON_3dPoint A1, ON_3dPoint B1 )
-{
- if ( A0.DistanceTo(B0) <= A1.DistanceTo(B0) )
- DumpDistanceABHelper( text_log, A0, B0 );
- else
- DumpDistanceABHelper( text_log, A1, B1 );
-}
-
-void ON_X_EVENT::Dump(ON_TextLog& text_log) const
-{
- int j;
-
- text_log.Print("m_type: ");
- switch( m_type )
- {
- case ON_X_EVENT::no_x_event:
- text_log.Print("no_x_event");
- break;
- case ON_X_EVENT::ccx_point:
- text_log.Print("ccx_point");
- break;
- case ON_X_EVENT::ccx_overlap:
- text_log.Print("ccx_overlap");
- break;
- case ON_X_EVENT::csx_point:
- text_log.Print("csx_point");
- break;
- case ON_X_EVENT::csx_overlap:
- text_log.Print("csx_overlap");
- break;
- default:
- text_log.Print("illegal value");
- break;
- }
- text_log.Print("\n");
- text_log.PushIndent();
-
- switch( m_type )
- {
- case ON_X_EVENT::ccx_point:
- case ON_X_EVENT::csx_point:
- // don't use %g so the text_log double format can control display precision
- text_log.Print("curveA(");
- text_log.Print(m_a[0]);
- text_log.Print(") = \n");
- text_log.PushIndent();
- text_log.Print(m_A[0]);
- text_log.Print("\n");
- text_log.PopIndent();
- break;
-
- case ON_X_EVENT::ccx_overlap:
- case ON_X_EVENT::csx_overlap:
- // don't use %g so the text_log double format can control display precision
- text_log.Print("curveA(");
- text_log.Print(m_a[0]);
- text_log.Print(" to ");
- text_log.Print(m_a[1]);
- text_log.Print(") = \n");
- text_log.PushIndent();
- text_log.Print(m_A[0]);
- text_log.Print(" to ");
- text_log.Print(m_A[1]);
- text_log.Print("\n");
- text_log.PopIndent();
- break;
-
- case ON_X_EVENT::no_x_event:
- break;
- }
-
- switch( m_type )
- {
- case ON_X_EVENT::ccx_point:
- // don't use %g so the text_log double format can control display precision
- text_log.Print("curveB(");
- text_log.Print(m_b[0]);
- text_log.Print(") = \n");
- text_log.PushIndent();
- text_log.Print(m_B[0]);
- text_log.Print("\n");
- text_log.PopIndent();
- DumpDistanceABHelper(text_log,m_A[0],m_B[0]);
- break;
-
- case ON_X_EVENT::csx_point:
- // don't use %g so the text_log double format can control display precision
- text_log.Print("surfaceB");
- text_log.Print(ON_2dPoint(m_b[0],m_b[1]));
- text_log.Print(" = \n");
- text_log.PushIndent();
- text_log.Print(m_B[0]);
- text_log.Print("\n");
- text_log.PopIndent();
- DumpDistanceABHelper(text_log,m_A[0],m_B[0]);
- break;
-
- case ON_X_EVENT::ccx_overlap:
- // don't use %g so the text_log double format can control display precision
- text_log.Print("curveB(");
- text_log.Print(m_b[0]);
- text_log.Print(" to ");
- text_log.Print(m_b[1]);
- text_log.Print(") = \n");
- text_log.PushIndent();
- text_log.Print(m_B[0]);
- text_log.Print(" to ");
- text_log.Print(m_B[1]);
- text_log.Print("\n");
- text_log.PopIndent();
- DumpDistanceABHelper(text_log,m_A[0],m_B[0],m_A[1],m_B[1]);
- break;
-
- case ON_X_EVENT::csx_overlap:
- // don't use %g so the text_log double format can control display precision
- text_log.Print("surface(");
- text_log.Print(ON_2dPoint(m_b[0],m_b[1]));
- text_log.Print(" to ");
- text_log.Print(ON_2dPoint(m_b[2],m_b[3]));
- text_log.Print(") = \n");
- text_log.PushIndent();
- text_log.Print(m_B[0]);
- text_log.Print(" to ");
- text_log.Print(m_B[1]);
- text_log.Print("\n");
- text_log.PopIndent();
- DumpDistanceABHelper(text_log,m_A[0],m_B[0],m_A[1],m_B[1]);
- break;
-
- case ON_X_EVENT::no_x_event:
- break;
- }
-
- text_log.Print("m_dirA[] = (");
- for ( j = 0; j < 2; j++ )
- {
- if (j)
- {
- text_log.Print(", ");
- }
- switch(m_dirA[j])
- {
- case ON_X_EVENT::no_x_dir:
- text_log.Print("no_x_dir");
- break;
- case ON_X_EVENT::at_end_dir:
- text_log.Print("at_end_dir");
- break;
- case ON_X_EVENT::from_above_dir:
- text_log.Print("from_above_dir");
- break;
- case ON_X_EVENT::from_below_dir:
- text_log.Print("from_below_dir");
- break;
- case ON_X_EVENT::from_on_dir:
- text_log.Print("from_on_dir");
- break;
- case ON_X_EVENT::to_above_dir:
- text_log.Print("to_above_dir");
- break;
- case ON_X_EVENT::to_below_dir:
- text_log.Print("to_below_dir");
- break;
- case ON_X_EVENT::to_on_dir:
- text_log.Print("to_on_dir");
- break;
- default:
- text_log.Print("illegal value");
- break;
- }
- }
- text_log.Print(")\n");
-
-#if defined(OPENNURBS_PLUS_INC_)
- switch( m_type )
- {
- case ON_X_EVENT::ccx_point:
- case ON_X_EVENT::ccx_overlap:
- text_log.Print("cnodeA sn = %d,%d
",m_cnodeA[0]?m_cnodeA[0]->m_nodesn:-1,m_cnodeA[1]?m_cnodeA[1]->m_nodesn:-1);
- text_log.Print("cnodeB sn =
%d,%d\n",m_cnodeB[0]?m_cnodeB[0]->m_nodesn:-1,m_cnodeB[1]?m_cnodeB[1]->m_nodesn:-1);
- break;
-
- case ON_X_EVENT::csx_point:
- case ON_X_EVENT::csx_overlap:
- text_log.Print("cnodeA sn = %d,%d
",m_cnodeA[0]?m_cnodeA[0]->m_nodesn:-1,m_cnodeA[1]?m_cnodeA[1]->m_nodesn:-1);
- text_log.Print("snodeB sn =
%d,%d\n",m_snodeB[0]?m_snodeB[0]->m_nodesn:-1,m_snodeB[1]?m_snodeB[1]->m_nodesn:-1);
- break;
- }
-#endif
-
- text_log.PopIndent();
-}
-
-
-double ON_X_EVENT::IntersectionTolerance( double intersection_tolerance )
-{
- if ( intersection_tolerance <= 0.0 || !ON_IsValid(intersection_tolerance) )
- {
- intersection_tolerance = 0.001;
- }
- else if ( intersection_tolerance < 1.0e-6 )
- {
- intersection_tolerance = 1.0e-6;
- }
- return intersection_tolerance;
-}
-
-double ON_X_EVENT::OverlapTolerance( double intersection_tolerance, double
overlap_tolerance )
-{
- if ( overlap_tolerance <= 0.0 || !ON_IsValid(overlap_tolerance) )
- {
- overlap_tolerance = 2.0*IntersectionTolerance(intersection_tolerance);
- }
- else if ( overlap_tolerance < 1.0e-6 )
- {
- overlap_tolerance = 1.0e-6;
- }
- return overlap_tolerance;
-}
-
-bool ON_X_EVENT::IsPointEvent() const
-{
- return (ccx_point == m_type || csx_point == m_type);
-}
-
-bool ON_X_EVENT::IsOverlapEvent() const
-{
- return (ccx_overlap == m_type || csx_overlap == m_type);
-}
-
-bool ON_X_EVENT::IsCCXEvent() const
-{
- return (ccx_point == m_type || ccx_overlap == m_type);
-}
-
-bool ON_X_EVENT::IsCSXEvent() const
-{
- return (csx_point == m_type || csx_overlap == m_type);
-}
-
-
-
-ON_SSX_EVENT::ON_SSX_EVENT()
-{
- m_user = ON_U();
- m_type = no_ssx_event;
- m_curveA = NULL;
- m_curveB = NULL;
- m_curve3d = NULL;
- m_pointA = ON_3dPoint();
- m_pointB = ON_3dPoint();
- m_point3d = ON_3dPoint();
-}
-
-ON_SSX_EVENT::~ON_SSX_EVENT()
-{
- if ( m_curveA )
- {
- delete m_curveA;
- m_curveA = 0;
- }
@@ 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