Molecule Class Template Reference

Generic molecule class. More...

#include <molecule.hpp>

Inheritance diagram for Molecule:

Chain boost::less_than_comparable AtomicStructure ChemicallyTypedObject BTKSequence< AtomType, StorageStrategy > boost::less_than_comparable BTKContainer List of all members.

Public Types

typedef base_type::chemical_type_system chemical_type_system
typedef base_type::dictionary dictionary
typedef base_type::id_type id_type
typedef base_type::value_type value_type
typedef base_type::iterator iterator
typedef base_type::const_iterator const_iterator
typedef base_type::reverse_iterator reverse_iterator
typedef base_type::const_reverse_iterator const_reverse_iterator
typedef base_type::reference reference
typedef base_type::const_reference const_reference
typedef base_type::pointer pointer
typedef base_type::const_pointer const_pointer
typedef base_type::difference_type difference_type
typedef base_type::size_type size_type
typedef base_type::atom_type atom_type
typedef base_type::atom_iterator atom_iterator
typedef base_type::const_atom_iterator const_atom_iterator
typedef base_type::reverse_atom_iterator reverse_atom_iterator
typedef base_type::const_reverse_atom_iterator const_reverse_atom_iterator
typedef base_type::structure_id_type structure_id_type
typedef base_type::atom_id_type atom_id_type

Public Member Functions

 Molecule (size_type n=0, const_reference t=atom_type(), id_type type=id_type(), char chain_id= ' ')
template<typename AtomIterator>
 Molecule (AtomIterator i, AtomIterator j, id_type type=id_type(), char chain_id= ' ')
 Molecule (self_type const &source)
virtual ~Molecule ()
template<typename InputIterator>
void insert (iterator p, InputIterator i, InputIterator j)
virtual dictionary const & get_dictionary () const
virtual dictionaryget_dictionary ()
void swap (self_type &b)
 Swap the contents of two Chains.
self_type const & operator= (self_type const &rhs)
 Assignment operator.
bool operator== (self_type const &rhs) const
 Equality comparison.
bool operator!= (self_type const &rhs) const
 Equality comparison.
bool operator< (self_type const &rhs) const
 Less-than comparison.

Detailed Description

template<typename AtomType, typename ChemicalTypeSystemType = typename AtomType::chemical_type_system, typename DictionaryType = typename ChemicalTypeSystemType::structure_dictionary, typename StorageStrategy = std::vector<AtomType>>
class BTK::MOLECULES::Molecule< AtomType, ChemicalTypeSystemType, DictionaryType, StorageStrategy >

Generic molecule class.

Molecule is a rigid-body molecule class, meaning that it can represent molecules as fixed collections of atoms/points that may be translated, rotated and transformed like any other fixed set of points in space.

Because Molecule is a simple, "bag of atoms" class, the interface is more permissive than a regular AtomicStructure. It is safe to insert/erase individual atoms in a Molecule, and to support this, Molecule conforms to the complete STL Sequence Concept.


Member Typedef Documentation

typedef base_type ::chemical_type_system chemical_type_system

Reimplemented from Chain.

typedef base_type ::dictionary dictionary

Reimplemented from Chain.

typedef base_type ::id_type id_type

Reimplemented from Chain.

typedef base_type ::value_type value_type

Reimplemented from Chain.

typedef base_type ::iterator iterator

Reimplemented from Chain.

typedef base_type ::const_iterator const_iterator

Reimplemented from Chain.

typedef base_type ::reverse_iterator reverse_iterator

Reimplemented from Chain.

typedef base_type ::const_reverse_iterator const_reverse_iterator

Reimplemented from Chain.

typedef base_type ::reference reference

Reimplemented from Chain.

typedef base_type ::const_reference const_reference

Reimplemented from Chain.

typedef base_type ::pointer pointer

Reimplemented from Chain.

typedef base_type ::const_pointer const_pointer

Reimplemented from Chain.

typedef base_type ::difference_type difference_type

Reimplemented from Chain.

typedef base_type ::size_type size_type

Reimplemented from Chain.

typedef base_type ::atom_type atom_type

Reimplemented from Chain.

typedef base_type ::atom_iterator atom_iterator

Reimplemented from Chain.

typedef base_type ::const_atom_iterator const_atom_iterator

Reimplemented from Chain.

typedef base_type ::reverse_atom_iterator reverse_atom_iterator

Reimplemented from Chain.

typedef base_type ::const_reverse_atom_iterator const_reverse_atom_iterator

Reimplemented from Chain.

typedef base_type ::structure_id_type structure_id_type

Reimplemented from Chain.

typedef base_type ::atom_id_type atom_id_type

Reimplemented from Chain.


Constructor & Destructor Documentation

Molecule ( size_type  n = 0,
const_reference  t = atom_type(),
id_type  type = id_type(),
char  chain_id = ' ' 
)

Molecule ( AtomIterator  i,
AtomIterator  j,
id_type  type = id_type(),
char  chain_id = ' ' 
)

Molecule ( self_type const &  source  ) 

virtual ~Molecule (  )  [virtual]


Member Function Documentation

void insert ( iterator  p,
InputIterator  i,
InputIterator  j 
)

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

virtual dictionary const& get_dictionary (  )  const [virtual]

Implements AtomicStructure.

virtual dictionary& get_dictionary (  )  [virtual]

Implements AtomicStructure.

void swap ( self_type b  ) 

Swap the contents of two Chains.

Explicitly protected to prevent heterogenous type swapping.

Reimplemented from Chain.

self_type const& operator= ( self_type const &  rhs  ) 

Assignment operator.

Explicitly protected to prevent heterogenous type assignments.

Reimplemented from Chain.

bool operator== ( self_type const &  rhs  )  const

Equality comparison.

Two Chain objects are equivalent iff their chain ids are equal, and their contained atoms are all equivalent.

Explicitly protected to prevent heterogenous type comparisons.

Reimplemented from Chain.

bool operator!= ( self_type const &  rhs  )  const

Equality comparison.

Two Chain objects are equivalent iff their chain ids are equal, and their contained atoms are all equivalent.

Explicitly protected to prevent heterogenous type comparisons.

Reimplemented from Chain.

bool operator< ( self_type const &  rhs  )  const

Less-than comparison.

Chain A is less than Chain B if the chain id of A is less than the chain id of B, or if the chain ids are equivalent, and static_cast<AtomicStructure>(A) < static_cast<AtomicStructure>(B) is a true statement.

Explicitly protected to prevent heterogenous type comparisons.

Reimplemented from Chain.


The documentation for this class was generated from the following file:
Generated on Sun Jul 15 20:46:39 2007 for BTK Core by  doxygen 1.5.1