Program listing for file kernel/src/simulationTools/InteractionManager.hpp#
Return to documentation for this file
1#ifndef InteractionManager_h
2#define InteractionManager_h
3
4#include "Interaction.hpp"
5#include "DynamicalSystem.hpp"
6#include "SiconosVisitor.hpp"
7#include "NSLawMatrix.hpp"
8
9class InteractionManager
10{
11public:
12 InteractionManager() : _nslaws(1) {}
13 virtual ~InteractionManager() {}
14
15
16 virtual void updateInteractions(SP::Simulation simulation) {}
17
18
19 virtual void insertNonSmoothLaw(SP::NonSmoothLaw nslaw,
20 unsigned long int group1,
21 unsigned long int group2);
22
23
24 virtual SP::NonSmoothLaw nonSmoothLaw(unsigned long int group1,
25 unsigned long int group2);
26
27protected:
28
29
30 NSLawMatrix _nslaws;
31
32 friend class Simulation;
33 friend class TimeStepping;
34 friend class EventDriven;
35
36 ACCEPT_SERIALIZATION(InteractionManager);
37 VIRTUAL_ACCEPT_VISITORS(InteractionManager);
38
39};
40
41#endif