diff --git a/src/static_equilibrium.cpp b/src/static_equilibrium.cpp index 3337f401af487f9ea471e05eef435139eb9c0309..8e4de3e9e25abc0db03b77cf727d9c83e5265df5 100644 --- a/src/static_equilibrium.cpp +++ b/src/static_equilibrium.cpp @@ -515,6 +515,16 @@ bool StaticEquilibrium::computePolytopeProjection(Cref_matrix6X v) // getProfiler().start("cdd to eigen"); dd_MatrixPtr b_A = dd_CopyInequalities(H_); + if(canonicalize_cdd_matrix) + { + dd_ErrorType error = dd_NoError; + dd_rowset redset,impl_linset; + dd_rowindex newpos; + dd_MatrixCanonicalize(&b_A, &impl_linset, &redset, &newpos, &error); + set_free(redset); + set_free(impl_linset); + free(newpos); + } // get equalities and add them as complementary inequality constraints std::vector<long> eq_rows; for(long elem=1;elem<=(long)(b_A->linset[0]);++elem)