#ifndef __ABOND_HH__ #define __ABOND_HH__ #include "AAtom.hh" class ABond { public: //--- Constructors --- virtual ABond *newBond(AAtom *src,AAtom *dst, AAtom *_srcCA = NULL, AAtom *_dstCA = NULL) = 0; //--- Destructors --- virtual ~ABond() { ; } //--- Connected atoms --- virtual AAtom *getSrcAtom() = 0; virtual AAtom *getDstAtom() = 0; //--- Access to the next bond --- virtual ABond *getNext() = 0; virtual bool setNext(ABond *bond) = 0; //--- Manipulations with atoms --- virtual bool hasAtom(AAtom *atom) = 0; //--- Visibility --- virtual bool isVisible() = 0; virtual void setVisible() = 0; virtual void setNotVisible() = 0; //--- Flag status --- virtual bool isWired() = 0; virtual void setWired() = 0; virtual bool isDashed() = 0; virtual void setDashed() = 0; virtual bool isCylindered() = 0; virtual void setCylindered() = 0; virtual bool isDrawn() = 0; virtual void setNotDraw() = 0; //--- Access to the energy of the bond --- virtual double getEnergy() = 0; virtual double setEnergy(double energy) = 0; //--- Extracting colors --- virtual void setColor(short col_) = 0; virtual short getColor() = 0; //--- Bond stability --- virtual double getStability() = 0; virtual void setStability(double stab) = 0; }; #endif