[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49508] trunk/blender: Remove old boolean operation module

Sergey Sharybin sergey.vfx at gmail.com
Thu Aug 2 18:42:30 CEST 2012


Revision: 49508
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49508
Author:   nazgul
Date:     2012-08-02 16:42:30 +0000 (Thu, 02 Aug 2012)
Log Message:
-----------
Remove old boolean operation module

Carve proved it's a way to go, so the time have came to get rid of old
boolean operation module which isn't used anymore.

Still kept BOP interface but move it to BSP module. At some point it
could be cleaned up further (like perhaps removed extra abstraction
level or so) but would be nice to combine such a refactor with making
BSP aware of NGons.

Tested on linux using both cmake and scons, possible regressions on
windows/osx. Would check windoes build just after commit.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/cmake/config/blender_lite.cmake
    trunk/blender/build_files/scons/tools/btools.py
    trunk/blender/extern/CMakeLists.txt
    trunk/blender/extern/SConscript
    trunk/blender/intern/CMakeLists.txt
    trunk/blender/intern/SConscript
    trunk/blender/intern/bsp/CMakeLists.txt
    trunk/blender/intern/bsp/SConscript
    trunk/blender/intern/bsp/intern/CSG_BooleanOps.cpp
    trunk/blender/source/blenderplayer/CMakeLists.txt
    trunk/blender/source/creator/CMakeLists.txt

Added Paths:
-----------
    trunk/blender/intern/bsp/intern/BOP_CarveInterface.cpp
    trunk/blender/intern/bsp/intern/BOP_Interface.h

Removed Paths:
-------------
    trunk/blender/intern/boolop/CMakeLists.txt
    trunk/blender/intern/boolop/SConscript
    trunk/blender/intern/boolop/extern/BOP_Interface.h
    trunk/blender/intern/boolop/intern/BOP_BBox.cpp
    trunk/blender/intern/boolop/intern/BOP_BBox.h
    trunk/blender/intern/boolop/intern/BOP_BSPNode.cpp
    trunk/blender/intern/boolop/intern/BOP_BSPNode.h
    trunk/blender/intern/boolop/intern/BOP_BSPTree.cpp
    trunk/blender/intern/boolop/intern/BOP_BSPTree.h
    trunk/blender/intern/boolop/intern/BOP_CarveInterface.cpp
    trunk/blender/intern/boolop/intern/BOP_Chrono.h
    trunk/blender/intern/boolop/intern/BOP_Edge.cpp
    trunk/blender/intern/boolop/intern/BOP_Edge.h
    trunk/blender/intern/boolop/intern/BOP_Face.cpp
    trunk/blender/intern/boolop/intern/BOP_Face.h
    trunk/blender/intern/boolop/intern/BOP_Face2Face.cpp
    trunk/blender/intern/boolop/intern/BOP_Face2Face.h
    trunk/blender/intern/boolop/intern/BOP_Indexs.h
    trunk/blender/intern/boolop/intern/BOP_Interface.cpp
    trunk/blender/intern/boolop/intern/BOP_MathUtils.cpp
    trunk/blender/intern/boolop/intern/BOP_MathUtils.h
    trunk/blender/intern/boolop/intern/BOP_Merge.cpp
    trunk/blender/intern/boolop/intern/BOP_Merge.h
    trunk/blender/intern/boolop/intern/BOP_Merge2.cpp
    trunk/blender/intern/boolop/intern/BOP_Merge2.h
    trunk/blender/intern/boolop/intern/BOP_Mesh.cpp
    trunk/blender/intern/boolop/intern/BOP_Mesh.h
    trunk/blender/intern/boolop/intern/BOP_Misc.h
    trunk/blender/intern/boolop/intern/BOP_Segment.cpp
    trunk/blender/intern/boolop/intern/BOP_Segment.h
    trunk/blender/intern/boolop/intern/BOP_Splitter.cpp
    trunk/blender/intern/boolop/intern/BOP_Splitter.h
    trunk/blender/intern/boolop/intern/BOP_Tag.cpp
    trunk/blender/intern/boolop/intern/BOP_Tag.h
    trunk/blender/intern/boolop/intern/BOP_Triangulator.cpp
    trunk/blender/intern/boolop/intern/BOP_Triangulator.h
    trunk/blender/intern/boolop/intern/BOP_Vertex.cpp
    trunk/blender/intern/boolop/intern/BOP_Vertex.h

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/CMakeLists.txt	2012-08-02 16:42:30 UTC (rev 49508)
@@ -226,9 +226,6 @@
 # Camera/motion tracking
 option(WITH_LIBMV         "Enable libmv structure from motion library" ON)
 
-# Mesh boolean lib
-option(WITH_CARVE         "Enable Carve library to handle mesh boolean operations" ON)
-
 # Misc
 option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
 option(WITH_RAYOPTIMIZATION	"Enable use of SIMD (SSE) optimizations for the raytracer" ON)
@@ -364,8 +361,8 @@
 	set(WITH_OPENIMAGEIO ON)
 endif()
 
-# auto enable boost for cycles and carve
-if(WITH_CYCLES OR WITH_CARVE)
+# auto enable boost for cycles and booleans
+if(WITH_CYCLES OR WITH_MOD_BOOLEAN)
 	set(WITH_BOOST ON)
 endif()
 

Modified: trunk/blender/build_files/cmake/config/blender_lite.cmake
===================================================================
--- trunk/blender/build_files/cmake/config/blender_lite.cmake	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/build_files/cmake/config/blender_lite.cmake	2012-08-02 16:42:30 UTC (rev 49508)
@@ -15,7 +15,6 @@
 set(WITH_CYCLES              OFF CACHE FORCE BOOL)
 set(WITH_FFTW3               OFF CACHE FORCE BOOL)
 set(WITH_LIBMV               OFF CACHE FORCE BOOL)
-set(WITH_CARVE               OFF CACHE FORCE BOOL)
 set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
 set(WITH_COMPOSITOR          OFF CACHE FORCE BOOL)
 set(WITH_GHOST_XDND          OFF CACHE FORCE BOOL)

Modified: trunk/blender/build_files/scons/tools/btools.py
===================================================================
--- trunk/blender/build_files/scons/tools/btools.py	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/build_files/scons/tools/btools.py	2012-08-02 16:42:30 UTC (rev 49508)
@@ -164,7 +164,7 @@
             'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES', 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 'WITH_BF_CYCLES_CUDA_THREADED_COMPILE',
             'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH',
             'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH',
-            'WITH_BF_LIBMV', 'WITH_BF_CARVE'
+            'WITH_BF_LIBMV'
             ]
     
     # Have options here that scons expects to be lists
@@ -530,7 +530,6 @@
         
         (BoolVariable('WITH_BF_LZO', 'Enable fast LZO pointcache compression', True)),
         (BoolVariable('WITH_BF_LZMA', 'Enable best LZMA pointcache compression', True)),
-        (BoolVariable('WITH_BF_CARVE', 'Enable carve library for mesh boolean operations', True)),
         
         (BoolVariable('WITH_BF_LIBMV', 'Enable libmv structure from motion library', True)),
         

Modified: trunk/blender/extern/CMakeLists.txt
===================================================================
--- trunk/blender/extern/CMakeLists.txt	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/extern/CMakeLists.txt	2012-08-02 16:42:30 UTC (rev 49508)
@@ -68,7 +68,7 @@
 	add_subdirectory(libmv)
 endif()
 
-if(WITH_CARVE)
+if(WITH_MOD_BOOLEAN)
 	add_subdirectory(carve)
 endif()
 

Modified: trunk/blender/extern/SConscript
===================================================================
--- trunk/blender/extern/SConscript	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/extern/SConscript	2012-08-02 16:42:30 UTC (rev 49508)
@@ -32,7 +32,7 @@
 if env['WITH_BF_LIBMV']:
     SConscript(['libmv/SConscript'])
 
-if env['WITH_BF_CARVE']:
+if env['WITH_BF_BOOLEAN']:
     SConscript(['carve/SConscript'])
 
 if env['WITH_GHOST_XDND']:

Modified: trunk/blender/intern/CMakeLists.txt
===================================================================
--- trunk/blender/intern/CMakeLists.txt	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/intern/CMakeLists.txt	2012-08-02 16:42:30 UTC (rev 49508)
@@ -55,7 +55,6 @@
 endif()
 
 if(WITH_MOD_BOOLEAN)
-	add_subdirectory(boolop)
 	add_subdirectory(bsp)
 endif()
 

Modified: trunk/blender/intern/SConscript
===================================================================
--- trunk/blender/intern/SConscript	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/intern/SConscript	2012-08-02 16:42:30 UTC (rev 49508)
@@ -11,7 +11,6 @@
             'decimation/SConscript',
             'iksolver/SConscript',
             'itasc/SConscript',
-            'boolop/SConscript',
             'opennl/SConscript',
             'mikktspace/SConscript',
             'smoke/SConscript',
@@ -26,7 +25,8 @@
 if env['WITH_BF_CYCLES']:
     SConscript(['cycles/SConscript'])
 
-SConscript(['bsp/SConscript'])
+if env['WITH_BF_BOOLEAN']:
+    SConscript(['bsp/SConscript'])
 
 if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-mingw', 'linuxcross', 'win64-vc'):
     SConscript(['utfconv/SConscript'])

Deleted: trunk/blender/intern/boolop/CMakeLists.txt
===================================================================
--- trunk/blender/intern/boolop/CMakeLists.txt	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/intern/boolop/CMakeLists.txt	2012-08-02 16:42:30 UTC (rev 49508)
@@ -1,111 +0,0 @@
-# ***** 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) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Jacques Beaurain.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-remove_strict_flags()
-
-set(INC	
-	.
-	extern
-	intern
-	../container
-	../guardedalloc
-	../memutil
-	../moto/include
-	../../source/blender/blenlib
-	../../source/blender/makesdna
-)
-
-set(INC_SYS
-
-)
-
-if(NOT WITH_CARVE)
-	set(SRC
-		intern/BOP_BBox.cpp
-		intern/BOP_BSPNode.cpp
-		intern/BOP_BSPTree.cpp
-		intern/BOP_Edge.cpp
-		intern/BOP_Face.cpp
-		intern/BOP_Face2Face.cpp
-		intern/BOP_Interface.cpp
-		intern/BOP_MathUtils.cpp
-		intern/BOP_Merge.cpp
-		intern/BOP_Merge2.cpp
-		intern/BOP_Mesh.cpp
-		intern/BOP_Segment.cpp
-		intern/BOP_Splitter.cpp
-		intern/BOP_Tag.cpp
-		intern/BOP_Triangulator.cpp
-		intern/BOP_Vertex.cpp
-
-		extern/BOP_Interface.h
-		intern/BOP_BBox.h
-		intern/BOP_BSPNode.h
-		intern/BOP_BSPTree.h
-		intern/BOP_Chrono.h
-		intern/BOP_Edge.h
-		intern/BOP_Face.h
-		intern/BOP_Face2Face.h
-		intern/BOP_Indexs.h
-		intern/BOP_MathUtils.h
-		intern/BOP_Merge.h
-		intern/BOP_Merge2.h
-		intern/BOP_Mesh.h
-		intern/BOP_Misc.h
-		intern/BOP_Segment.h
-		intern/BOP_Splitter.h
-		intern/BOP_Tag.h
-		intern/BOP_Triangulator.h
-		intern/BOP_Vertex.h
-	)
-else()
-	set(SRC
-		intern/BOP_CarveInterface.cpp
-		extern/BOP_Interface.h
-	)
-
-	list(APPEND INC
-		../../extern/carve/include
-	)
-
-	if(WITH_BOOST)
-		if(NOT MSVC)
-			# Boost is setting as preferred collections library in the Carve code when using MSVC compiler
-			add_definitions(
-				-DHAVE_BOOST_UNORDERED_COLLECTIONS
-			)
-		endif()
-
-		add_definitions(
-			-DCARVE_SYSTEM_BOOST
-		)
-
-		list(APPEND INC
-			${BOOST_INCLUDE_DIR}
-		)
-	endif()
-endif()
-
-blender_add_lib(bf_intern_bop "${SRC}" "${INC}" "${INC_SYS}")

Deleted: trunk/blender/intern/boolop/SConscript
===================================================================
--- trunk/blender/intern/boolop/SConscript	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/intern/boolop/SConscript	2012-08-02 16:42:30 UTC (rev 49508)
@@ -1,31 +0,0 @@
-#!/usr/bin/python
-Import ('env')
-
-incs = '. intern extern ../moto/include ../container ../memutil'
-incs += ' ../../source/blender/makesdna ../../intern/guardedalloc'
-incs += ' ../../source/blender/blenlib'
-
-defs = []
-
-if not env['WITH_BF_CARVE']:
-    import os
-    sources = env.Glob('intern/*.cpp')
-    sources.remove('intern' + os.sep + 'BOP_CarveInterface.cpp')
-else:
-    sources = env.Glob('intern/BOP_CarveInterface.cpp')
-    incs += ' ../../extern/carve/include'
-
-    if env['WITH_BF_BOOST']:
-        if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
-            # Boost is setting as preferred collections library in the Carve code when using MSVC compiler
-            if env['OURPLATFORM'] not in ('win32-mingw', 'win64-mingw'):
-                defs.append('HAVE_BOOST_UNORDERED_COLLECTIONS')
-
-        defs.append('CARVE_SYSTEM_BOOST')
-        incs +=  ' ' + env['BF_BOOST_INC']
-
-if (env['OURPLATFORM'] in ('win32-mingw', 'win64-mingw')):
-    env.BlenderLib ('bf_intern_bop', sources, Split(incs) , [], libtype='intern', priority = 5 )
-else:
-    env.BlenderLib ('bf_intern_bop', sources, Split(incs) , defs, libtype='intern', priority = 5 )
-

Deleted: trunk/blender/intern/boolop/extern/BOP_Interface.h
===================================================================
--- trunk/blender/intern/boolop/extern/BOP_Interface.h	2012-08-02 16:33:38 UTC (rev 49507)
+++ trunk/blender/intern/boolop/extern/BOP_Interface.h	2012-08-02 16:42:30 UTC (rev 49508)
@@ -1,47 +0,0 @@
-/*
- * ***** 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.
- *

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list