#include <atomVector.h>
Inherits std::vector<Atom*>.
Public Types |
|
Type definitions
|
|
typedef std::vector< Atom * > ::iterator |
Iterator |
Iterator type. |
|
typedef std::vector< Atom * > ::const_iterator |
ConstIterator |
Const iterator type. |
|
Public Member Functions |
|
Constructors and Destructors
|
|
AtomVector () | |
Default constructor. |
|
AtomVector (const Composite &composite, bool selected_only=false) | |
Construct from a Composite. |
|
AtomVector (const AtomVector &atoms, bool deep=true) | |
Copy constructor. |
|
virtual | ~AtomVector () |
Destructor. |
|
Assignments
|
|
const AtomVector & | operator= (const AtomVector &rhs) |
Assignment operator. |
|
void | set (const AtomVector &atoms) |
Assign from another atom
vector. |
|
const AtomVector & | operator= (const Composite &rhs) |
Assignment operator for Composites.
|
|
void | set (const Composite &composite, bool selected_only=false) |
Assign from a composite. |
|
Accessors
|
|
Atom *& | operator[] (int i) |
Random access operator. |
|
Atom *const & | operator[] (int i) const |
void | savePositions () |
Store the current atom positions.
|
|
void | resetPositions () |
Resets the atom positions to the
saved positions. |
|
void | moveTo (const Gradient &direction, double step=1.0) |
Move all atoms along a direction
vector. |
|
void | moveTo (const Gradient &direction, double step, Size k) |
Move the first k atoms along a
direction vector. |
|
void | resize (Size new_size) |
Resize the vector. |
|
Iteration
|
|
iterator | begin () |
Return an iterator, pointing to the
first atom pointer. |
|
const_iterator | begin () const |
iterator | end () |
Return an iterator, pointing behind
the last atom pointer. |
|
const_iterator | end () const |
Protected Attributes |
|
std::vector< Vector3 > | saved_position_ |
This class is used to store atom pointers.
BALL::AtomVector::AtomVector | ( | const Composite & | composite, | |
bool | selected_only =
false |
|||
) |
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) |
void BALL::AtomVector::moveTo | ( | const Gradient & | direction, | |
double | step, | |||
Size | k | |||
) |
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.
void BALL::AtomVector::moveTo | ( | const Gradient & | direction, | |
double | step =
1.0 |
|||
) |
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
.
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.
void BALL::AtomVector::set | ( | const Composite & | composite, | |
bool | selected_only =
false |
|||
) |
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 |