Loading...
Searching...
No Matches
atom.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_KERNEL_ATOM_H
#define BALL_KERNEL_ATOM_H
#ifndef BALL_CONCEPT_COMPOSITE_H
# include <BALL/CONCEPT/composite.h>
#endif
#ifndef BALL_CONCEPT_PROPERTY_H
# include <BALL/CONCEPT/property.h>
#endif
#ifndef BALL_CONCEPT_RANDOMACCESSITERATOR_H
# include <BALL/CONCEPT/randomAccessIterator.h>
#endif
#ifndef BALL_MATHS_VECTOR3_H
# include <BALL/MATHS/vector3.h>
#endif
// Defines for default values for an atom
#define BALL_ATOM_DEFAULT_ELEMENT &Element::UNKNOWN
#define BALL_ATOM_DEFAULT_CHARGE 0
#define BALL_ATOM_DEFAULT_FORMAL_CHARGE 0
#define BALL_ATOM_DEFAULT_NAME ""
#define BALL_ATOM_DEFAULT_TYPE_NAME "?"
#define BALL_ATOM_DEFAULT_POSITION 0,0,0
#define BALL_ATOM_DEFAULT_RADIUS 0
#define BALL_ATOM_DEFAULT_TYPE Atom::UNKNOWN_TYPE
#define BALL_ATOM_DEFAULT_VELOCITY 0,0,0
#define BALL_ATOM_DEFAULT_FORCE 0,0,0
namespace BALL
{
class Bond;
class Element;
class Fragment;
class Residue;
class Chain;
class SecondaryStructure;
class Molecule;
class MolecularInteractions;
class BALL_EXPORT Atom
: public Composite,
public PropertyManager
{
public:
friend class Bond;
BALL_CREATE_DEEP(Atom)
typedef short Type;
enum
{
UNKNOWN_TYPE = -1,
ANY_TYPE = 0,
MAX_NUMBER_OF_BONDS = 12
};
enum Property
{
NUMBER_OF_PROPERTIES = 0
};
enum FullNameType
{
// Do not add extensions
NO_VARIANT_EXTENSIONS,
// Add the residue extensions
ADD_VARIANT_EXTENSIONS,
// Add the residue ID
ADD_RESIDUE_ID,
// Add the residue ID and the residue extension
ADD_VARIANT_EXTENSIONS_AND_ID,
// Add the chain ID and the residue ID
ADD_CHAIN_RESIDUE_ID,
// Add the chain ID and the residue ID
ADD_VARIANT_EXTENSIONS_AND_CHAIN_RESIDUE_ID
};
Atom();
Atom(const Atom& atom, bool deep = true);
Atom(Element& element,
const String& name, const String& type_name = BALL_ATOM_DEFAULT_TYPE_NAME,
Type atom_type = BALL_ATOM_DEFAULT_TYPE,
const Vector3& position = Vector3(BALL_ATOM_DEFAULT_POSITION),
const Vector3& velocity = Vector3(BALL_ATOM_DEFAULT_VELOCITY),
const Vector3& force = Vector3(BALL_ATOM_DEFAULT_FORCE),
float charge = BALL_ATOM_DEFAULT_CHARGE,
float radius = BALL_ATOM_DEFAULT_RADIUS,
Index formal_charge = BALL_ATOM_DEFAULT_FORMAL_CHARGE);
virtual ~Atom();
virtual void clear();
virtual void destroy();
virtual void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
virtual void persistentRead(PersistenceManager& pm);
void set(const Atom& atom, bool deep = true);
void get(Atom& atom, bool deep = true) const;
Atom& operator = (const Atom& atom);
void swap(Atom& atom);
bool operator == (const Atom& atom) const;
bool operator != (const Atom& atom) const;
void setElement(const Element& element);
const Element& getElement() const;
void setCharge(float charge);
float getCharge() const;
void setFormalCharge(Index formal_charge);
Index getFormalCharge() const;
const Molecule* getMolecule() const;
Molecule* getMolecule();
const Fragment* getFragment() const;
Fragment* getFragment();
const Residue* getResidue() const;
Residue* getResidue();
const SecondaryStructure* getSecondaryStructure() const;
SecondaryStructure* getSecondaryStructure();
const Chain* getChain() const;
Chain* getChain();
void setName(const String& name);
const String& getName() const;
String getFullName(FullNameType type = ADD_VARIANT_EXTENSIONS) const;
void setPosition(const Vector3& position);
Vector3& getPosition();
const Vector3& getPosition() const;
void setRadius(float radius);
float getRadius() const;
void setType(Type atom_type);
Type getType() const;
String getTypeName() const;
void setTypeName(const String& name);
void setVelocity(const Vector3& velocity);
Vector3& getVelocity();
const Vector3& getVelocity() const;
void setForce(const Vector3& force);
const Vector3& getForce() const;
Vector3& getForce();
Size countBonds() const;
Bond* getBond(Position index);
const Bond* getBond(Position index) const;
Bond* getBond(const Atom& atom);
const Bond* getBond(const Atom& atom) const;
Bond* createBond(Atom& atom);
Bond* createBond(Bond& bond, Atom& atom);
Bond* cloneBond(Bond& bond, Atom& atom);
bool destroyBond(const Atom& atom);
void destroyBonds();
Atom* getPartnerAtom(Position i);
const Atom* getPartnerAtom(Position i) const;
float getDistance(const Atom& a) const;
MolecularInteractions* interactions;
void addInteraction(const Atom* atom, String interaction_type, double energy);
void addInteraction(String interaction_type, double energy);
void disableStoreInteractions();
void enableStoreInteractions();
bool store_interactions_disabled_;
bool hasBond(const Bond& bond) const;
bool isBoundTo(const Atom& atom) const;
bool isBound() const;
bool isGeminal(const Atom& atom) const;
bool isVicinal(const Atom& atom) const;
virtual bool isAtom() const { return true; }
virtual bool isValid() const;
virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
bool applyBonds(UnaryProcessor<Bond>& processor);
typedef Index BondIteratorPosition;
class BALL_EXPORT BondIteratorTraits
{
public:
BALL_CREATE_DEEP(BondIteratorTraits)
virtual ~BondIteratorTraits() {}
BondIteratorTraits()
: bound_(0),
position_(0)
{
}
BondIteratorTraits(const Atom& atom)
: bound_((Atom*)&atom),
position_(0)
{
}
BondIteratorTraits(const BondIteratorTraits& traits, bool /* deep */ = true)
: bound_(traits.bound_),
position_(traits.position_)
{
}
BondIteratorTraits& operator = (const BondIteratorTraits& traits)
{
bound_ = traits.bound_;
position_ = traits.position_;
return *this;
}
Atom* getContainer() { return bound_; }
const Atom* getContainer() const { return bound_; }
bool isSingular() const { return (bound_ == 0); }
BondIteratorPosition& getPosition() { return position_; }
const BondIteratorPosition& getPosition() const { return position_; }
// Comparison: We do net check whether these traits are bound to
// the same container here for efficiency reasons.
bool operator == (const BondIteratorTraits& traits) const
{
return (position_ == traits.position_);
}
bool operator != (const BondIteratorTraits& traits) const
{
return !(position_ == traits.position_);
}
bool operator < (const BondIteratorTraits& traits) const
{
return (position_ < traits.position_);
}
Distance getDistance(const BondIteratorTraits& traits) const
{
return (Distance)(position_ - traits.position_);
}
bool isValid() const
{
return (bound_ != 0 && position_ >= 0 && position_ < bound_->number_of_bonds_);
}
void invalidate()
{
bound_ = 0;
position_ = 0;
}
void toBegin() { position_ = 0; }
bool isBegin() const { return (position_ == 0); }
void toEnd() { position_ = bound_->number_of_bonds_; }
bool isEnd() const { return (position_ >= bound_->number_of_bonds_);}
Bond& getData() { return *(bound_->bond_[position_]); }
const Bond& getData() const { return *(bound_->bond_[position_]); }
void forward() { ++position_; }
friend std::ostream& operator << (std::ostream& s, const BondIteratorTraits& traits)
{
return (s << traits.position_ << ' ');
}
void dump(std::ostream& s) const
{
s << position_ << std::endl;
}
void toRBegin()
{
position_ = bound_->number_of_bonds_ - 1;
}
bool isRBegin() const
{
return (position_ == bound_->number_of_bonds_ - 1);
}
void toREnd()
{
position_ = -1;
}
bool isREnd() const
{
return (position_ <= -1);
}
void backward()
{
--position_;
}
void backward(Distance distance)
{
position_ -= distance;
}
void forward(Distance distance)
{
position_ += distance;
}
Bond& getData(Index index)
{
return *(bound_->bond_[index]);
}
const Bond& getData(Index index) const
{
return *(bound_->bond_[index]);
}
private:
Atom* bound_;
BondIteratorPosition position_;
};
friend class BondIteratorTraits;
typedef RandomAccessIterator
<Atom, Bond, BondIteratorPosition, BondIteratorTraits>
BondIterator;
BondIterator beginBond()
{
return BondIterator::begin(*this);
}
BondIterator endBond()
{
return BondIterator::end(*this);
}
typedef ConstRandomAccessIterator
<Atom, Bond, BondIteratorPosition, BondIteratorTraits>
BondConstIterator;
BondConstIterator beginBond() const
{
return BondConstIterator::begin(*this);
}
BondConstIterator endBond() const
{
return BondConstIterator::end(*this);
}
typedef std::reverse_iterator<BondIterator> BondReverseIterator;
BondReverseIterator rbeginBond()
{
return BondReverseIterator(endBond());
}
BondReverseIterator rendBond()
{
return BondReverseIterator(beginBond());
}
typedef std::reverse_iterator<BondConstIterator> BondConstReverseIterator;
BondConstReverseIterator rbeginBond() const
{
return BondConstReverseIterator(endBond());
}
BondConstReverseIterator rendBond() const
{
return BondConstReverseIterator(beginBond());
}
typedef std::list<Atom*> AtomPtrList;
typedef std::list<Position> AtomIndexList;
protected:
static AtomIndexList free_list_;
String name_;
String type_name_;
const Element* element_;
float radius_;
Type type_;
unsigned char number_of_bonds_;
Bond* bond_[MAX_NUMBER_OF_BONDS];
Index formal_charge_;
Vector3 position_;
float charge_;
Vector3 velocity_;
Vector3 force_;
private:
void clear_();
void swapLastBond_(const Atom* atom);
};
// required for visual studio
#ifdef BALL_COMPILER_MSVC
#include <vector>
template class BALL_EXPORT std::vector<Atom*>;
#endif
# ifndef BALL_NO_INLINE_FUNCTIONS
# include <BALL/KERNEL/atom.iC>
# endif
} // namespace BALL
#ifndef BALL_KERNEL_BONDITERATOR_H
# include <BALL/KERNEL/bondIterator.h>
#endif
#endif // BALL_KERNEL_ATOM_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL_ATOM_DEFAULT_FORCE
#define BALL_ATOM_DEFAULT_FORCE
Definition atom.h:34
BALL_ATOM_DEFAULT_FORMAL_CHARGE
#define BALL_ATOM_DEFAULT_FORMAL_CHARGE
Definition atom.h:27
BALL_ATOM_DEFAULT_TYPE_NAME
#define BALL_ATOM_DEFAULT_TYPE_NAME
Definition atom.h:29
BALL_ATOM_DEFAULT_RADIUS
#define BALL_ATOM_DEFAULT_RADIUS
Definition atom.h:31
BALL_ATOM_DEFAULT_POSITION
#define BALL_ATOM_DEFAULT_POSITION
Definition atom.h:30
BALL_ATOM_DEFAULT_VELOCITY
#define BALL_ATOM_DEFAULT_VELOCITY
Definition atom.h:33
BALL_ATOM_DEFAULT_TYPE
#define BALL_ATOM_DEFAULT_TYPE
Definition atom.h:32
BALL_ATOM_DEFAULT_CHARGE
#define BALL_ATOM_DEFAULT_CHARGE
Definition atom.h:26
bondIterator.h
BALL::Atom::BondIteratorTraits
Definition atom.h:729
BALL::Atom::BondIteratorTraits::invalidate
void invalidate()
Definition atom.h:799
BALL::Atom::BondIteratorTraits::dump
void dump(std::ostream &s) const
Definition atom.h:824
BALL::Atom::BondIteratorTraits::getDistance
Distance getDistance(const BondIteratorTraits &traits) const
Definition atom.h:789
BALL::Atom::BondIteratorTraits::BondIteratorTraits
BondIteratorTraits()
Definition atom.h:736
BALL::Atom::BondIteratorTraits::toEnd
void toEnd()
Definition atom.h:809
BALL::Atom::BondIteratorTraits::getPosition
BondIteratorPosition & getPosition()
Definition atom.h:767
BALL::Atom::BondIteratorTraits::BondIteratorTraits
BondIteratorTraits(const Atom &atom)
Definition atom.h:742
BALL::Atom::BondIteratorTraits::toBegin
void toBegin()
Definition atom.h:805
BALL::Atom::BondIteratorTraits::backward
void backward()
Definition atom.h:849
BALL::Atom::BondIteratorTraits::forward
void forward()
Definition atom.h:817
BALL::Atom::BondIteratorTraits::getData
Bond & getData(Index index)
Definition atom.h:864
BALL::Atom::BondIteratorTraits::isBegin
bool isBegin() const
Definition atom.h:807
BALL::Atom::BondIteratorTraits::toREnd
void toREnd()
Definition atom.h:839
BALL::Atom::BondIteratorTraits::getContainer
Atom * getContainer()
Definition atom.h:761
BALL::Atom::BondIteratorTraits::isREnd
bool isREnd() const
Definition atom.h:844
BALL::Atom::BondIteratorTraits::isEnd
bool isEnd() const
Definition atom.h:811
BALL::Atom::BondIteratorTraits::getData
const Bond & getData(Index index) const
Definition atom.h:869
BALL::Atom::BondIteratorTraits::backward
void backward(Distance distance)
Definition atom.h:854
BALL::Atom::BondIteratorTraits::isSingular
bool isSingular() const
Definition atom.h:765
BALL::Atom::BondIteratorTraits::toRBegin
void toRBegin()
Definition atom.h:829
BALL::Atom::BondIteratorTraits::isRBegin
bool isRBegin() const
Definition atom.h:834
BALL::Atom::BondIteratorTraits::getData
const Bond & getData() const
Definition atom.h:815
BALL::Atom::BondIteratorTraits::getContainer
const Atom * getContainer() const
Definition atom.h:763
BALL::Atom::BondIteratorTraits::isValid
bool isValid() const
Definition atom.h:794
BALL::Atom::BondIteratorTraits::forward
void forward(Distance distance)
Definition atom.h:859
BALL::Atom::BondIteratorTraits::getData
Bond & getData()
Definition atom.h:813
BALL::Atom::BondIteratorTraits::BondIteratorTraits
BondIteratorTraits(const BondIteratorTraits &traits, bool=true)
Definition atom.h:748
BALL::Atom::BondIteratorTraits::getPosition
const BondIteratorPosition & getPosition() const
Definition atom.h:769
BALL::Atom
Definition atom.h:90
BALL::Atom::getPosition
Vector3 & getPosition()
Return the atom coordinates (mutable).
BALL::Atom::getMolecule
Molecule * getMolecule()
Return the molecule the atom is contained in (mutable).
BALL::Atom::store_interactions_disabled_
bool store_interactions_disabled_
Definition atom.h:633
BALL::Atom::isVicinal
bool isVicinal(const Atom &atom) const
BALL::Atom::persistentWrite
virtual void persistentWrite(PersistenceManager &pm, const char *name=0) const
BALL::Atom::isAtom
virtual bool isAtom() const
Definition atom.h:687
BALL::Atom::number_of_bonds_
unsigned char number_of_bonds_
Definition atom.h:980
BALL::Atom::isBoundTo
bool isBoundTo(const Atom &atom) const
BALL::Atom::getBond
Bond * getBond(const Atom &atom)
BALL::Atom::get
void get(Atom &atom, bool deep=true) const
BALL::Atom::force_
Vector3 force_
Definition atom.h:992
BALL::Atom::isBound
bool isBound() const
BALL::Atom::getBond
Bond * getBond(Position index)
BALL::Atom::getRadius
float getRadius() const
Return the atom radius.
BALL::Atom::setForce
void setForce(const Vector3 &force)
BALL::Atom::getDistance
float getDistance(const Atom &a) const
BALL::Atom::element_
const Element * element_
Definition atom.h:974
BALL::Atom::persistentRead
virtual void persistentRead(PersistenceManager &pm)
BALL::Atom::getResidue
const Residue * getResidue() const
BALL::Atom::radius_
float radius_
Definition atom.h:976
BALL::Atom::ANY_TYPE
@ ANY_TYPE
Definition atom.h:121
BALL::Atom::MAX_NUMBER_OF_BONDS
@ MAX_NUMBER_OF_BONDS
Maximum number of bonds of an atom.
Definition atom.h:124
BALL::Atom::UNKNOWN_TYPE
@ UNKNOWN_TYPE
Definition atom.h:116
BALL::Atom::destroy
virtual void destroy()
BALL::Atom::getFormalCharge
Index getFormalCharge() const
Return the atom's formal charge.
BALL::Atom::setRadius
void setRadius(float radius)
BALL::Atom::getFullName
String getFullName(FullNameType type=ADD_VARIANT_EXTENSIONS) const
BALL::Atom::rbeginBond
BondReverseIterator rbeginBond()
Return a reverse bond iterator pointing to the last bond.
Definition atom.h:922
BALL::Atom::set
void set(const Atom &atom, bool deep=true)
BALL::Atom::getForce
const Vector3 & getForce() const
Return the atom's force vector (const).
BALL::Atom::enableStoreInteractions
void enableStoreInteractions()
BALL::Atom::FullNameType
FullNameType
Definition atom.h:139
BALL::Atom::ADD_VARIANT_EXTENSIONS_AND_CHAIN_RESIDUE_ID
@ ADD_VARIANT_EXTENSIONS_AND_CHAIN_RESIDUE_ID
Definition atom.h:151
BALL::Atom::ADD_VARIANT_EXTENSIONS
@ ADD_VARIANT_EXTENSIONS
Definition atom.h:143
BALL::Atom::ADD_VARIANT_EXTENSIONS_AND_ID
@ ADD_VARIANT_EXTENSIONS_AND_ID
Definition atom.h:147
BALL::Atom::NO_VARIANT_EXTENSIONS
@ NO_VARIANT_EXTENSIONS
Definition atom.h:141
BALL::Atom::ADD_CHAIN_RESIDUE_ID
@ ADD_CHAIN_RESIDUE_ID
Definition atom.h:149
BALL::Atom::ADD_RESIDUE_ID
@ ADD_RESIDUE_ID
Definition atom.h:145
BALL::Atom::isGeminal
bool isGeminal(const Atom &atom) const
BALL::Atom::endBond
BondIterator endBond()
Return a past-the-end bond iterator.
Definition atom.h:896
BALL::Atom::bond_
Bond * bond_[MAX_NUMBER_OF_BONDS]
Definition atom.h:982
BALL::Atom::getResidue
Residue * getResidue()
Return the residue the atom is contained in (mutable).
BALL::Atom::Atom
Atom()
BALL::Atom::setVelocity
void setVelocity(const Vector3 &velocity)
BALL::Atom::setElement
void setElement(const Element &element)
Assign the atom's element.
BALL::Atom::setType
void setType(Type atom_type)
Assign the numerical atom type.
BALL::Atom::getBond
const Bond * getBond(const Atom &atom) const
BALL::Atom::velocity_
Vector3 velocity_
Definition atom.h:990
BALL::Atom::beginBond
BondIterator beginBond()
Return a bond iterator pointing to the first bond of the atom.
Definition atom.h:890
BALL::Atom::addInteraction
void addInteraction(const Atom *atom, String interaction_type, double energy)
BALL::Atom::createBond
Bond * createBond(Atom &atom)
BALL::Atom::getChain
Chain * getChain()
Return the chain the atom is contained in (mutable).
BALL::Atom::cloneBond
Bond * cloneBond(Bond &bond, Atom &atom)
BALL::Atom::BondIterator
RandomAccessIterator< Atom, Bond, BondIteratorPosition, BondIteratorTraits > BondIterator
Definition atom.h:887
BALL::Atom::endBond
BondConstIterator endBond() const
Return a constant past-the-end bond iterator.
Definition atom.h:913
BALL::Atom::AtomPtrList
std::list< Atom * > AtomPtrList
Definition atom.h:954
BALL::Atom::getName
const String & getName() const
Return the atom name.
BALL::Atom::getBond
const Bond * getBond(Position index) const
BALL::Atom::getPartnerAtom
Atom * getPartnerAtom(Position i)
BALL::Atom::getFragment
const Fragment * getFragment() const
BALL::Atom::type_
Type type_
Definition atom.h:978
BALL::Atom::Atom
Atom(Element &element, const String &name, const String &type_name=BALL_ATOM_DEFAULT_TYPE_NAME, Type atom_type=BALL_ATOM_DEFAULT_TYPE, const Vector3 &position=Vector3(BALL_ATOM_DEFAULT_POSITION), const Vector3 &velocity=Vector3(BALL_ATOM_DEFAULT_VELOCITY), const Vector3 &force=Vector3(BALL_ATOM_DEFAULT_FORCE), float charge=BALL_ATOM_DEFAULT_CHARGE, float radius=BALL_ATOM_DEFAULT_RADIUS, Index formal_charge=BALL_ATOM_DEFAULT_FORMAL_CHARGE)
BALL::Atom::Type
short Type
Definition atom.h:103
BALL::Atom::free_list_
static AtomIndexList free_list_
Definition atom.h:967
BALL::Atom::clear
virtual void clear()
BALL::Atom::setName
void setName(const String &name)
Set the atom name.
BALL::Atom::countBonds
Size countBonds() const
Return the number of bonds.
BALL::Atom::Property
Property
Definition atom.h:131
BALL::Atom::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
Definition atom.h:132
BALL::Atom::getPartnerAtom
const Atom * getPartnerAtom(Position i) const
BALL::Atom::getMolecule
const Molecule * getMolecule() const
BALL::Atom::rendBond
BondConstReverseIterator rendBond() const
Return a constant past-the-end bond iterator for reverse traversal.
Definition atom.h:943
BALL::Atom::getSecondaryStructure
SecondaryStructure * getSecondaryStructure()
Return the secondary structure the atom is contained in (mutable).
BALL::Atom::setCharge
void setCharge(float charge)
BALL::Atom::swap
void swap(Atom &atom)
BALL::Atom::isValid
virtual bool isValid() const
BALL::Atom::getPosition
const Vector3 & getPosition() const
Return the atom coordinates (const).
BALL::Atom::getForce
Vector3 & getForce()
Return the atom's force vector (mutable).
BALL::Atom::getSecondaryStructure
const SecondaryStructure * getSecondaryStructure() const
BALL::Atom::getVelocity
Vector3 & getVelocity()
BALL::Atom::setFormalCharge
void setFormalCharge(Index formal_charge)
Set the atom's formal charge.
BALL::Atom::BondReverseIterator
std::reverse_iterator< BondIterator > BondReverseIterator
Reverse random access iterator for bonds.
Definition atom.h:919
BALL::Atom::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::Atom::BondConstIterator
ConstRandomAccessIterator< Atom, Bond, BondIteratorPosition, BondIteratorTraits > BondConstIterator
Constant random access iterator for bonds.
Definition atom.h:904
BALL::Atom::createBond
Bond * createBond(Bond &bond, Atom &atom)
BALL::Atom::applyBonds
bool applyBonds(UnaryProcessor< Bond > &processor)
BALL::Atom::BondConstReverseIterator
std::reverse_iterator< BondConstIterator > BondConstReverseIterator
Constant reverse random access iterator for bonds.
Definition atom.h:934
BALL::Atom::setTypeName
void setTypeName(const String &name)
Assign the atom type name.
BALL::Atom::getChain
const Chain * getChain() const
BALL::Atom::getFragment
Fragment * getFragment()
Return the fragment the atom is contained in (mutable).
BALL::Atom::position_
Vector3 position_
Definition atom.h:986
BALL::Atom::setPosition
void setPosition(const Vector3 &position)
BALL::Atom::hasBond
bool hasBond(const Bond &bond) const
BALL::Atom::disableStoreInteractions
void disableStoreInteractions()
BALL::Atom::getCharge
float getCharge() const
BALL::Atom::rendBond
BondReverseIterator rendBond()
Return a past-the-end bond iterator for reverse traversal.
Definition atom.h:928
BALL::Atom::destroyBond
bool destroyBond(const Atom &atom)
BALL::Atom::getType
Type getType() const
Return the (numerical) atom type.
BALL::Atom::formal_charge_
Index formal_charge_
Definition atom.h:984
BALL::Atom::rbeginBond
BondConstReverseIterator rbeginBond() const
Return a constant reverse bond iterator pointing to the first atom.
Definition atom.h:937
BALL::Atom::getVelocity
const Vector3 & getVelocity() const
BALL::Atom::AtomIndexList
std::list< Position > AtomIndexList
Definition atom.h:957
BALL::Atom::getTypeName
String getTypeName() const
Return the atom type name.
BALL::Atom::getElement
const Element & getElement() const
Return the atom's element.
BALL::Atom::BondIteratorPosition
Index BondIteratorPosition
Definition atom.h:726
BALL::Atom::beginBond
BondConstIterator beginBond() const
Return a constant bond iterator pointing to the first bond.
Definition atom.h:907
BALL::Atom::Bond
friend class Bond
Definition atom.h:97
BALL::Atom::addInteraction
void addInteraction(String interaction_type, double energy)
BALL::Atom::type_name_
String type_name_
Definition atom.h:972
BALL::Atom::name_
String name_
Definition atom.h:970
BALL::Atom::Atom
Atom(const Atom &atom, bool deep=true)
BALL::Atom::charge_
float charge_
Definition atom.h:988
BALL::Atom::destroyBonds
void destroyBonds()
BALL::Atom::interactions
MolecularInteractions * interactions
Definition atom.h:623
BALL::Atom::~Atom
virtual ~Atom()
BALL::Bond
Definition bond.h:57
BALL::Chain
Definition chain.h:32
BALL::Composite::Composite
Composite()
BALL::ConstRandomAccessIterator
Definition randomAccessIterator.h:26
BALL::ConstRandomAccessIterator< Atom, Bond, BondIteratorPosition, BondIteratorTraits >::end
static ConstRandomAccessIterator end(const Atom &container)
BALL::ConstRandomAccessIterator< Atom, Bond, BondIteratorPosition, BondIteratorTraits >::begin
static ConstRandomAccessIterator begin(const Atom &container)
BALL::Element
Definition PTE.h:55
BALL::Fragment
Definition fragment.h:22
BALL::MolecularInteractions
Definition molecularInteractions.h:12
BALL::Molecule
Definition molecule.h:31
BALL::PersistenceManager
Definition persistenceManager.h:73
BALL::PropertyManager::PropertyManager
BALL_INLINE PropertyManager()
Default constructor.
BALL::RandomAccessIterator
Definition randomAccessIterator.h:415
BALL::RandomAccessIterator< Atom, Bond, BondIteratorPosition, BondIteratorTraits >::begin
static RandomAccessIterator begin(const Atom &container)
BALL::RandomAccessIterator< Atom, Bond, BondIteratorPosition, BondIteratorTraits >::end
static RandomAccessIterator end(const Atom &container)
BALL::Residue
Definition residue.h:38
BALL::SecondaryStructure
Definition secondaryStructure.h:31
BALL::String
Definition string.h:57
BALL::UnaryProcessor
Definition processor.h:60
composite.h
BALL_CREATE_DEEP
#define BALL_CREATE_DEEP(name)
Definition create.h:26
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
BALL::Vector3
TVector3< float > Vector3
Definition vector3.h:1084
BALL::Distance
BALL_INDEX_TYPE Distance
Definition COMMON/global.h:86
BALL::Index
BALL_INDEX_TYPE Index
Definition COMMON/global.h:105
property.h
randomAccessIterator.h
vector3.h