Program listing for file io/src/mechanics/MechanicsIO.hpp#
Return to documentation for this file
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