diff options
Diffstat (limited to 'extern/softbody/src/admmpd_solver.cpp')
-rw-r--r-- | extern/softbody/src/admmpd_solver.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/extern/softbody/src/admmpd_solver.cpp b/extern/softbody/src/admmpd_solver.cpp index 66245b81e7b..e322970f8b5 100644 --- a/extern/softbody/src/admmpd_solver.cpp +++ b/extern/softbody/src/admmpd_solver.cpp @@ -70,6 +70,9 @@ int Solver::solve( // the variables are sized correctly. init_solve(options,data,collision,pin); + // Perform collision detection and linearization + linearize_collision_constraints(options,data,collision); + // Begin solver loop int iters = 0; for (; iters < options->max_admm_iters; ++iters) @@ -77,9 +80,6 @@ int Solver::solve( // Update ADMM z/u solve_local_step(options,data); - // Perform collision detection and linearization - update_constraints(options,data,collision); - // Solve Ax=b s.t. Cx=d ConjugateGradients().solve(options,data,collision); //GaussSeidel().solve(options,data,collision); @@ -190,7 +190,7 @@ void Solver::solve_local_step( BLI_task_parallel_range(0, ne, &thread_data, parallel_zu_update, &settings); } // end local step -void Solver::update_constraints( +void Solver::linearize_collision_constraints( const Options *options, SolverData *data, Collision *collision) |