diff options
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 |