Chemical Data Processing Library C++ API - Version 1.4.0
Namespaces | Functions
Chem/AtomContainerFunctions.hpp File Reference

Declaration of functions that operate on Chem::AtomContainer instances. More...

#include <cstddef>
#include "CDPL/Chem/APIPrefix.hpp"
#include "CDPL/Chem/AtomPredicate.hpp"
#include "CDPL/Chem/Atom3DCoordinatesFunction.hpp"
#include "CDPL/Math/Matrix.hpp"
#include "CDPL/Math/VectorArray.hpp"
#include "CDPL/Util/BitSet.hpp"

Go to the source code of this file.

Namespaces

 CDPL
 The namespace of the Chemical Data Processing Library.
 
 CDPL::Chem
 Contains classes and functions related to chemistry.
 

Functions

CDPL_CHEM_API bool CDPL::Chem::hasCoordinates (const AtomContainer &cntnr, std::size_t dim)
 Tells whether all atoms of cntnr carry coordinates of the given dimensionality. More...
 
CDPL_CHEM_API void CDPL::Chem::get2DCoordinates (const AtomContainer &cntnr, Math::Vector2DArray &coords, bool append=false)
 Extracts the 2D coordinates of all atoms in cntnr into coords. More...
 
CDPL_CHEM_API void CDPL::Chem::set2DCoordinates (AtomContainer &cntnr, const Math::Vector2DArray &coords)
 Writes the 2D coordinates in coords back to the corresponding atoms of cntnr. More...
 
CDPL_CHEM_API void CDPL::Chem::transform2DCoordinates (AtomContainer &cntnr, const Math::Matrix3D &mtx)
 Transforms the 2D coordinates of all atoms in cntnr by the affine 3×3 matrix mtx. More...
 
CDPL_CHEM_API void CDPL::Chem::get3DCoordinates (const AtomContainer &cntnr, Math::Vector3DArray &coords, const Atom3DCoordinatesFunction &coords_func, bool append=false)
 Extracts the 3D coordinates of all atoms in cntnr into coords using the per-atom coordinate lookup function coords_func. More...
 
CDPL_CHEM_API void CDPL::Chem::clearConformations (AtomContainer &cntnr)
 Removes all stored conformations from the atoms of cntnr. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getNumConformations (const AtomContainer &cntnr)
 Returns the number of conformations stored on the atoms of cntnr. More...
 
CDPL_CHEM_API void CDPL::Chem::applyConformation (AtomContainer &cntnr, std::size_t conf_idx)
 Promotes the stored conformation at index conf_idx to the active per-atom 3D coordinates. More...
 
CDPL_CHEM_API void CDPL::Chem::getConformation (const AtomContainer &cntnr, std::size_t conf_idx, Math::Vector3DArray &coords, bool append=false)
 Extracts the conformation at index conf_idx into coords. More...
 
CDPL_CHEM_API void CDPL::Chem::setConformation (AtomContainer &cntnr, std::size_t conf_idx, const Math::Vector3DArray &coords)
 Overwrites the conformation at index conf_idx with the supplied 3D coordinates. More...
 
CDPL_CHEM_API void CDPL::Chem::addConformation (AtomContainer &cntnr, const Math::Vector3DArray &coords)
 Appends a new conformation built from the supplied 3D coordinates to the atoms of cntnr. More...
 
CDPL_CHEM_API void CDPL::Chem::transformConformation (AtomContainer &cntnr, std::size_t conf_idx, const Math::Matrix4D &mtx)
 Transforms the conformation at index conf_idx by the homogeneous 4×4 matrix mtx. More...
 
CDPL_CHEM_API void CDPL::Chem::transformConformations (AtomContainer &cntnr, const Math::Matrix4D &mtx)
 Transforms every stored conformation of the atoms in cntnr by the homogeneous 4×4 matrix mtx. More...
 
CDPL_CHEM_API bool CDPL::Chem::alignConformations (AtomContainer &cntnr, const Util::BitSet &ref_atoms, const Math::Vector3DArray &ref_coords)
 Aligns each stored conformation of cntnr onto the supplied reference coordinates using the atoms flagged in ref_atoms as alignment anchors. More...
 
CDPL_CHEM_API bool CDPL::Chem::alignConformations (AtomContainer &cntnr, const AtomContainer &ref_atoms, const Math::Vector3DArray &ref_coords)
 Aligns each stored conformation of cntnr onto the supplied reference coordinates using the atoms of ref_atoms as alignment anchors. More...
 
CDPL_CHEM_API bool CDPL::Chem::alignConformations (AtomContainer &cntnr, const Util::BitSet &ref_atoms)
 Aligns each stored conformation of cntnr to the first conformation using the atoms flagged in ref_atoms as alignment anchors. More...
 
CDPL_CHEM_API bool CDPL::Chem::alignConformations (AtomContainer &cntnr, const AtomContainer &ref_atoms)
 Aligns each stored conformation of cntnr to the first conformation using the atoms of ref_atoms as alignment anchors. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getMaxComponentGroupID (const AtomContainer &cntnr)
 Returns the largest component-group ID assigned to any atom of cntnr. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::getMaxAtomMappingID (const AtomContainer &cntnr)
 Returns the largest atom-mapping ID assigned to any atom of cntnr. More...
 
CDPL_CHEM_API std::size_t CDPL::Chem::createAtomTypeMask (const AtomContainer &cntnr, Util::BitSet &mask, unsigned int type, bool reset=true, bool strict=true)
 Sets bits in mask corresponding to atoms of cntnr whose atom type matches type. More...
 
CDPL_CHEM_API void CDPL::Chem::copyAtomsIf (const AtomContainer &cntnr, Molecule &mol, const AtomPredicate &pred, bool append=false)
 Copies every atom of cntnr that satisfies pred into the molecule mol. More...
 
CDPL_CHEM_API void CDPL::Chem::copyAtomsIf (const AtomContainer &cntnr, Fragment &frag, const AtomPredicate &pred, bool append=false)
 Copies every atom of cntnr that satisfies pred into the fragment frag. More...
 
CDPL_CHEM_API void CDPL::Chem::copyAtomsIfNot (const AtomContainer &cntnr, Molecule &mol, const AtomPredicate &pred, bool append=false)
 Copies every atom of cntnr that does not satisfy pred into the molecule mol. More...
 
CDPL_CHEM_API void CDPL::Chem::copyAtomsIfNot (const AtomContainer &cntnr, Fragment &frag, const AtomPredicate &pred, bool append=false)
 Copies every atom of cntnr that does not satisfy pred into the fragment frag. More...
 
CDPL_CHEM_API bool CDPL::Chem::calcCenterOfMass (const AtomContainer &cntnr, const Atom3DCoordinatesFunction &coords_func, Math::Vector3D &ctr)
 Computes the mass-weighted center of mass of the atoms in cntnr. More...
 
CDPL_CHEM_API bool CDPL::Chem::calcCentroid (const AtomContainer &cntnr, const Atom3DCoordinatesFunction &coords_func, Math::Vector3D &ctr)
 Computes the unweighted centroid (arithmetic mean of atom coordinates) of cntnr. More...
 
CDPL_CHEM_API void CDPL::Chem::calcBoundingBox (const AtomContainer &cntnr, Math::Vector3D &min, Math::Vector3D &max, const Atom3DCoordinatesFunction &coords_func, bool reset=true)
 Computes the axis-aligned bounding box enclosing the atoms of cntnr. More...
 
CDPL_CHEM_API bool CDPL::Chem::insideBoundingBox (const AtomContainer &cntnr, const Math::Vector3D &min, const Math::Vector3D &max, const Atom3DCoordinatesFunction &coords_func)
 Tells whether every atom of cntnr lies inside the axis-aligned bounding box defined by min and max. More...
 
CDPL_CHEM_API bool CDPL::Chem::intersectsBoundingBox (const AtomContainer &cntnr, const Math::Vector3D &min, const Math::Vector3D &max, const Atom3DCoordinatesFunction &coords_func)
 Tells whether at least one atom of cntnr lies inside the axis-aligned bounding box defined by min and max. More...
 

Detailed Description

Declaration of functions that operate on Chem::AtomContainer instances.