Program listing for file io/src/mechanics/MechanicsIO.hpp

Program listing for file io/src/mechanics/MechanicsIO.hpp#

 1#ifndef MechanicsIO_hpp
 2#define MechanicsIO_hpp
 3
 4#include <MechanicsFwd.hpp>
 5#ifdef HAVE_SICONOS_MECHANISMS
 6#include <MechanismsFwd.hpp>
 7#endif
 8#include <SiconosPointers.hpp>
 9#include <SiconosFwd.hpp>
10
11class MechanicsIO
12{
13protected:
14
15  template<typename T, typename G>
16  SP::SimpleMatrix visitAllVerticesForVector(const G& graph) const;
17
18  template<typename T, typename G>
19  SP::SiconosVector visitAllVerticesForDouble(const G& graph) const;
20
21public:
22
23  MechanicsIO() {};
24
25
26  SP::SimpleMatrix positions(const NonSmoothDynamicalSystem& nsds) const;
27
28
29  SP::SimpleMatrix velocities(const NonSmoothDynamicalSystem& nsds) const;
30
31
32  SP::SimpleMatrix contactPoints(const NonSmoothDynamicalSystem& nsds, unsigned int index_set=1) const;
33
34
35
36  SP::SimpleMatrix contactInfo(const NonSmoothDynamicalSystem& nsds, unsigned int index_set=1) const;
37
38
39  SP::SimpleMatrix contactContactWork(const NonSmoothDynamicalSystem& nsds, unsigned int index_set=1, double omega = 0.5, double tol=1e-08) const;
40
41
42  SP::SimpleMatrix domains(const NonSmoothDynamicalSystem& nsds) const;
43};
44
45
46#endif