[Bf-blender-cvs] [040f67df6c1] experimental-build: Revert "rigid deform modifier"
Jacques Lucke
noreply at git.blender.org
Wed Feb 13 20:49:46 CET 2019
Commit: 040f67df6c1eff4f20ccb86e334ea4e34b35e2e4
Author: Jacques Lucke
Date: Wed Feb 13 20:49:08 2019 +0100
Branches: experimental-build
https://developer.blender.org/rB040f67df6c1eff4f20ccb86e334ea4e34b35e2e4
Revert "rigid deform modifier"
This reverts commit 519a6c425d7225618478a43f4e0fa10e56287a53.
===================================================================
M build_files/cmake/macros.cmake
M extern/CMakeLists.txt
D extern/CholUp/CMakeLists.txt
D extern/CholUp/source/CholUp/CholUp.hpp
D extern/CholUp/source/CholUp/EliminationTreeMethods.cpp
D extern/CholUp/source/CholUp/EliminationTreeMethods.h
D extern/CholUp/source/CholUp/Matrix.hpp
D extern/CholUp/source/CholUp/Ordering.h
D extern/CholUp/source/CholUp/SparseMatrix.h
D extern/CholUp/source/CholUp/SparseMatrix_impl.h
D extern/CholUp/source/CholUp/SparseSupernodal.h
D extern/CholUp/source/CholUp/SupernodalCholesky.h
D extern/CholUp/source/CholUp/Timer.cpp
D extern/CholUp/source/CholUp/Timer.hpp
D extern/CholUp/source/CholUp/main.cpp
M intern/CMakeLists.txt
D intern/fast_svd/CMakeLists.txt
D intern/fast_svd/source/FastSVD.cpp
D intern/fast_svd/source/FastSVD.hpp
D intern/fast_svd/source/Singular_Value_Decomposition_Givens_QR_Factorization_Kernel.hpp
D intern/fast_svd/source/Singular_Value_Decomposition_Jacobi_Conjugation_Kernel.hpp
D intern/fast_svd/source/Singular_Value_Decomposition_Kernel_Declarations.hpp
D intern/fast_svd/source/Singular_Value_Decomposition_Main_Kernel_Body.hpp
D intern/fast_svd/source/Singular_Value_Decomposition_Preamble.hpp
M release/scripts/startup/bl_operators/__init__.py
D release/scripts/startup/bl_operators/rigiddeform.py
M release/scripts/startup/bl_ui/properties_data_modifier.py
M source/blender/blenkernel/BKE_mesh_runtime.h
M source/blender/blenlib/BLI_edgehash.h
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/writefile.c
M source/blender/editors/object/object_intern.h
M source/blender/editors/object/object_modifier.c
M source/blender/editors/object/object_ops.c
M source/blender/editors/space_outliner/outliner_draw.c
M source/blender/makesdna/DNA_modifier_types.h
M source/blender/makesrna/RNA_access.h
M source/blender/makesrna/intern/rna_modifier.c
M source/blender/modifiers/CMakeLists.txt
M source/blender/modifiers/MOD_modifiertypes.h
D source/blender/modifiers/intern/MOD_rigiddeform.c
D source/blender/modifiers/intern/MOD_rigiddeform_system.cc
D source/blender/modifiers/intern/MOD_rigiddeform_system.h
D source/blender/modifiers/intern/MOD_rigiddeform_system.hpp
D source/blender/modifiers/intern/MOD_rigiddeform_system_wrapper.cc
M source/blender/modifiers/intern/MOD_util.c
===================================================================
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 8d1677267cf..5b6e3fa0011 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -672,7 +672,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_intern_mikktspace
bf_intern_dualcon
bf_intern_cycles
- extern_cholup
cycles_device
cycles_render
cycles_graph
@@ -692,7 +691,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_intern_clog
bf_intern_opensubdiv
bf_intern_numaapi
- bf_intern_fast_svd
)
if(NOT WITH_SYSTEM_GLOG)
@@ -1062,7 +1060,7 @@ function(get_blender_version)
# So cmake depends on BKE_blender.h, beware of inf-loops!
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h
- ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender_version.h.done)
+ ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender_version.h.done)
file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
@@ -1383,15 +1381,15 @@ function(find_python_package
unset(PYTHON_${_upper_package}_PATH CACHE)
find_path(PYTHON_${_upper_package}_PATH
NAMES
- ${package}
+ ${package}
HINTS
- "${PYTHON_LIBPATH}/"
- "${PYTHON_LIBPATH}/python${PYTHON_VERSION}/"
- "${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/"
+ "${PYTHON_LIBPATH}/"
+ "${PYTHON_LIBPATH}/python${PYTHON_VERSION}/"
+ "${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/"
PATH_SUFFIXES
- site-packages
- dist-packages
- vendor-packages
+ site-packages
+ dist-packages
+ vendor-packages
NO_DEFAULT_PATH
)
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index 376b1d0e987..2b18be71941 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -34,7 +34,6 @@ endif()
add_subdirectory(rangetree)
add_subdirectory(wcwidth)
-add_subdirectory(CholUp)
if(WITH_BULLET)
if(NOT WITH_SYSTEM_BULLET)
diff --git a/extern/CholUp/CMakeLists.txt b/extern/CholUp/CMakeLists.txt
deleted file mode 100644
index 53eefcaaed8..00000000000
--- a/extern/CholUp/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-set(INC
- .
-)
-
-set(INC_SYS
- ${EIGEN3_INCLUDE_DIRS}
-)
-
-set(SRC
- source/CholUp/EliminationTreeMethods.cpp
-
- source/CholUp/EliminationTreeMethods.h
- source/CholUp/Matrix.hpp
- source/CholUp/SparseMatrix_impl.h
- source/CholUp/SparseMatrix.h
- source/CholUp/SparseSupernodal.h
- source/CholUp/SupernodalCholesky.h
- source/CholUp/CholUp.hpp
-)
-
-blender_add_lib(extern_cholup "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/extern/CholUp/source/CholUp/CholUp.hpp b/extern/CholUp/source/CholUp/CholUp.hpp
deleted file mode 100644
index 76688e57968..00000000000
--- a/extern/CholUp/source/CholUp/CholUp.hpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "SupernodalCholesky.h"
diff --git a/extern/CholUp/source/CholUp/EliminationTreeMethods.cpp b/extern/CholUp/source/CholUp/EliminationTreeMethods.cpp
deleted file mode 100644
index a44403ea03a..00000000000
--- a/extern/CholUp/source/CholUp/EliminationTreeMethods.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "EliminationTreeMethods.h"
-#include "SparseMatrix.h"
-
-namespace CholUp {
-
-int ereach(const SparseMatrix<double>& A, int NS, int k, int k0, const int* parent, const int* colMap, int* s, int* w)
-{
- int i, len;
- int top = NS;
- int sk = colMap[k];
-
- w[sk] = k;
-
- for(int p = A.col[k]; p < A.diag[k]; ++p)
- {
- i = colMap[A.row[p]];
-
- for(len = 0; w[i] < k0; i = parent[i])
- {
- s[len++] = i;
- w[i] = k;
- }
-
- while(len > 0) s[--top] = s[--len];
- }
-
- return top;
-}
-
-void firstdesc (int n, int *parent, int *post, int *first, int *level)
-{
- int len, i, k, r, s ;
- for (i = 0 ; i < n ; i++) first [i] = -1 ;
- for (k = 0 ; k < n ; k++)
- {
- i = post [k] ; /* node i of etree is kth postordered node */ len =0; /* traverse from i towards the root */
- for (r = i ; r != -1 && first [r] == -1 ; r = parent [r], len++)
- first [r] = k ;
- len += (r == -1) ? (-1) : level [r] ; /* root node or end of path */
- for (s = i ; s != r ; s = parent [s]) level [s] = len-- ;
- }
-}
-
-int tdfs(int j, int k, int *head, const int *next, int *post, int *stack)
-{
- int i, p, top = 0;
- if (!head || !next || !post || !stack) return -1;
-
- stack[0] = j;
-
- while(top >= 0)
- {
- p = stack[top];
- i = head[p];
- if(i == -1)
- {
- --top;
- post[k++] = p;
- } else
- {
- head[p] = next[i];
- stack[++top] = i;
- }
- }
-
- return k;
-}
-
-void postOrdering(const int* parent, const int n, int* post)
-{
- int k = 0;
- int* w = new int[3 * n];
-
- int* head = w;
- int* next = w + n;
- int* stack = w + 2 * n;
-
- for(int j = 0; j < n; ++j) head[j] = -1;
-
- for(int j = n-1; j >= 0; --j)
- {
- if(parent[j] == -1) continue;
-
- next[j] = head[parent[j]];
- head[parent[j]] = j;
- }
-
- for(int j = 0; j < n; ++j)
- {
- if(parent[j] != -1) continue;
- k = tdfs(j, k, head, next, post, stack);
- }
-
- delete[] w;
-}
-
-int leaf (int i, int j, const int *first, int *maxfirst, int *prevleaf,
- int *ancestor, int *jleaf)
-{
- int q, s, sparent, jprev ;
- if (!first || !maxfirst || !prevleaf || !ancestor || !jleaf) return (-1) ;
- *jleaf = 0 ;
- if (i <= j || first [j] <= maxfirst [i]) return (-1) ; /* j not a leaf */
- maxfirst [i] = first [j] ; /* update max first[j] seen so far */
- jprev = prevleaf [i] ; /* jprev = previous leaf of ith subtree */
- prevleaf [i] = j ;
- *jleaf = (jprev == -1) ? 1: 2 ; /* j is first or subsequent leaf */
- if (*jleaf == 1) return (i) ; /* if 1st leaf, q = root of ith subtree */
- for (q = jprev ; q != ancestor [q] ; q = ancestor [q]) ;
- for (s = jprev ; s != q ; s = sparent)
- {
- sparent = ancestor [s] ; /* path compression */
- ancestor [s] = q ;
- }
- return (q) ; /* q = least common ancester (jprev,j) */
-}
-
-} /* namespace CholUp */
\ No newline at end of file
diff --git a/extern/CholUp/source/CholUp/EliminationTreeMethods.h b/extern/CholUp/source/CholUp/EliminationTreeMethods.h
deleted file mode 100644
index f9be05f455f..00000000000
--- a/extern/CholUp/source/CholUp/EliminationTreeMethods.h
+++ /dev/null
@@ -1,113 +0,0 @@
-#pragma once
-
-#include "SparseMatrix.h"
-
-namespace CholUp {
-
-int tdfs(int j, int k, int *head, const int *next, int *post, int *stack);
-
-void postOrdering(const int* parent, const int n, int* post);
-
-int leaf (int i, int j, const int *first, int *maxfirst, int *prevleaf,
- int *ancestor, int *jleaf);
-
-void firstdesc (int n, int *parent, int *post, int *first, int *level);
-
-int ereach(const SparseMatrix<double>& A, int NS, int k, int k0, const int* parent, const int* colMap, int* s, int* w);
-
-template<class MatrixType>
-void computeColCounts(const MatrixType& A, int* parent, int* post, int* colcount /* out*/)
-{
- int i, j, k, n, J, s, p, q, jleaf, *maxfirst, *prevleaf,
- *ancestor, *w, *first, *delta ;
- n = A.ncols;
-
- s = 4*n;
-
- delta = colcount;
- w = new int[s]; /* get workspace */
-
- ancestor = w ; maxfirst = w+n ; prevleaf = w+2*n ; first = w+3*n ;
- for (k = 0 ; k < s ; k++) w [k] = -1 ; /* clear workspace w [0..s-1] */
-
- for (k = 0 ; k < n ; k++) /* find first [j] */
- {
- j = post [k] ;
- delta [j] = (first [j] == -1) ? 1 : 0 ; /* delta[j]=1 if j is a leaf */
- for ( ; j != -1 && first [j] == -1 ; j = parent [j]) first [j] = k ;
- }
-
- const int *ATp = A.col;
- const int *ATi = A.row;
-
- for (i = 0 ; i < n ; i++) ancestor [i] = i ; /* each node in its own set */
-
- for (k = 0 ; k < n ; k++)
- {
- j = post [k] ; /* j is the kth node in postordered etree */
- if (parent [j] != -1) delta [parent [j]]-- ; /* j is not a root */
- for (J = j ; J != -1 ; J = -1) /* J=j for LL'=A case */
- {
- for (p = A.diag[J] + 1 ; p < ATp [J+1] ; p++)
- {
- i = ATi [p] ;
- q = leaf (i, j, first, maxfirst, prevleaf, ancestor, &jleaf);
- if (jleaf >= 1) delta [j]++ ; /* A(i,j) is in skeleton */
- if (jleaf == 2) delta [q]-- ; /* account for overlap in q */
- }
- }
-
- if (parent [j] != -1) ancestor [j] = parent [j] ;
- }
- for (j = 0 ; j < n ; j++) /* sum up delta's of each child */
- {
- if (parent [j] != -1) colcount [parent [j]] += colcount [j] ;
- }
-
- delete[] w;
-}
-
-template<class MatrixType>
-void rowCounts(const MatrixType& A, int* parent, int* post, int* rowcount)
-{
- int n = A.col.size() - 1;
- const int* Ap = A.col.data();
- const int* Ai = A.row.data(); /* get A */
-
- int* w = new int[5 * n]; /* get workspace */
- auto ancestor = w ;
- auto maxfirst = w+n ;
- auto prevleaf = w+2*n ;
- auto first = w+3*n ;
- auto level = w+4*n ;
-
- firstdesc(n, parent, post, first, level) ;
-
- for(int i = 0 ; i < n ; i++)
- {
- rowcount [i] = 1; /* count the diagonal of L */
- prevleaf [i] = -1; /* no previous leaf of the ith row subtree */
- maxfirst [i] = -1; /* max first[j] for node j in ith subtree */
- ancestor [i] = i; /* every node is in its own set, by itself */
- }
-
- int jleaf;
-
- for(int k = 0 ; k < n ; k++)
- {
- int j = post [k]; /* j is the kth node in the postordered etree */
- for (int p = Ap [j] ; p < Ap [j+1] ; p++)
- {
- int i = Ai [p] ;
- int q = leaf (i, j, first, maxfirst, prevleaf, ancestor, &jleaf) ;
- if (jleaf) rowcount [i] += (level [j] - level [q]) ;
- }
-
- if (parent [j] != -1) ancestor [j] = parent [j] ;
-
- }
-
- delete[] w;
-}
-
-} /* namespace CholUp */
\ No newline at end of file
diff --git a/extern/CholUp/sourc
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list