Program listing for file kernel/src/modelingTools/MultipleImpactNSL.hpp

Program listing for file kernel/src/modelingTools/MultipleImpactNSL.hpp#

 1#ifndef _MULTIPLEIMPACTNSL_
 2#define _MULTIPLEIMPACTNSL_
 3
 4#include "NonSmoothLaw.hpp"
 5#include "SiconosPointers.hpp"
 6#include "SiconosSerialization.hpp"
 7#include "SiconosVisitor.hpp"
 8
 9
10class MultipleImpactNSL : public NonSmoothLaw {
11private:
12
13  ACCEPT_SERIALIZATION(MultipleImpactNSL);
14
15
16  double _ResCof;
17
18  double _Stiff;
19
20  double _ElasCof;
21
22public:
23
24  MultipleImpactNSL();
25
26  MultipleImpactNSL(double, double, double, unsigned int _dim = 1);
27
28  ~MultipleImpactNSL();
29
30  inline double ResCof() const { return _ResCof; };
31
32  inline double Stiff() const { return _Stiff; };
33
34  inline double ElasCof() const { return _ElasCof; }
35
36  void setResCof(double newResCof);
37
38  void setStiff(double newStiff);
39
40  void setElasCoeff(double _newElasCoef);
41
42  bool isVerified() const override;
43
44  void display() const override;
45
46  ACCEPT_STD_VISITORS();
47};
48DEFINE_SPTR(MultipleImpactNSL)
49#endif