37 |
|
|
38 |
|
#include "primitives/StuntDouble.hpp" |
39 |
|
#include "primitives/DirectionalAtom.hpp" |
40 |
+ |
#include "types/AtomStamp.hpp" |
41 |
|
namespace oopse{ |
42 |
|
class RigidBody : public StuntDouble { |
43 |
|
public: |
81 |
|
|
82 |
|
virtual void accept(BaseVisitor* v); |
83 |
|
|
84 |
< |
void addAtom(Atom* atom); |
84 |
> |
void addAtom(Atom* at, AtomStamp* ats); |
85 |
|
|
86 |
|
/** calculate the reference coordinates */ |
87 |
|
void calcRefCoords(); |
92 |
|
/** update the positions of atoms belong to this rigidbody */ |
93 |
|
void updateAtoms(); |
94 |
|
|
95 |
+ |
Atom* beginAtom(std::vector<Atom*>::iterator& i); |
96 |
+ |
|
97 |
+ |
Atom* nextAtom(std::vector<Atom*>::iterator& i); |
98 |
+ |
|
99 |
+ |
std::vector<Atom*>::iterator getBeginAtomIter() { |
100 |
+ |
return atoms_.begin(); |
101 |
+ |
} |
102 |
+ |
|
103 |
+ |
std::vector<Atom*>::iterator getEndAtomIter() { |
104 |
+ |
return atoms_.end(); |
105 |
+ |
} |
106 |
+ |
|
107 |
|
/** |
108 |
|
* Returns the atoms of this rigid body |
109 |
|
* @return the atoms of this rigid body in a vector |
110 |
+ |
* @deprecate |
111 |
|
*/ |
112 |
|
std::vector<Atom*> getAtoms() { |
113 |
|
return atoms_; |