[Bf-blender-cvs] [ff80781] soc-2014-nurbs: Initial import of .3dm (Rhino) import/export stubs, OpenMP mac+CMake build fix, and opennurbs library (along with cmake changes to build it).

Jonathan deWerd noreply at git.blender.org
Fri Jun 27 08:14:35 CEST 2014


Commit: ff80781e8d010eac54284d54ad8b8c0fb4704316
Author: Jonathan deWerd
Date:   Mon Jun 2 02:23:53 2014 -0400
https://developer.blender.org/rBff80781e8d010eac54284d54ad8b8c0fb4704316

Initial import of .3dm (Rhino) import/export stubs, OpenMP mac+CMake build fix, and opennurbs library (along with cmake changes to build it).

===================================================================

M	CMakeLists.txt
M	build_files/cmake/macros.cmake
M	extern/CMakeLists.txt
A	extern/opennurbs/CMakeLists.txt
A	extern/opennurbs/examples_linking_pragmas.h
A	extern/opennurbs/makefile
A	extern/opennurbs/opennurbs.h
A	extern/opennurbs/opennurbs_3dm.h
A	extern/opennurbs/opennurbs_3dm_attributes.cpp
A	extern/opennurbs/opennurbs_3dm_attributes.h
A	extern/opennurbs/opennurbs_3dm_properties.cpp
A	extern/opennurbs/opennurbs_3dm_properties.h
A	extern/opennurbs/opennurbs_3dm_settings.cpp
A	extern/opennurbs/opennurbs_3dm_settings.h
A	extern/opennurbs/opennurbs_annotation.cpp
A	extern/opennurbs/opennurbs_annotation.h
A	extern/opennurbs/opennurbs_annotation2.cpp
A	extern/opennurbs/opennurbs_annotation2.h
A	extern/opennurbs/opennurbs_arc.cpp
A	extern/opennurbs/opennurbs_arc.h
A	extern/opennurbs/opennurbs_arccurve.cpp
A	extern/opennurbs/opennurbs_arccurve.h
A	extern/opennurbs/opennurbs_archive.cpp
A	extern/opennurbs/opennurbs_archive.h
A	extern/opennurbs/opennurbs_array.cpp
A	extern/opennurbs/opennurbs_array.h
A	extern/opennurbs/opennurbs_array_defs.h
A	extern/opennurbs/opennurbs_base32.cpp
A	extern/opennurbs/opennurbs_base32.h
A	extern/opennurbs/opennurbs_base64.cpp
A	extern/opennurbs/opennurbs_base64.h
A	extern/opennurbs/opennurbs_beam.cpp
A	extern/opennurbs/opennurbs_beam.h
A	extern/opennurbs/opennurbs_bezier.cpp
A	extern/opennurbs/opennurbs_bezier.h
A	extern/opennurbs/opennurbs_beziervolume.cpp
A	extern/opennurbs/opennurbs_bitmap.cpp
A	extern/opennurbs/opennurbs_bitmap.h
A	extern/opennurbs/opennurbs_bounding_box.cpp
A	extern/opennurbs/opennurbs_bounding_box.h
A	extern/opennurbs/opennurbs_box.cpp
A	extern/opennurbs/opennurbs_box.h
A	extern/opennurbs/opennurbs_brep.cpp
A	extern/opennurbs/opennurbs_brep.h
A	extern/opennurbs/opennurbs_brep_extrude.cpp
A	extern/opennurbs/opennurbs_brep_io.cpp
A	extern/opennurbs/opennurbs_brep_isvalid.cpp
A	extern/opennurbs/opennurbs_brep_region.cpp
A	extern/opennurbs/opennurbs_brep_tools.cpp
A	extern/opennurbs/opennurbs_brep_v2valid.cpp
A	extern/opennurbs/opennurbs_circle.cpp
A	extern/opennurbs/opennurbs_circle.h
A	extern/opennurbs/opennurbs_color.cpp
A	extern/opennurbs/opennurbs_color.h
A	extern/opennurbs/opennurbs_compress.cpp
A	extern/opennurbs/opennurbs_compress.h
A	extern/opennurbs/opennurbs_cone.cpp
A	extern/opennurbs/opennurbs_cone.h
A	extern/opennurbs/opennurbs_crc.cpp
A	extern/opennurbs/opennurbs_crc.h
A	extern/opennurbs/opennurbs_curve.cpp
A	extern/opennurbs/opennurbs_curve.h
A	extern/opennurbs/opennurbs_curveonsurface.cpp
A	extern/opennurbs/opennurbs_curveonsurface.h
A	extern/opennurbs/opennurbs_curveproxy.cpp
A	extern/opennurbs/opennurbs_curveproxy.h
A	extern/opennurbs/opennurbs_cylinder.cpp
A	extern/opennurbs/opennurbs_cylinder.h
A	extern/opennurbs/opennurbs_defines.cpp
A	extern/opennurbs/opennurbs_defines.h
A	extern/opennurbs/opennurbs_detail.cpp
A	extern/opennurbs/opennurbs_detail.h
A	extern/opennurbs/opennurbs_dimstyle.cpp
A	extern/opennurbs/opennurbs_dimstyle.h
A	extern/opennurbs/opennurbs_dll.cpp
A	extern/opennurbs/opennurbs_dll_resource.h
A	extern/opennurbs/opennurbs_ellipse.cpp
A	extern/opennurbs/opennurbs_ellipse.h
A	extern/opennurbs/opennurbs_embedded_file.cpp
A	extern/opennurbs/opennurbs_error.cpp
A	extern/opennurbs/opennurbs_error.h
A	extern/opennurbs/opennurbs_error_message.cpp
A	extern/opennurbs/opennurbs_evaluate_nurbs.cpp
A	extern/opennurbs/opennurbs_evaluate_nurbs.h
A	extern/opennurbs/opennurbs_extensions.cpp
A	extern/opennurbs/opennurbs_extensions.h
A	extern/opennurbs/opennurbs_font.cpp
A	extern/opennurbs/opennurbs_font.h
A	extern/opennurbs/opennurbs_fpoint.h
A	extern/opennurbs/opennurbs_fsp.cpp
A	extern/opennurbs/opennurbs_fsp.h
A	extern/opennurbs/opennurbs_fsp_defs.h
A	extern/opennurbs/opennurbs_geometry.cpp
A	extern/opennurbs/opennurbs_geometry.h
A	extern/opennurbs/opennurbs_gl.cpp
A	extern/opennurbs/opennurbs_gl.h
A	extern/opennurbs/opennurbs_group.cpp
A	extern/opennurbs/opennurbs_group.h
A	extern/opennurbs/opennurbs_hatch.cpp
A	extern/opennurbs/opennurbs_hatch.h
A	extern/opennurbs/opennurbs_hsort_template.h
A	extern/opennurbs/opennurbs_instance.cpp
A	extern/opennurbs/opennurbs_instance.h
A	extern/opennurbs/opennurbs_intersect.cpp
A	extern/opennurbs/opennurbs_intersect.h
A	extern/opennurbs/opennurbs_knot.cpp
A	extern/opennurbs/opennurbs_knot.h
A	extern/opennurbs/opennurbs_layer.cpp
A	extern/opennurbs/opennurbs_layer.h
A	extern/opennurbs/opennurbs_light.cpp
A	extern/opennurbs/opennurbs_light.h
A	extern/opennurbs/opennurbs_line.cpp
A	extern/opennurbs/opennurbs_line.h
A	extern/opennurbs/opennurbs_linecurve.cpp
A	extern/opennurbs/opennurbs_linecurve.h
A	extern/opennurbs/opennurbs_linestyle.h
A	extern/opennurbs/opennurbs_linetype.cpp
A	extern/opennurbs/opennurbs_linetype.h
A	extern/opennurbs/opennurbs_lookup.cpp
A	extern/opennurbs/opennurbs_lookup.h
A	extern/opennurbs/opennurbs_mapchan.h
A	extern/opennurbs/opennurbs_material.cpp
A	extern/opennurbs/opennurbs_material.h
A	extern/opennurbs/opennurbs_math.cpp
A	extern/opennurbs/opennurbs_math.h
A	extern/opennurbs/opennurbs_matrix.cpp
A	extern/opennurbs/opennurbs_matrix.h
A	extern/opennurbs/opennurbs_memory.c
A	extern/opennurbs/opennurbs_memory.h
A	extern/opennurbs/opennurbs_memory_util.c
A	extern/opennurbs/opennurbs_mesh.cpp
A	extern/opennurbs/opennurbs_mesh.h
A	extern/opennurbs/opennurbs_mesh_ngon.cpp
A	extern/opennurbs/opennurbs_mesh_tools.cpp
A	extern/opennurbs/opennurbs_morph.cpp
A	extern/opennurbs/opennurbs_nurbscurve.cpp
A	extern/opennurbs/opennurbs_nurbscurve.h
A	extern/opennurbs/opennurbs_nurbssurface.cpp
A	extern/opennurbs/opennurbs_nurbssurface.h
A	extern/opennurbs/opennurbs_nurbsvolume.cpp
A	extern/opennurbs/opennurbs_object.cpp
A	extern/opennurbs/opennurbs_object.h
A	extern/opennurbs/opennurbs_object_history.cpp
A	extern/opennurbs/opennurbs_object_history.h
A	extern/opennurbs/opennurbs_objref.cpp
A	extern/opennurbs/opennurbs_objref.h
A	extern/opennurbs/opennurbs_offsetsurface.cpp
A	extern/opennurbs/opennurbs_offsetsurface.h
A	extern/opennurbs/opennurbs_optimize.cpp
A	extern/opennurbs/opennurbs_optimize.h
A	extern/opennurbs/opennurbs_photogrammetry.cpp
A	extern/opennurbs/opennurbs_photogrammetry.h
A	extern/opennurbs/opennurbs_plane.cpp
A	extern/opennurbs/opennurbs_plane.h
A	extern/opennurbs/opennurbs_planesurface.cpp
A	extern/opennurbs/opennurbs_planesurface.h
A	extern/opennurbs/opennurbs_pluginlist.cpp
A	extern/opennurbs/opennurbs_pluginlist.h
A	extern/opennurbs/opennurbs_point.cpp
A	extern/opennurbs/opennurbs_point.h
A	extern/opennurbs/opennurbs_pointcloud.cpp
A	extern/opennurbs/opennurbs_pointcloud.h
A	extern/opennurbs/opennurbs_pointgeometry.cpp
A	extern/opennurbs/opennurbs_pointgeometry.h
A	extern/opennurbs/opennurbs_pointgrid.cpp
A	extern/opennurbs/opennurbs_pointgrid.h
A	extern/opennurbs/opennurbs_polycurve.cpp
A	extern/opennurbs/opennurbs_polycurve.h
A	extern/opennurbs/opennurbs_polyedgecurve.cpp
A	extern/opennurbs/opennurbs_polyedgecurve.h
A	extern/opennurbs/opennurbs_polyline.cpp
A	extern/opennurbs/opennurbs_polyline.h
A	extern/opennurbs/opennurbs_polylinecurve.cpp
A	extern/opennurbs/opennurbs_polylinecurve.h
A	extern/opennurbs/opennurbs_precompiledheader.cpp
A	extern/opennurbs/opennurbs_qsort_template.h
A	extern/opennurbs/opennurbs_quaternion.cpp
A	extern/opennurbs/opennurbs_quaternion.h
A	extern/opennurbs/opennurbs_rand.cpp
A	extern/opennurbs/opennurbs_rand.h
A	extern/opennurbs/opennurbs_rendering.h
A	extern/opennurbs/opennurbs_revsurface.cpp
A	extern/opennurbs/opennurbs_revsurface.h
A	extern/opennurbs/opennurbs_rtree.cpp
A	extern/opennurbs/opennurbs_rtree.h
A	extern/opennurbs/opennurbs_sort.cpp
A	extern/opennurbs/opennurbs_sphere.cpp
A	extern/opennurbs/opennurbs_sphere.h
A	extern/opennurbs/opennurbs_string.cpp
A	extern/opennurbs/opennurbs_string.h
A	extern/opennurbs/opennurbs_sum.cpp
A	extern/opennurbs/opennurbs_sumsurface.cpp
A	extern/opennurbs/opennurbs_sumsurface.h
A	extern/opennurbs/opennurbs_surface.cpp
A	extern/opennurbs/opennurbs_surface.h
A	extern/opennurbs/opennurbs_surfaceproxy.cpp
A	extern/opennurbs/opennurbs_surfaceproxy.h
A	extern/opennurbs/opennurbs_system.h
A	extern/opennurbs/opennurbs_textlog.cpp
A	extern/opennurbs/opennurbs_textlog.h
A	extern/opennurbs/opennurbs_texture.h
A	extern/opennurbs/opennurbs_texture_mapping.h
A	extern/opennurbs/opennurbs_torus.cpp
A	extern/opennurbs/opennurbs_torus.h
A	extern/opennurbs/opennurbs_unicode.cpp
A	extern/opennurbs/opennurbs_unicode.h
A	extern/opennurbs/opennurbs_userdata.cpp
A	extern/opennurbs/opennurbs_userdata.h
A	extern/opennurbs/opennurbs_uuid.cpp
A	extern/opennurbs/opennurbs_uuid.h
A	extern/opennurbs/opennurbs_version.h
A	extern/opennurbs/opennurbs_viewport.cpp
A	extern/opennurbs/opennurbs_viewport.h
A	extern/opennurbs/opennurbs_workspace.cpp
A	extern/opennurbs/opennurbs_workspace.h
A	extern/opennurbs/opennurbs_wstring.cpp
A	extern/opennurbs/opennurbs_xform.cpp
A	extern/opennurbs/opennurbs_xform.h
A	extern/opennurbs/opennurbs_zlib.cpp
A	extern/opennurbs/opennurbs_zlib.h
A	extern/opennurbs/opennurbs_zlib_memory.cpp
A	extern/opennurbs/readme.txt
A	extern/opennurbs/zlib/CMakeLists.txt
A	extern/opennurbs/zlib/adler32.c
A	extern/opennurbs/zlib/compress.c
A	extern/opennurbs/zlib/crc32.c
A	extern/opennurbs/zlib/crc32.h
A	extern/opennurbs/zlib/deflate.c
A	extern/opennurbs/zlib/deflate.h
A	extern/opennurbs/zlib/infback.c
A	extern/opennurbs/zlib/inffast.c
A	extern/opennurbs/zlib/inffast.h
A	extern/opennurbs/zlib/inffixed.h
A	extern/opennurbs/zlib/inflate.c
A	extern/opennurbs/zlib/inflate.h
A	extern/opennurbs/zlib/inftrees.c
A	extern/opennurbs/zlib/inftrees.h
A	extern/opennurbs/zlib/opennurbs_zlib_readme.txt
A	extern/opennurbs/zlib/trees.c
A	extern/opennurbs/zlib/trees.h
A	extern/opennurbs/zlib/uncompr.c
A	extern/opennurbs/zlib/zconf.h
A	extern/opennurbs/zlib/zlib.h
A	extern/opennurbs/zlib/zutil.c
A	extern/opennurbs/zlib/zutil.h
M	release/scripts/modules/bpy/utils.py
M	release/scripts/startup/bl_ui/space_info.py
M	source/blender/editors/io/CMakeLists.txt
M	source/blender/editors/io/io_ops.c
A	source/blender/editors/io/io_rhino.cpp
A	source/blender/editors/io/io_rhino.h

===================================================================

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 10182f9..273246e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1888,6 +1888,7 @@ elseif(APPLE)
 	
 	if(WITH_OPENMP AND CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT ${CMAKE_C_COMPILER_VERSION} VERSION_LESS '3.4')
 		set(OPENMP_FOUND ON)
+		set(OPENMP_LIBRARY iomp5)
 		set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "C compiler flags for OpenMP parallization" FORCE)
 		set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "C++ compiler flags for OpenMP parallization" FORCE)
 		include_directories(${LIBDIR}/openmp/include)
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index c6caef4..270ebfd 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -313,6 +313,9 @@ macro(setup_liblinks
 	if(WITH_OPENAL)
 		target_link_libraries(${target} ${OPENAL_LIBRARY})
 	endif()
+	if(WITH_OPENMP)
+		target_link_libraries(${target} ${OPENMP_LIBRARY})
+	endif()
 	if(WITH_FFTW3)
 		target_link_libraries(${target} ${FFTW3_LIBRARIES})
 	endif()
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index eda5b5b..2e8302c 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -30,6 +30,7 @@ add_subdirectory(colamd)
 add_subdirectory(rangetree)
 add_subdirectory(wcwidth)
 add_subdirectory(libmv)
+add_subdirectory(opennurbs)
 
 if(WITH_BULLET)
 	if(NOT WITH_SYSTEM_BULLET)
diff --git a/extern/opennurbs/CMakeLists.txt b/extern/opennurbs/CMakeLists.txt
new file mode 100644
index 0000000..5bfdcb3
--- /dev/null
+++ b/extern/opennurbs/CMakeLists.txt
@@ -0,0 +1,258 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# The Original Code is Copyright (C) 2011, Blender Foundation
+# All rights reserved.
+#
+# Contributor(s): Blender Foundation,
+#                 Sergey Sharybin
+#
+# ***** END GPL LICENSE BLOCK *****
+
+# NOTE: This file is automatically generated by bundle.sh script
+#       If you're doing changes in this file, please update template
+#       in that script too
+
+set(INC
+	.
+)
+
+set(INC_SYS
+)
+
+set(SRC
+	 opennurbs_memory.c
+	 opennurbs_memory_util.c
+	 opennurbs_3dm_attributes.cpp
+	 opennurbs_3dm_properties.cpp
+	 opennurbs_3dm_settings.cpp
+	 opennurbs_annotation.cpp
+	 opennurbs_annotation2.cpp
+	 opennurbs_arc.cpp
+	 opennurbs_arccurve.cpp
+	 opennurbs_archive.cpp
+	 opennurbs_array.cpp
+	 opennurbs_base32.cpp
+	 opennurbs_base64.cpp
+	 opennurbs_beam.cpp
+	 opennurbs_bezier.cpp
+	 opennurbs_beziervolume.cpp
+	 opennurbs_bitmap.cpp
+	 opennurbs_bounding_box.cpp
+	 opennurbs_box.cpp
+	 opennurbs_brep.cpp
+	 opennurbs_brep_extrude.cpp
+	 opennurbs_brep_io.cpp
+	 opennurbs_brep_isvalid.cpp
+	 opennurbs_brep_region.cpp
+	 opennurbs_brep_tools.cpp
+	 opennurbs_brep_v2valid.cpp
+	 opennurbs_circle.cpp
+	 opennurbs_color.cpp
+	 opennurbs_compress.cpp
+	 opennurbs_cone.cpp
+	 opennurbs_crc.cpp
+	 opennurbs_curve.cpp
+	 opennurbs_curveonsurface.cpp
+	 opennurbs_curveproxy.cpp
+	 opennurbs_cylinder.cpp
+	 opennurbs_defines.cpp
+	 opennurbs_detail.cpp
+	 opennurbs_dimstyle.cpp
+	 opennurbs_dll.cpp
+	 opennurbs_ellipse.cpp
+	 opennurbs_embedded_file.cpp
+	 opennurbs_error.cpp
+	 opennurbs_error_message.cpp
+	 opennurbs_evaluate_nurbs.cpp
+	 opennurbs_extensions.cpp
+	 opennurbs_font.cpp
+	 opennurbs_fsp.cpp
+	 opennurbs_geometry.cpp
+	 opennurbs_gl.cpp
+	 opennurbs_group.cpp
+	 opennurbs_hatch.cpp
+	 opennurbs_instance.cpp
+	 opennurbs_intersect.cpp
+	 opennurbs_knot.cpp
+	 opennurbs_layer.cpp
+	 opennurbs_light.cpp
+	 opennurbs_line.cpp
+	 opennurbs_linecurve.cpp
+	 opennurbs_linetype.cpp
+	 opennurbs_lookup.cpp
+	 opennurbs_material.cpp
+	 opennurbs_math.cpp
+	 opennurbs_matrix.cpp
+	 opennurbs_mesh.cpp
+	 opennurbs_mesh_ngon.cpp
+	 opennurbs_mesh_tools.cpp
+	 opennurbs_morph.cpp
+	 opennurbs_nurbscurve.cpp
+	 opennurbs_nurbssurface.cpp
+	 opennurbs_nurbsvolume.cpp
+	 opennurbs_object.cpp
+	 opennurbs_object_history.cpp
+	 opennurbs_objref.cpp
+	 opennurbs_offsetsurface.cpp
+	 opennurbs_optimize.cpp
+	 opennurbs_photogrammetry.cpp
+	 opennurbs_plane.cpp
+	 opennurbs_planesurface.cpp
+	 opennurbs_pluginlist.cpp
+	 opennurbs_point.cpp
+	 opennurbs_pointcloud.cpp
+	 opennurbs_pointgeometry.cpp
+	 opennurbs_pointgrid.cpp
+	 opennurbs_polycurve.cpp
+	 opennurbs_polyedgecurve.cpp
+	 opennurbs_polyline.cpp
+	 opennurbs_polylinecurve.cpp
+	 opennurbs_precompiledheader.cpp
+	 opennurbs_quaternion.cpp
+	 opennurbs_rand.cpp
+	 opennurbs_revsurface.cpp
+	 opennurbs_rtree.cpp
+	 opennurbs_sort.cpp
+	 opennurbs_sphere.cpp
+	 opennurbs_string.cpp
+	 opennurbs_sum.cpp
+	 opennurbs_sumsurface.cpp
+	 opennurbs_surface.cpp
+	 opennurbs_surfaceproxy.cpp
+	 opennurbs_textlog.cpp
+	 opennurbs_torus.cpp
+	 opennurbs_unicode.cpp
+	 opennurbs_userdata.cpp
+	 opennurbs_uuid.cpp
+	 opennurbs_viewport.cpp
+	 opennurbs_workspace.cpp
+	 opennurbs_wstring.cpp
+	 opennurbs_xform.cpp
+	 opennurbs_zlib.cpp
+	 opennurbs_zlib_memory.cpp
+
+	 examples_linking_pragmas.h
+	 opennurbs.h
+	 opennurbs_3dm.h
+	 opennurbs_3dm_attributes.h
+	 opennurbs_3dm_properties.h
+	 opennurbs_3dm_settings.h
+	 opennurbs_annotation.h
+	 opennurbs_annotation2.h
+	 opennurbs_arc.h
+	 opennurbs_arccurve.h
+	 opennurbs_archive.h
+	 opennurbs_array.h
+	 opennurbs_array_defs.h
+	 opennurbs_base32.h
+	 opennurbs_base64.h
+	 opennurbs_beam.h
+	 opennurbs_bezier.h
+	 opennurbs_bitmap.h
+	 opennurbs_bounding_box.h
+	 opennurbs_box.h
+	 opennurbs_brep.h
+	 opennurbs_circle.h
+	 opennurbs_color.h
+	 opennurbs_compress.h
+	 opennurbs_cone.h
+	 opennurbs_crc.h
+	 opennurbs_curve.h
+	 opennurbs_curveonsurface.h
+	 opennurbs_curveproxy.h
+	 opennurbs_cylinder.h
+	 opennurbs_defines.h
+	 opennurbs_detail.h
+	 opennurbs_dimstyle.h
+	 opennurbs_dll_resource.h
+	 opennurbs_ellipse.h
+	 opennurbs_error.h
+	 opennurbs_evaluate_nurbs.h
+	 opennurbs_extensions.h
+	 opennurbs_font.h
+	 opennurbs_fpoint.h
+	 opennurbs_fsp.h
+	 opennurbs_fsp_defs.h
+	 opennurbs_geometry.h
+	 opennurbs_gl.h
+	 opennurbs_group.h
+	 opennurbs_hatch.h
+	 opennurbs_hsort_template.h
+	 opennurbs_instance.h
+	 opennurbs_intersect.h
+	 opennurbs_knot.h
+	 opennurbs_layer.h
+	 opennurbs_light.h
+	 opennurbs_line.h
+	 opennurbs_linecurve.h
+	 opennurbs_linestyle.h
+	 opennurbs_linetype.h
+	 opennurbs_lookup.h
+	 opennurbs_mapchan.h
+	 opennurbs_material.h
+	 opennurbs_math.h
+	 opennurbs_matrix.h
+	 opennurbs_memory.h
+	 opennurbs_mesh.h
+	 opennurbs_nurbscurve.h
+	 opennurbs_nurbssurface.h
+	 opennurbs_object.h
+	 opennurbs_object_history.h
+	 opennurbs_objref.h
+	 opennurbs_offsetsurface.h
+	 opennurbs_optimize.h
+	 opennurbs_photogrammetry.h
+	 opennurbs_plane.h
+	 opennurbs_planesurface.h
+	 opennurbs_pluginlist.h
+	 opennurbs_point.h
+	 opennurbs_pointcloud.h
+	 opennurbs_pointgeometry.h
+	 opennurbs_pointgrid.h
+	 opennurbs_polycurve.h
+	 opennurbs_polyedgecurve.h
+	 opennurbs_polyline.h
+	 opennurbs_polylinecurve.h
+	 opennurbs_qsort_template.h
+	 opennurbs_quaternion.h
+	 opennurbs_rand.h
+	 opennurbs_rendering.h
+	 opennurbs_revsurface.h
+	 opennurbs_rtree.h
+	 opennurbs_sphere.h
+	 opennurbs_string.h
+	 opennurbs_sumsurface.h
+	 opennurbs_surface.h
+	 opennurbs_surfaceproxy.h
+	 opennurbs_system.h
+	 opennurbs_textlog.h
+	 opennurbs_texture.h
+	 opennurbs_texture_mapping.h
+	 opennurbs_torus.h
+	 opennurbs_unicode.h
+	 opennurbs_userdata.h
+	 opennurbs_uuid.h
+	 opennurbs_version.h
+	 opennurbs_viewport.h
+	 opennurbs_workspace.h
+	 opennurbs_xform.h
+	 opennurbs_zlib.h
+)
+
+blender_add_lib(extern_opennurbs "${SRC}" "${INC}" "${INC_SYS}")
+
+add_subdirectory(zlib)
diff --git a/extern/opennurbs/examples_linking_pragmas.h b/extern/opennurbs/examples_linking_pragmas.h
new file mode 100755
index 0000000..11fb700
--- /dev/null
+++ b/extern/opennurbs/examples_linking_pragmas.h
@@ -0,0 +1,67 @@
+#if defined(_MSC_VER)
+
+// This file is specific to Micrsoft's compiler.
+// It contains linking pragmas for building the opennurbs examples.
+
+#pragma once
+
+#if defined(ON_DLL_EXPORTS)
+// If you get the following error, your compiler settings
+// indicate you are building opennurbs as a DLL. This file
+// is used for linking with opennurbs.
+#error This file contains linking pragmas for using opennurbs.
+#endif
+
+#if !defined(ON_MSC_SOLUTION_DIR)
+#define ON_MSC_SOLUTION_DIR ".."
+#endif
+
+#if !defined(ON_MSC_LIB_DIR)
+
+#if defined(WIN64)
+
+// x64 (64 bit) static libraries
+
+#if defined(NDEBUG)
+
+// Release x64 (64 bit) libs
+#define ON_MSC_LIB_DIR "x64/Release"
+
+#else // _DEBUG
+
+// Debug x64 (64 bit) libs
+#define ON_MSC_LIB_DIR "x64/Debug"
+
+#endif // NDEBUG else _DEBUG
+
+#else // WIN32
+
+// x86 (32 bit) static libraries
+
+#if defined(NDEBUG)
+
+// Release x86 (32 bit) libs
+#define ON_MSC_LIB_DIR "Release"
+
+#else // _DEBUG
+
+// Debug x86 (32 bit) libs
+#define ON_MSC_LIB_DIR "Debug"
+
+#endif // NDEBUG else _DEBUG
+
+#endif // WIN64 else WIN32
+
+#endif //  !defined(ON_MSC_LIB_DIR)
+
+#if defined(ON_DLL_IMPORTS)
+#pragma message( " --- dynamically linking opennurbs (DLL)." )
+#pragma comment(lib, "\"" ON_MSC_SOLUTION_DIR "/" ON_MSC_LIB_DIR "/" "opennurbs.lib" "\"")
+#else
+#pragma message( " --- statically linking opennurbs." )
+#pragma comment(lib, "\"" ON_MSC_SOLUTION_DIR "/" ON_MSC_LIB_DIR "/" "zlib.lib" "\"")
+#pragma comment(lib, "\"" ON_MSC_SOLUTION_DIR "/" ON_MSC_LIB_DIR "/" "opennurbs_staticlib.lib" "\"")
+#endif
+
+
+#endif
diff --git a/extern/opennurbs/makefile b/extern/opennurbs/makefile
new file mode 100755
index 0000000..bf913eb
--- /dev/null
+++ b/extern/opennurbs/makefile
@@ -0,0 +1,519 @@
+############################

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list