5#ifndef BALL_KERNEL_BOND_H
6#define BALL_KERNEL_BOND_H
8#ifndef BALL_CONCEPT_PROPERTY_H
12#ifndef BALL_CONCEPT_COMPOSITE_H
16#ifndef BALL_CONCEPT_ATOMCONTAINER_H
20#define BALL_BOND_DEFAULT_FIRST_ATOM 0
21#define BALL_BOND_DEFAULT_SECOND_ATOM 0
22#define BALL_BOND_DEFAULT_NAME ""
23#define BALL_BOND_DEFAULT_ORDER ORDER__UNKNOWN
24#define BALL_BOND_DEFAULT_TYPE TYPE__UNKNOWN
73 : public Exception::GeneralException
107 ORDER__QUADRUPLE = 4,
113 NUMBER_OF_BOND_ORDERS
129 TYPE__DISULPHIDE_BRIDGE = 3,
131 TYPE__SALT_BRIDGE = 4,
436 virtual void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
463 void arrangeBonds_();
467# ifndef BALL_NO_INLINE_FUNCTIONS
468# include <BALL/KERNEL/bond.iC>
#define BALL_BOND_DEFAULT_TYPE
#define BALL_BOND_DEFAULT_ORDER
#define BALL_CREATE_DEEP(name)
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
const Atom * getFirstAtom() const
Return a pointer to the first atom.
void setSecondAtom(Atom *atom)
Atom * getSecondAtom()
Return a pointer to the second atom.
Bond(const Bond &bond, bool deep=true)
bool isIntraBondOf(const AtomContainer &atom_container) const
void persistentWrite(PersistenceManager &pm, const char *name=0) const
Type getType() const
Return the bond type.
void setType(Type bond_type)
Set the bond type.
Atom * getFirstAtom()
Return a pointer to the first atom.
void persistentRead(PersistenceManager &pm)
const String & getName() const
Return the atom name.
Bond(const String &name, Atom &first, Atom &second, Order order=BALL_BOND_DEFAULT_ORDER, Type type=BALL_BOND_DEFAULT_TYPE)
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
virtual bool isValid() const
static Bond * createBond(Bond &bond, Atom &first, Atom &second)
Atom * getPartner(const Atom &atom) const
Order getOrder() const
Return the bond order.
void setFirstAtom(Atom *atom)
const Atom * getSecondAtom() const
Return a pointer to the second atom.
const Atom * getBoundAtom(const Atom &atom) const
bool isInterBondOf(const AtomContainer &atom_container) const
bool isBondOf(const Atom &atom) const
void setName(const String &name)
Assign the atom name.
void setOrder(Order bond_order)
Assign the bond order.
Atom * getBoundAtom(const Atom &atom)
NotBound(const char *file, int line)