[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