Program listing for file mechanics/src/collision/SiconosContactor.hpp#
Return to documentation for this file
1#ifndef SiconosContactor_h
2#define SiconosContactor_h
3
4#include <vector>
5#include <utility>
6
7#include "MechanicsFwd.hpp"
8
9#include <SiconosSerialization.hpp>
10
11#include "SiconosShape.hpp"
12
13
14
15class SiconosContactor
16{
17private:
18 SiconosContactor() {};
19
20protected:
21 ACCEPT_SERIALIZATION(SiconosContactor);
22
23public:
24 SiconosContactor(SP::SiconosShape _shape,
25 SP::SiconosVector _offset = SP::SiconosVector(),
26 int _collision_group = 0);
27
28 SP::SiconosShape shape;
29 SP::SiconosVector offset;
30 int collision_group;
31};
32
33class SiconosContactorSet : public std::vector< SP::SiconosContactor >
34{
35protected:
36 ACCEPT_SERIALIZATION(SiconosContactorSet);
37
38public:
39 typedef std::vector< SP::SiconosContactor >::iterator iterator;
40
41 void append(SP::SiconosContactor b) { push_back(b); }
42 void append(std::vector<SP::SiconosContactor> b) { insert(end(), b.begin(), b.end()); }
43 void append(const SiconosContactorSet& b) { insert(end(), b.begin(), b.end()); }
44 void append(const SP::SiconosContactorSet& b) { insert(end(), b->begin(), b->end()); }
45};
46
47#endif