Class Avogadro::Core::CoordinateBlockGenerator#

class CoordinateBlockGenerator#

The CoordinateBlockGenerator class creates an aligned, formatted block of atomic coordinates.

<avogadro/core/coordinateblockgenerator.h>

See the setSpecification() documentation for details on specifying the block format.

Unnamed Group

enum DistanceUnit#

Distance unit used in the output.

Values:

enumerator Angstrom#
enumerator Bohr#
inline void setDistanceUnit(DistanceUnit unit)#

Distance unit used in the output.

inline DistanceUnit distanceUnit() const#

Distance unit used in the output.

Public Functions

CoordinateBlockGenerator()#

Construct the default CoordinateBlockGenerator with an empty specification and Angstrom distance units.

inline void setMolecule(const Molecule *mol)#
inline const Molecule *molecule() const#
inline void setSpecification(const std::string &spec)#

 The specification of the block format.
 The characters in the specification string indicate the information needed
 about each atom in the coordinate block.
 - @c #: Atom index (one-based index)
 - @c Z: Atomic number (e.g. "6" for carbon)
 - @c L: Atomic label (e.g., "C1" for first carbon)")
 - @c G: GAMESS-styled Atomic number (e.g. "6.0" for carbon)
 - @c S: Element symbol (e.g. "C" for carbon)
 - @c N: Element name (e.g. "Carbon")
 - @c x: X cartesian coordinate
 - @c y: Y cartesian coordinate
 - @c z: Z cartesian coordinate
 - @c a: 'a' lattice coordinate (unit cell required)
 - @c b: 'b' lattice coordinate (unit cell required)
 - @c c: 'c' lattice coordinate (unit cell required)
 - @c 0: A literal "0". Useful for optimization flags.
 - @c 1: A literal "1". Useful for optimization flags.
 - @c _: A space character. Useful for alignment.

 For example, the specification string
__SZxyz110
will be replaced by a molecule-specific block of text similar to the following:
C  6    1.126214  0.765886  0.000000 1 1 0
C  6    0.819345 -0.564955  0.000000 1 1 0
C  6   -0.598383 -0.795127  0.000000 1 1 0
C  6   -1.310706  0.370165  0.000000 1 1 0
S  16  -0.285330  1.757144  0.000000 1 1 0
H  1    2.130424  1.185837  0.000000 1 1 0
H  1    1.548377 -1.375303  0.000000 1 1 0
H  1   -1.033768 -1.794407  0.000000 1 1 0
H  1   -2.396173  0.450760  0.000000 1 1 0

inline std::string specification() const#
std::string generateCoordinateBlock()#

Generate and return the coordinate block.