#include <BALL/MOLMEC/COMMON/atomVector.h>
Inherits std::vector<Atom*>.
Public Types | |
Type definitions | |
typedef std::vector< Atom * > ::iterator | Iterator |
typedef std::vector< Atom * > ::const_iterator | ConstIterator |
Public Member Functions | |
Constructors and Destructors | |
AtomVector () | |
AtomVector (const Composite &composite, bool selected_only=false) | |
AtomVector (const AtomVector &atoms, bool deep=true) | |
virtual | ~AtomVector () |
Assignments | |
const AtomVector & | operator= (const AtomVector &rhs) |
void | set (const AtomVector &atoms) |
const AtomVector & | operator= (const Composite &rhs) |
void | set (const Composite &composite, bool selected_only=false) |
Accessors | |
Atom *& | operator[] (int i) |
Random access operator. | |
Atom *const & | operator[] (int i) const |
void | savePositions () |
void | resetPositions () |
void | moveTo (const Gradient &direction, double step=1.0) |
void | moveTo (const Gradient &direction, double step, Size k) |
void | resize (Size new_size) |
Iteration | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
Protected Attributes | |
std::vector< Vector3 > | saved_position_ |
Atom vector class. This class is used to store atom pointers.
typedef std::vector<Atom*>::const_iterator BALL::AtomVector::ConstIterator |
Const iterator type.
typedef std::vector<Atom*>::iterator BALL::AtomVector::Iterator |
Iterator type
BALL::AtomVector::AtomVector | ( | ) |
Default constructor.
Construct from a Composite. This method constructs an AtomVector from a given composite using selection or not.
composite | the composite containing the atoms | |
selected_only | store the selected atoms only (if true) |
BALL::AtomVector::AtomVector | ( | const AtomVector & | atoms, | |
bool | deep = true | |||
) |
Copy constructor
virtual BALL::AtomVector::~AtomVector | ( | ) | [virtual] |
Destructor.
const_iterator BALL::AtomVector::begin | ( | ) | const [inline] |
iterator BALL::AtomVector::begin | ( | ) | [inline] |
Return an iterator, pointing to the first atom pointer.
const_iterator BALL::AtomVector::end | ( | ) | const [inline] |
iterator BALL::AtomVector::end | ( | ) | [inline] |
Return an iterator, pointing behind the last atom pointer.
Move the first k atoms along a direction vector. The method translates all atoms a long a given direction. The direction vector is multiplied with a step length step
. If a saved position exists ( savePositions() ), it is used as a start position (i.e. the final positions are ${{start}} + {step} {{direction}}$). Otherwise, the current atom positions are used. If the gradient's size differs from the number of atoms, nothing is done.
Move all atoms along a direction vector. The method translates all atoms a long a given direction. The direction vector is multiplied with a step length step
. If a saved position exists ( savePositions() ), it is used as a start position (i.e. the final positions are ${{start}} + {step} {{direction}}$). Otherwise, the current atom positions are used. If the gradient's size differs from the number of atoms, nothing is done.
const AtomVector& BALL::AtomVector::operator= | ( | const Composite & | rhs | ) |
Assignment operator for Composites. Calls set() and extracts all atoms, if none of the atoms in composite
are selected or the selected atoms only (if any atom is selected in composite
.
const AtomVector& BALL::AtomVector::operator= | ( | const AtomVector & | rhs | ) |
Assignment operator
Atom* const& BALL::AtomVector::operator[] | ( | int | i | ) | const [inline] |
Atom* & BALL::AtomVector::operator[] | ( | int | i | ) | [inline] |
Random access operator.
void BALL::AtomVector::resetPositions | ( | ) |
Resets the atom positions to the saved positions. If coordinates weres stored using savePositions() , the atoms coordinates are reset to the saved positions. If no savedPositions exist the coordinates remain unchanged.
void BALL::AtomVector::resize | ( | Size | new_size | ) |
Resize the vector. If the vector is resized to to more elements, than are contained, it is filled with NullPointers.
void BALL::AtomVector::savePositions | ( | ) |
Store the current atom positions. AtomVector also contains an array with positions for each atom. moveTo() considers these coordinates as start coordinates.
Assign from a composite. This method iterates over the composite tree and extracts all atoms.
selected_only | extract only selected atoms if set to true |
void BALL::AtomVector::set | ( | const AtomVector & | atoms | ) |
Assign from another atom vector
std::vector<Vector3> BALL::AtomVector::saved_position_ [protected] |