Program listing for file kernel/src/simulationTools/InteractionManager.hpp

Program listing for file kernel/src/simulationTools/InteractionManager.hpp#

 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