[io] add missing output for NewtonEuler5DR
@@ -222,7 +222,46 @@ void ContactPointVisitor::operator()(const NewtonEuler3DR& rel)
answer.setValue(21,inter->lambda(1)->getValue(2));
answer.setValue(22, id);
}
+/* then specializations : */
+template<>
+void ContactPointVisitor::operator()(const NewtonEuler5DR& rel)
+{
+ const SiconosVector& posa = *rel.pc1();
+ const SiconosVector& posb = *rel.pc2();
+ const SiconosVector& nc = *rel.nc();
+ DEBUG_PRINTF("posa(0)=%g\n", posa(0)); DEBUG_PRINTF("posa(1)=%g\n", posa(1)); DEBUG_PRINTF("posa(2)=%g\n", posa(2));
+ double id = inter->number();
+ double mu = ask<ForMu>(*inter->nonSmoothLaw());
+ const SimpleMatrix& jachqT = *rel.jachqT();
+ SiconosVector cf(jachqT.size(1));
+ prod(*inter->lambda(1), jachqT, cf, true);
+ answer.resize(23);
+
+ answer.setValue(0, mu);
+ answer.setValue(1, posa(0));
+ answer.setValue(2, posa(1));
+ answer.setValue(3, posa(2));
+ answer.setValue(4, posb(0));
+ answer.setValue(5, posb(1));
+ answer.setValue(6, posb(2));
+ answer.setValue(7, nc(0));
+ answer.setValue(8, nc(1));
+ answer.setValue(9, nc(2));
+ answer.setValue(10, cf(0));
+ answer.setValue(11, cf(1));
+ answer.setValue(12, cf(2));
+ answer.setValue(13,inter->y(0)->getValue(0));
+ answer.setValue(14,inter->y(0)->getValue(1));
+ answer.setValue(15,inter->y(0)->getValue(2));
+ answer.setValue(16,inter->y(1)->getValue(0));
+ answer.setValue(17,inter->y(1)->getValue(1));
+ answer.setValue(18,inter->y(1)->getValue(2));
+ answer.setValue(19,inter->lambda(1)->getValue(0));
+ answer.setValue(20,inter->lambda(1)->getValue(1));
+ answer.setValue(21,inter->lambda(1)->getValue(2));
+ answer.setValue(22, id);
+}
template<>
void ContactPointVisitor::operator()(const Lagrangian2d2DR& rel)
{
