diff options
author | over0219 <over0219@umn.edu> | 2020-07-02 02:26:23 +0300 |
---|---|---|
committer | over0219 <over0219@umn.edu> | 2020-07-02 02:26:23 +0300 |
commit | c4484057685a905876ed472a61a0fc0f6085f885 (patch) | |
tree | d0dd9dd8f0c7e57b94fc680f38fba8de0299e51a /extern/softbody/src/admmpd_linsolve.h | |
parent | e0a76a48eb80f85026c503206ddc3a82d7af0ddb (diff) |
fixed mcgs
Diffstat (limited to 'extern/softbody/src/admmpd_linsolve.h')
-rw-r--r-- | extern/softbody/src/admmpd_linsolve.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/extern/softbody/src/admmpd_linsolve.h b/extern/softbody/src/admmpd_linsolve.h index 3dc3764c6e9..ee6a82b4048 100644 --- a/extern/softbody/src/admmpd_linsolve.h +++ b/extern/softbody/src/admmpd_linsolve.h @@ -5,6 +5,7 @@ #define ADMMPD_LINSOLVE_H_ #include "admmpd_types.h" +#include "admmpd_collision.h" namespace admmpd { @@ -13,7 +14,8 @@ class ConjugateGradients { public: void solve( const Options *options, - SolverData *data); + SolverData *data, + Collision *collision); protected: // Apply preconditioner @@ -28,18 +30,23 @@ class GaussSeidel { public: void solve( const Options *options, - SolverData *data); + SolverData *data, + Collision *collision); protected: void init_solve( const Options *options, - SolverData *data); + SolverData *data, + Collision *collision); void compute_colors( - const RowSparseMatrix<double> *A, - int stride, + const std::vector<std::set<int> > &vertex_energies_graph, + const std::vector<std::set<int> > &vertex_constraints_graph, std::vector<std::vector<int> > &colors); + // For debugging: + void verify_colors(SolverData *data); + }; } // namespace admmpd |