Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

AtomVector Class Reference
[General Force Field Classes.]

Atom vector class. More...

#include <atomVector.h>

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 AtomVectoroperator= (const AtomVector &rhs)
 Assignment operator.
void set (const AtomVector &atoms)
 Assign from another atom vector.
const AtomVectoroperator= (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< Vector3saved_position_


Detailed Description

Atom vector class.

This class is used to store atom pointers.


Member Typedef Documentation

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

Const iterator type.


Constructor & Destructor Documentation

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

iterator AtomVector::begin  ) 
 

Return an iterator, pointing to the first atom pointer.

iterator AtomVector::end  ) 
 

Return an iterator, pointing behind the last atom pointer.

void 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 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& 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 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 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 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 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