| 33 |
|
#ifndef PRIMITIVES_MOLECULE_HPP |
| 34 |
|
#define PRIMITIVES_MOLECULE_HPP |
| 35 |
|
#include <vector> |
| 36 |
< |
|
| 36 |
> |
#include <iostream> |
| 37 |
|
#include "math/Vector3.hpp" |
| 38 |
|
|
| 39 |
|
namespace oopse{ |
| 72 |
|
return localIndex_; |
| 73 |
|
} |
| 74 |
|
|
| 75 |
+ |
/** add an atom into this molecule */ |
| 76 |
+ |
void addAtom(Atom* atom); |
| 77 |
+ |
|
| 78 |
+ |
/** add a bond into this molecule */ |
| 79 |
+ |
void addBond(Bond* bond); |
| 80 |
+ |
|
| 81 |
+ |
/** add a bend into this molecule */ |
| 82 |
+ |
void addBend(Bend* bend); |
| 83 |
+ |
|
| 84 |
+ |
/** add a torsion into this molecule*/ |
| 85 |
+ |
void addTorsion(Torsion* torsion); |
| 86 |
+ |
|
| 87 |
+ |
/** add a rigidbody into this molecule */ |
| 88 |
+ |
void addRigidBody(RigidBody *rb); |
| 89 |
+ |
|
| 90 |
+ |
/** add a cutoff group into this molecule */ |
| 91 |
+ |
void addCutoffGroup(CutoffGroup* cp) |
| 92 |
+ |
|
| 93 |
+ |
/** */ |
| 94 |
+ |
void complete(); |
| 95 |
+ |
|
| 96 |
|
/** Returns the total number of atoms in this molecule */ |
| 97 |
|
unsigned int getNAtoms() { |
| 98 |
|
return atoms_.size(); |
| 217 |
|
/** Returns the total mass of this molecule */ |
| 218 |
|
double getTotalMass(); |
| 219 |
|
|
| 220 |
< |
friend ostream& operator <<(ostream& o, const Molecule& mol); |
| 220 |
> |
friend std::ostream& operator <<(std::ostream& o, const Molecule& mol); |
| 221 |
|
|
| 222 |
|
private: |
| 223 |
|
int localIndex_; |