[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49905] branches: Cloth collisions: Continue work on cloth collisions using El Topo in this branch.
Daniel Genrich
daniel.genrich at gmx.net
Wed Aug 15 00:57:20 CEST 2012
Revision: 49905
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49905
Author: genscher
Date: 2012-08-14 22:57:19 +0000 (Tue, 14 Aug 2012)
Log Message:
-----------
Cloth collisions: Continue work on cloth collisions using El Topo in this branch.
Using:
- El Topo 0.5 git
- Blender trunk 49904
- Patches so cloth fully uses El Topo as collision engine
Links:
http://www.cs.ubc.ca/labs/imager/tr/2009/eltopo/eltopo.html
https://github.com/tysonbrochu/eltopo
Modified Paths:
--------------
branches/cloth-eltopo/CMakeLists.txt
branches/cloth-eltopo/build_files/scons/config/linux-config.py
branches/cloth-eltopo/build_files/scons/tools/Blender.py
branches/cloth-eltopo/extern/eltopo/CMakeLists.txt
branches/cloth-eltopo/extern/eltopo/common/array2.h
branches/cloth-eltopo/extern/eltopo/common/array2_utils.h
branches/cloth-eltopo/extern/eltopo/common/bfstream.h
branches/cloth-eltopo/extern/eltopo/common/blas_wrapper.h
branches/cloth-eltopo/extern/eltopo/common/ccd_defs.h
branches/cloth-eltopo/extern/eltopo/common/ccd_wrapper.h
branches/cloth-eltopo/extern/eltopo/common/collisionqueries.cpp
branches/cloth-eltopo/extern/eltopo/common/collisionqueries.h
branches/cloth-eltopo/extern/eltopo/common/commonoptions.h
branches/cloth-eltopo/extern/eltopo/common/cubic_ccd_wrapper.cpp
branches/cloth-eltopo/extern/eltopo/common/fileio.cpp
branches/cloth-eltopo/extern/eltopo/common/gluvi.cpp
branches/cloth-eltopo/extern/eltopo/common/lapack_wrapper.h
branches/cloth-eltopo/extern/eltopo/common/levelset.cpp
branches/cloth-eltopo/extern/eltopo/common/levelset.h
branches/cloth-eltopo/extern/eltopo/common/makelevelset2.cpp
branches/cloth-eltopo/extern/eltopo/common/makelevelset2.h
branches/cloth-eltopo/extern/eltopo/common/marching_triangles.cpp
branches/cloth-eltopo/extern/eltopo/common/marching_triangles.h
branches/cloth-eltopo/extern/eltopo/common/matlapack.h
branches/cloth-eltopo/extern/eltopo/common/runstats.h
branches/cloth-eltopo/extern/eltopo/common/tunicate/expansion.cpp
branches/cloth-eltopo/extern/eltopo/common/tunicate/expansion.h
branches/cloth-eltopo/extern/eltopo/common/tunicate/orientation.cpp
branches/cloth-eltopo/extern/eltopo/common/util.h
branches/cloth-eltopo/extern/eltopo/common/wallclocktime.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/Makefile.example_defs
branches/cloth-eltopo/extern/eltopo/eltopo3d/Makefile.inc
branches/cloth-eltopo/extern/eltopo/eltopo3d/Makefile.local_defs
branches/cloth-eltopo/extern/eltopo/eltopo3d/accelerationgrid.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/accelerationgrid.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/broadphase.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/broadphasegrid.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/broadphasegrid.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/collisionpipeline.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/collisionpipeline.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/dynamicsurface.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/dynamicsurface.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/edgecollapser.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/edgecollapser.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/edgeflipper.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/edgeflipper.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/edgesplitter.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/edgesplitter.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/eltopo.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/eltopo.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/impactzonesolver.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/impactzonesolver.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshmerger.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshmerger.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshpincher.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshpincher.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshrenderer.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshrenderer.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshsmoother.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshsmoother.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/nondestructivetrimesh.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/nondestructivetrimesh.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/subdivisionscheme.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/subdivisionscheme.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/surftrack.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/surftrack.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/trianglequality.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/trianglequality.h
branches/cloth-eltopo/source/blender/blenkernel/BKE_cloth.h
branches/cloth-eltopo/source/blender/blenkernel/intern/cloth.c
branches/cloth-eltopo/source/blender/blenkernel/intern/collision.c
branches/cloth-eltopo/source/blender/blenloader/intern/readfile.c
branches/cloth-eltopo/source/blender/makesrna/intern/rna_cloth.c
Added Paths:
-----------
branches/cloth-eltopo/
branches/cloth-eltopo/extern/eltopo/common/newsparse/bicgstab.h
branches/cloth-eltopo/extern/eltopo/common/root_parity_ccd_wrapper.cpp
branches/cloth-eltopo/extern/eltopo/common/tunicate/interval.cpp
branches/cloth-eltopo/extern/eltopo/common/tunicate/interval.h
branches/cloth-eltopo/extern/eltopo/common/tunicate/intervalbase.h
branches/cloth-eltopo/extern/eltopo/common/tunicate/rootparitycollisiontest.cpp
branches/cloth-eltopo/extern/eltopo/common/tunicate/rootparitycollisiontest.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/meshoperator.h
Removed Paths:
-------------
branches/cloth-eltopo/extern/eltopo/common/ccd_wrapper.cpp
branches/cloth-eltopo/extern/eltopo/common/clamped_spline.cpp
branches/cloth-eltopo/extern/eltopo/common/clamped_spline.h
branches/cloth-eltopo/extern/eltopo/common/fe_ccd_wrapper.cpp
branches/cloth-eltopo/extern/eltopo/common/lexer.cpp
branches/cloth-eltopo/extern/eltopo/common/lexer.h
branches/cloth-eltopo/extern/eltopo/common/meshes/
branches/cloth-eltopo/extern/eltopo/common/newparser.cpp
branches/cloth-eltopo/extern/eltopo/common/newparser.h
branches/cloth-eltopo/extern/eltopo/common/openglutils.cpp
branches/cloth-eltopo/extern/eltopo/common/openglutils.h
branches/cloth-eltopo/extern/eltopo/common/predicates.cpp
branches/cloth-eltopo/extern/eltopo/common/predicates.h
branches/cloth-eltopo/extern/eltopo/common/sos_ccd_wrapper.cpp
branches/cloth-eltopo/extern/eltopo/common/sparse/
branches/cloth-eltopo/extern/eltopo/common/tunicate/sos_intersection.cpp
branches/cloth-eltopo/extern/eltopo/common/tunicate/sos_orientation.cpp
branches/cloth-eltopo/extern/eltopo/common/vector_math.h
branches/cloth-eltopo/extern/eltopo/eltopo-capi.cpp
branches/cloth-eltopo/extern/eltopo/eltopo-capi.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/broadphase_blenderbvh.cpp
branches/cloth-eltopo/extern/eltopo/eltopo3d/broadphase_blenderbvh.h
branches/cloth-eltopo/extern/eltopo/eltopo3d/obj/
branches/cloth-eltopo/extern/eltopo/eltopo3d/obj_debug/
Property changes on: branches/cloth-eltopo
___________________________________________________________________
Added: svn:ignore
+ *.pdb
.*
TAGS
cscope.out
sgc.bat
sgd.bat
smc.bat
ssenv.bat
tags
user-config.py
CMakeFiles
CMakeCache.txt
blender.bin
blender.kdev4
.kdev4
Added: svn:externals
+
Added: svn:mergeinfo
+ /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466
Modified: branches/cloth-eltopo/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2012-08-14 20:49:45 UTC (rev 49904)
+++ branches/cloth-eltopo/CMakeLists.txt 2012-08-14 22:57:19 UTC (rev 49905)
@@ -188,7 +188,7 @@
option(WITH_MOD_DECIMATE "Enable Decimate Modifier" ON)
option(WITH_MOD_BOOLEAN "Enable Boolean Modifier" ON)
option(WITH_MOD_REMESH "Enable Remesh Modifier" ON)
-option(WITH_MOD_CLOTH_ELTOPO "Enable Experimental cloth solver" OFF)
+option(WITH_MOD_CLOTH_ELTOPO "Enable Experimental cloth solver" ON)
mark_as_advanced(WITH_MOD_CLOTH_ELTOPO)
option(WITH_MOD_OCEANSIM "Enable Ocean Modifier" OFF)
Modified: branches/cloth-eltopo/build_files/scons/config/linux-config.py
===================================================================
--- trunk/blender/build_files/scons/config/linux-config.py 2012-08-14 20:49:45 UTC (rev 49904)
+++ branches/cloth-eltopo/build_files/scons/config/linux-config.py 2012-08-14 22:57:19 UTC (rev 49905)
@@ -107,7 +107,7 @@
WITH_BF_ELTOPO = False
BF_LAPACK = '/usr'
-BF_LAPACK_LIB = 'lapack3gf blas clapack'
+BF_LAPACK_LIB = 'lapack blas '
BF_LAPACK_LIBPATH = '${BF_LAPACK}/lib'
BF_FREETYPE = '/usr'
Modified: branches/cloth-eltopo/build_files/scons/tools/Blender.py
===================================================================
--- trunk/blender/build_files/scons/tools/Blender.py 2012-08-14 20:49:45 UTC (rev 49904)
+++ branches/cloth-eltopo/build_files/scons/tools/Blender.py 2012-08-14 22:57:19 UTC (rev 49905)
@@ -268,7 +268,7 @@
syslibs += Split(lenv['BF_SNDFILE_LIB'])
if lenv['WITH_BF_FFTW3'] and not lenv['WITH_BF_STATICFFTW3']:
syslibs += Split(lenv['BF_FFTW3_LIB'])
- if lenv['WITH_BF_ELTOPO']:
+ if lenv['WITH_BF_ELTOPO'] and not lenv['WITH_BF_LAPACK_STATIC']:
syslibs += Split(lenv['BF_LAPACK_LIB'])
if lenv['WITH_BF_SDL']:
syslibs += Split(lenv['BF_SDL_LIB'])
Modified: branches/cloth-eltopo/extern/eltopo/CMakeLists.txt
===================================================================
--- trunk/blender/extern/eltopo/CMakeLists.txt 2012-08-14 20:49:45 UTC (rev 49904)
+++ branches/cloth-eltopo/extern/eltopo/CMakeLists.txt 2012-08-14 22:57:19 UTC (rev 49905)
@@ -37,22 +37,28 @@
)
set(SRC
- eltopo-capi.cpp
common/bfstream.cpp
- common/ccd_wrapper.cpp
- common/clamped_spline.cpp
common/collisionqueries.cpp
common/cubic_ccd_wrapper.cpp
- common/fe_ccd_wrapper.cpp
common/fileio.cpp
common/levelset.cpp
common/makelevelset2.cpp
common/makelevelset3.cpp
+ common/marching_tiles_hires.cpp
common/marching_triangles.cpp
- common/predicates.cpp
+ common/root_parity_ccd_wrapper.cpp
common/runstats.cpp
- common/sos_ccd_wrapper.cpp
common/wallclocktime.cpp
+ common/newsparse/dense_matrix.cpp
+ common/newsparse/krylov_solvers.cpp
+ common/newsparse/sparse_matrix.cpp
+ common/tunicate/expansion.cpp
+ common/tunicate/intersection.cpp
+ common/tunicate/interval.cpp
+ common/tunicate/neg.cpp
+ common/tunicate/orientation.cpp
+ common/tunicate/rootparitycollisiontest.cpp
+
eltopo3d/accelerationgrid.cpp
eltopo3d/broadphasegrid.cpp
eltopo3d/collisionpipeline.cpp
@@ -63,71 +69,72 @@
eltopo3d/eltopo.cpp
eltopo3d/impactzonesolver.cpp
eltopo3d/meshmerger.cpp
+ eltopo3d/meshpincher.cpp
+ eltopo3d/meshrenderer.cpp
eltopo3d/meshsmoother.cpp
- eltopo3d/meshpincher.cpp
eltopo3d/nondestructivetrimesh.cpp
eltopo3d/subdivisionscheme.cpp
eltopo3d/surftrack.cpp
eltopo3d/trianglequality.cpp
- common/newsparse/dense_matrix.cpp
- common/newsparse/krylov_solvers.cpp
- common/newsparse/sparse_matrix.cpp
- common/sparse/incomplete_qr.cpp
- common/tunicate/expansion.cpp
- common/tunicate/intersection.cpp
- common/tunicate/neg.cpp
- common/tunicate/orientation.cpp
- common/tunicate/sos_intersection.cpp
- common/tunicate/sos_orientation.cpp
- eltopo-capi.h
common/array1.h
common/array2.h
+ common/array2_utils.h
common/array3.h
common/array3_utils.h
common/bfstream.h
common/blas_wrapper.h
+ common/ccd_defs.h
common/ccd_wrapper.h
- common/clamped_spline.h
common/collisionqueries.h
+ common/commonoptions.h
common/fileio.h
+ common/gluvi.h
common/grid3.h
common/hashtable.h
common/lapack_wrapper.h
common/levelset.h
common/makelevelset2.h
common/makelevelset3.h
+ common/marching_tiles_hires.h
common/marching_triangles.h
common/mat.h
common/matlapack.h
- common/openglutils.h
- common/predicates.h
+ common/runstats.h
common/util.h
common/vec.h
- common/vector_math.h
common/wallclocktime.h
+ common/newsparse/bicgstab.h
+ common/newsparse/dense_matrix.h
+ common/newsparse/krylov_solvers.h
+ common/newsparse/linear_operator.h
+ common/newsparse/sparse_matrix.h
+ common/tunicate/expansion.h
+ common/tunicate/interval.h
+ common/tunicate/intervalbase.h
+ common/tunicate/neg.h
+ common/tunicate/rootparitycollisiontest.h
+ common/tunicate/tunicate.h
eltopo3d/accelerationgrid.h
eltopo3d/broadphase.h
eltopo3d/broadphasegrid.h
+ eltopo3d/collisionpipeline.h
eltopo3d/dynamicsurface.h
+ eltopo3d/edgecollapser.h
+ eltopo3d/edgeflipper.h
+ eltopo3d/edgesplitter.h
eltopo3d/eltopo.h
+ eltopo3d/impactzonesolver.h
+ eltopo3d/meshmerger.h
+ eltopo3d/meshoperator.h
+ eltopo3d/meshpincher.h
+ eltopo3d/meshrenderer.h
+ eltopo3d/meshsmoother.h
eltopo3d/nondestructivetrimesh.h
eltopo3d/options.h
eltopo3d/subdivisionscheme.h
eltopo3d/surftrack.h
- common/newsparse/dense_matrix.h
- common/newsparse/krylov_solvers.h
- common/newsparse/linear_operator.h
- common/newsparse/sparse_matrix.h
- common/sparse/cgsolver.h
- common/sparse/crsolver.h
- common/sparse/incomplete_qr.h
- common/sparse/sparseilu.h
- common/sparse/sparsematrix.h
- common/sparse/sparsemilu.h
- common/tunicate/expansion.h
- common/tunicate/neg.h
- common/tunicate/tunicate.h
+ eltopo3d/trianglequality.h
)
add_definitions(-DNO_GUI)
Modified: branches/cloth-eltopo/extern/eltopo/common/array2.h
===================================================================
--- trunk/blender/extern/eltopo/common/array2.h 2012-08-14 20:49:45 UTC (rev 49904)
+++ branches/cloth-eltopo/extern/eltopo/common/array2.h 2012-08-14 22:57:19 UTC (rev 49905)
@@ -9,287 +9,271 @@
template<class T, class ArrayT=std::vector<T> >
struct Array2
{
- // STL-friendly typedefs
-
- typedef typename ArrayT::iterator iterator;
- typedef typename ArrayT::const_iterator const_iterator;
- typedef typename ArrayT::size_type size_type;
- typedef long difference_type;
- typedef T& reference;
- typedef const T& const_reference;
- typedef T value_type;
- typedef T* pointer;
- typedef const T* const_pointer;
- typedef typename ArrayT::reverse_iterator reverse_iterator;
- typedef typename ArrayT::const_reverse_iterator const_reverse_iterator;
-
- // the actual representation
-
- ssize_t ni, nj;
- ArrayT a;
-
- // the interface
-
- Array2(void)
- : ni(0), nj(0), a(0)
- {}
-
- Array2(int ni_, int nj_)
- : ni(ni_), nj(nj_), a(ni_*nj_)
- { assert(ni_>=0 && nj>=0); }
-
- Array2(int ni_, int nj_, ArrayT& a_)
- : ni(ni_), nj(nj_), a(a_)
- { assert(ni_>=0 && nj>=0); }
-
- Array2(int ni_, int nj_, const T& value)
- : ni(ni_), nj(nj_), a(ni_*nj_, value)
- { assert(ni_>=0 && nj>=0); }
-
- Array2(int ni_, int nj_, const T& value, size_type max_n_)
- : ni(ni_), nj(nj_), a(ni_*nj_, value, max_n_)
- { assert(ni_>=0 && nj>=0); }
-
- Array2(int ni_, int nj_, T* data_)
- : ni(ni_), nj(nj_), a(ni_*nj_, data_)
- { assert(ni_>=0 && nj>=0); }
-
- Array2(int ni_, int nj_, T* data_, size_type max_n_)
- : ni(ni_), nj(nj_), a(ni_*nj_, data_, max_n_)
- { assert(ni_>=0 && nj>=0); }
-
- template<class OtherArrayT>
- Array2(Array2<T, OtherArrayT>& other)
- : ni(other.ni), nj(other.nj), a(other.a)
- {}
-
- ~Array2(void)
- {
+ // STL-friendly typedefs
+
+ typedef typename ArrayT::iterator iterator;
+ typedef typename ArrayT::const_iterator const_iterator;
+ typedef typename ArrayT::size_type size_type;
+ typedef long difference_type;
+ typedef T& reference;
+ typedef const T& const_reference;
+ typedef T value_type;
+ typedef T* pointer;
+ typedef const T* const_pointer;
+ typedef typename ArrayT::reverse_iterator reverse_iterator;
+ typedef typename ArrayT::const_reverse_iterator const_reverse_iterator;
+
+ // the actual representation
+
+ ssize_t ni, nj;
+ ArrayT a;
+
+ // the interface
+
+ Array2(void)
+ : ni(0), nj(0), a(0)
+ {}
+
+ Array2(int ni_, int nj_)
+ : ni(ni_), nj(nj_), a(ni_*nj_)
+ { assert(ni_>=0 && nj>=0); }
+
+ Array2(int ni_, int nj_, ArrayT& a_)
+ : ni(ni_), nj(nj_), a(a_)
+ { assert(ni_>=0 && nj>=0); }
+
+ Array2(int ni_, int nj_, const T& value)
+ : ni(ni_), nj(nj_), a(ni_*nj_, value)
+ { assert(ni_>=0 && nj>=0); }
+
+ Array2(int ni_, int nj_, const T& value, size_type max_n_)
+ : ni(ni_), nj(nj_), a(ni_*nj_, value, max_n_)
+ { assert(ni_>=0 && nj>=0); }
+
+ Array2(int ni_, int nj_, T* data_)
+ : ni(ni_), nj(nj_), a(ni_*nj_, data_)
+ { assert(ni_>=0 && nj>=0); }
+
+ Array2(int ni_, int nj_, T* data_, size_type max_n_)
+ : ni(ni_), nj(nj_), a(ni_*nj_, data_, max_n_)
+ { assert(ni_>=0 && nj>=0); }
+
+ template<class OtherArrayT>
+ Array2(Array2<T, OtherArrayT>& other)
+ : ni(other.ni), nj(other.nj), a(other.a)
+ {}
+
+ ~Array2(void)
+ {
#ifndef NDEBUG
- ni=nj=0;
+ ni=nj=0;
#endif
- }
+ }
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list