BALL::AtomVector Class Reference
[General Force Field Classes.]

Atom vector class. More...

#include <atomVector.h>

Inherits std::vector<Atom*>.

List of all members.


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_

Detailed Description

Atom vector class.

This class is used to store atom pointers.


Constructor & Destructor Documentation

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.

Parameters:
composite the composite containing the atoms
selected_only store the selected atoms only (if true)

Member Function Documentation

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.

See also:
Selectable

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.

Parameters:
selected_only extract only selected atoms if set to true

Generated on Thu Aug 6 18:30:36 2009 for BALL by doxygen 1.5.8