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
251 bool operator == (
const Bond& bond)
const;
254 bool operator != (
const Bond& bond)
const;
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
NotBound(const char *file, int line)
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.
@ IS_AROMATIC
This property can be used to store aromaticity information without overwriting bond orders.
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)
@ TYPE__DISULPHIDE_BRIDGE
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
@ ORDER__QUADRUPLE
Quadruple bond.
@ ORDER__DOUBLE
Double bond.
@ ORDER__TRIPLE
Triple Bond.
@ ORDER__SINGLE
Single bond.
@ ORDER__AROMATIC
Aromatic bonds.
@ ORDER__ANY
Any bond orders (useful for predicates).
@ ORDER__UNKNOWN
Default value.
@ NUMBER_OF_BOND_ORDERS
The number of bond orders.
void setName(const String &name)
Assign the atom name.
void setOrder(Order bond_order)
Assign the bond order.
Atom * getBoundAtom(const Atom &atom)
GeneralException()
Default constructor.
BALL_INLINE PropertyManager()
Default constructor.
#define BALL_CREATE_DEEP(name)