/* * atom_bondedparticle.hpp * * Created on: Oct 19, 2009 * Author: heber */ #ifndef ATOM_BONDEDPARTICLE_HPP_ #define ATOM_BONDEDPARTICLE_HPP_ using namespace std; /*********************************************** includes ***********************************/ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include #include "atom_atominfo.hpp" #include "atom_bondedparticleinfo.hpp" #include "atom_particleinfo.hpp" /****************************************** forward declarations *****************************/ class bond; /********************************************** declarations *******************************/ class BondedParticle : public BondedParticleInfo, public virtual ParticleInfo, public virtual AtomInfo { public: BondedParticle(); virtual ~BondedParticle(); void addBond(BondedParticle* Partner); bool RegisterBond(bond *Binder); bool UnregisterBond(bond *Binder); bool IsBondedTo(BondedParticle * const BondPartner); void UnregisterAllBond(); int CountBonds() const; int CorrectBondDegree(); void OutputBondOfAtom() const; void OutputAdjacency(ofstream * const AdjacencyFile) const; void OutputBonds(ofstream * const BondFile) const; void OutputOrder(ofstream *file) const; private: }; #endif /* ATOM_BONDEDPARTICLE_HPP_ */