Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-08-02Remove old boolean operation moduleSergey Sharybin
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.
2012-08-01style cleanup: whitespace, also add '?' to save over popup since it wasnt ↵Campbell Barton
totally clear it was a question (user pointed this out, they thought it was just notification and lost their work).
2012-07-21Boolean modifier: prevent crashes when carve returns bad topologySergey Sharybin
For sure actual issue is in carve's triangulation system which need to be investigated and fixed. For now only fixed by re-shuffling a bit existing degenerative faces check and added extra checks there. Would look into actual fix a bit later.
2012-06-03code cleanup: replace some non utf8 charsCampbell Barton
2012-04-24Add libMV and Scons support for MinGW-w64, patches by Caleb Joseph with ↵Antony Riakiotakis
slight modifications. Thanks!
2012-03-21spelling cleanup: tesselate -> tessellate (last of these found)Campbell Barton
2012-03-18spelling cleanupCampbell Barton
2012-02-29Boolean modifier:Sergey Sharybin
- Fixed convex quad detection (in some special cases non-convex quad was detecting as convex) - Do not add faces with zero area to the output object. This should resolve #30395: Degenerated triangles from BMesh + Difference
2012-02-27style cleanup (mostly whitespace)Campbell Barton
2012-02-25code cleanup: white space, spelling & ';;' end of lines.Campbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-14Carve fixes and optimizations:Sergey Sharybin
- Fixed memory lead in Carve_getIntersectedOperandMeshes - Union manifolds only if they intersects second operand, leave manifolds which doesn't intersect second operand as-is.
2012-02-14Carve: improved handling of meshes with interesting manifoldsSergey Sharybin
Unioning of intersecting manifold tried to perform as little union operations as possible, but there were some not totally correct assumption which lead to cases when unioning of manifolds of some mesh might be happened when one of mesh sets already had got intersecting manifolds. This commit corrects this incorrect behavior. Discovered this when was looking into #30175: Boolean Difference causes 2.62 RC1 crash.
2012-02-13Fix #30159: Boolean modifier creating non-concave facesSergey Sharybin
Issue was caused by merging triangles into quads policy which used to think triangulation of non-planar/non-concave quads happens by 1-3 diagonal which isn't actually correct in some OpenGL implementations. Added check for non-concave faces when merging triangles. It will work fine if original faces are flat. In case if original faces aren't flat this check might fail and triangulate face when it's not actually needed or merge triangles in a way which leads to OpenGL artifacts.
2012-01-30Fix #29976: Carve Boolenas crasher with SolidifySergey Sharybin
Issue was caused by union policy needed to deal with cases when operand intersects two or more intersecting meshes of another operand. Changed this policy to run union operation only if there's actual intersection between two meshes of the same object. Should work in general but it's still possible to make it behave incorrect -- for example object consist of two groups if concentric cubes which intersects each other.
2012-01-27Fixed some possible issues and access non-initialized variable in Carve BOP ↵Sergey Sharybin
interface. Discovered when was investigating some crashes caused by Carve's triangulator.
2012-01-23Fix compilation error caused by code cleanupSergey Sharybin
2012-01-23Carve booleans: corrected copyright headerSergey Sharybin
2012-01-23Carve booleans: code and style cleanupSergey Sharybin
2012-01-23Fix #29934: New Carve library can't execute boolean operations in some casesSergey Sharybin
Issue was caused by left boolean operand consist of several intersecting manifolds which make Carve triangulator confused and which can't be resolved in general case. Added mesh pre-processing before actual applying boolean operator on it. This preprocessing applies union operation on intersecting manifolds of the same object so intersection edge loop with second object wouldn't confuse tesselator and correct result would be returned. Detecting of intersecting manifolds is based on AABB intersection check which leads to some extra union operation called, but it's possible to speed things up from Carve side so union operation of two not intersecting meshes would work faster. Additional condition for running union for manifold is this manifolds intersects AABB of second operand, so mesh topology wouldn't be changed at all in areas where there's definitely no intersection between operands. It might be improved so only manifolds which actually intersects second operand would be joined together, but it'll slow things down a bit and prefer to do it only if it'll be really a problem. Additional change is fixed memory leak when boolean operation fails to run - it was missed "delete" call if exception happens in Carve library. From side effects of this change might be named boolean operation between suzanne and another object: suzanne is consist of three intersecting open manifolds, so this new meshes preprocessing leads to missed eyes in result because of failure of merging two open manifolds. Don't think making suzanne work for all setups should really be a goal, it's a bit crappy mesh for CSG algorithms.
2012-01-23Fix for compilation error when using scons and carve is disabledSergey Sharybin
2012-01-17Compilation error when using mingw+sconsSergey Sharybin
Error was caused by boost library (which doesn't seem to be working with Cycles too when compiling with mingw). Switched mingw to use TR1 unordered collections. Also, there was re-declaration of strcasecmp when mingw is used. Additional changes are related on using own process spawning when BF_TOOLSET is set to mingw. Seems to be working fine now (i've got too long command line error) and no warning are supressing now (as it was told in comment for commented own process spawning).
2012-01-16Carve booleans library integrationSergey Sharybin
================================== Merging Carve library integration project into the trunk. This commit switches Boolean modifier to another library which handles mesh boolean operations in much stable and faster way, resolving old well-known limitations of intern boolop library. Carve is integrating as alternative interface for boolop library and which makes it totally transparent for blender sources to switch between old-fashioned boolop and new Carve backends. Detailed changes in this commit: - Integrated needed subset of Carve library sources into extern/ Added script for re-bundling it (currently works only if repo was cloned by git-svn). - Added BOP_CarveInterface for boolop library which can be used by Boolean modifier. - Carve backend is enabled by default, can be disabled by WITH_BF_CARVE SCons option and WITH_CARVE CMake option. - If Boost library is found in build environment it'll be used for unordered collections. If Boost isn't found, it'll fallback to TR1 implementation for GCC compilers. Boost is obligatory if MSVC is used. Tested on Linux 64bit and Windows 7 64bit. NOTE: behavior of flat objects was changed. E.g. Plane-Sphere now gives plane with circle hole, not plane with semisphere. Don't think it's really issue because it's not actually defined behavior in such situations and both of ways might be useful. Since it's only known "regression" think it's OK to deal with it. Details are there http://wiki.blender.org/index.php/User:Nazg-gul/CarveBooleans Special thanks to: - Ken Hughes: author of original carve integration patch. - Campbell Barton: help in project development, review tests. - Tobias Sargeant: author of Carve library, help in resolving some merge stoppers, bug fixing.
2011-11-11correct indentation and some whitespace edits (no functional changes)Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-07-17cmake: cleanup include paths, some duplicates and going up some unneeded dirs.Campbell Barton
2011-05-31cmake maintenanceCampbell Barton
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python). also only build wm_apple.c on apple+carbon configuration.
2011-02-25doxygen: intern/boolop taggedNathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-01-30remove nan-makefilesCampbell Barton
2010-12-23rename blenderlib to blender_add_libCampbell Barton
2010-12-08use lowercase for cmake builtin names and macros, remove contents in else() ↵Campbell Barton
and endif() which is no longer needed.
2010-11-29include headers in cmake source, added a script to check for consistency, ↵Campbell Barton
reporting missing headers & C files. this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-26Fix #24775: boolean modifier crash in rendering on Mac. Problem was that thisBrecht Van Lommel
ran out of stack memory, now it passes some arguments by reference instead of by value to use less stack space.
2010-10-23Remove msvc build files which are not needed anymore.Campbell Barton
2010-10-23use explicit file paths for CMake rather then globing, This is recommended ↵Campbell Barton
by cmake devs. globbing vs explicit is discussed here. http://www.cmake.org/pipermail/cmake/2008-December/025694.html Practical implications are: - developers need to keep CMakeLists.txt files up to date. - Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-10-18enable DEBUG define in CMake and scons, also change booleans debug option to ↵Campbell Barton
BOP_DEBUG, which was used inconsistently, and had to add a define for superlu.
2010-09-18warning fixes and minor cmake changes.Campbell Barton
2010-08-25rename most scons build targets to match cmakeCampbell Barton
2010-08-24rename some cmake build targetsCampbell Barton
2010-02-12correct fsf addressCampbell Barton
2009-12-04Fix for [#20229] Booleans crash on edge case.Matt Ebb
2009-09-25Merge of itasc branch. Project files, scons and cmake should be working. ↵Benoit Bolsee
Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library.
2009-04-202.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r19323:HEAD Notes: * blenderbuttons and ICON_SNAP_PEEL_OBJECT were not merged.
2009-03-19Makefile updates for Blender 2.5 (from GSR)Chris Want
2008-12-232.5 / SConsNathan Letwory
I did a very drastic cleanup for the different libgroups, there's now only a few left. It compiled with scons/msvc, will be testing in a bit on linux, too. If you get any problems, please reply to this commit message on the taskforce ML.
2008-12-03A couple of small fixes to clear up some warnings.Kent Mein
BOP_Merge2.cpp had same variable name at different scopes so I renamed a couple. resources.c added include that was missing. (This maybe was going to move? the old one was commented out) ed_markers.c initalized a var that needed it. Kent
2008-11-13Merge of trunk into blender 2.5:Brecht Van Lommel
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416 Issues: * GHOST/X11 had conflicting changes. Some code was added in 2.5, which was later added in trunk also, but reverted partially, specifically revision 16683. I have left out this reversion in the 2.5 branch since I think it is needed there. http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683 * Scons had various conflicting changes, I decided to go with trunk version for everything except priorities and some library renaming. * In creator.c, there were various fixes and fixes for fixes related to the -w -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done differently. Since this is changed so much, and I don't think those fixes would be needed in 2.5, I've left them out. * Also in creator.c: there was code for a python bugfix where the screen was not initialized when running with -P. The code that initializes the screen there I had to disable, that can't work in 2.5 anymore but left it commented as a reminder. Further I had to disable some new function calls. using src/ and python/, as was done already in this branch, disabled function calls: * bpath.c: error reporting * BME_conversions.c: editmesh conversion functions. * SHD_dynamic: disabled almost completely, there is no python/. * KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled. * text.c: clipboard copy call. * object.c: OB_SUPPORT_MATERIAL. * DerivedMesh.c and subsurf_ccg, stipple_quarttone. Still to be done: * Go over files and functions that were moved to a different location but could still use changes that were done in trunk.
2008-11-11Add MSVC90 project files - part 3. Extern and Intern projects are merged in ↵Benoit Bolsee
projectfiles_vc9\blender\blender.sln solution, you just need to open that solution to compile everything with VS2008.
2008-11-10Add MSVC90 project files - part 1.Benoit Bolsee