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

#include <BALL/MOLMEC/COMMON/atomVector.h>

Inherits std::vector<Atom*>.

List of all members.


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 AtomVectoroperator= (const AtomVector &rhs)
void set (const AtomVector &atoms)
const AtomVectoroperator= (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< Vector3saved_position_

Detailed Description

Atom vector class. This class is used to store atom pointers.


Member Typedef Documentation

typedef std::vector<Atom*>::const_iterator BALL::AtomVector::ConstIterator

Const iterator type.

typedef std::vector<Atom*>::iterator BALL::AtomVector::Iterator

Iterator type


Constructor & Destructor Documentation

BALL::AtomVector::AtomVector (  ) 

Default constructor.

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)
BALL::AtomVector::AtomVector ( const AtomVector atoms,
bool  deep = true 
)

Copy constructor

virtual BALL::AtomVector::~AtomVector (  )  [virtual]

Destructor.


Member Function Documentation

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.

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
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.

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
void BALL::AtomVector::set ( const AtomVector atoms  ) 

Assign from another atom vector


Member Data Documentation

std::vector<Vector3> BALL::AtomVector::saved_position_ [protected]