Loading...
Searching...
No Matches
CoordinateBlockGenerator Class Reference

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

`#include <coordinateblockgenerator.h>`

## Public Member Functions

| CoordinateBlockGenerator ()=default
void | setMolecule (const Molecule *mol)
const Molecule * | molecule () const
void | setSpecification (const std::string &spec)
std::string | specification () const
std::string | generateCoordinateBlock ()
enum | DistanceUnit { Angstrom = 0 , Bohr }
void | setDistanceUnit (DistanceUnit unit)
DistanceUnit | distanceUnit () const

## Detailed Description

<avogadro/core/coordinateblockgenerator.h>

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

## Member Enumeration Documentation

## DistanceUnit

enum DistanceUnit

Distance unit used in the output.

## Constructor & Destructor Documentation

## CoordinateBlockGenerator()

CoordinateBlockGenerator | ( |  | ) |

default

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

## Member Function Documentation

## setSpecification()

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

## setDistanceUnit()

void setDistanceUnit | ( | DistanceUnit | unit | ) |

Distance unit used in the output.

## distanceUnit()

DistanceUnit distanceUnit | ( |  | ) | const

Distance unit used in the output.

## generateCoordinateBlock()

std::string generateCoordinateBlock | ( |  | ) |

Generate and return the coordinate block.

The documentation for this class was generated from the following file:

- coordinateblockgenerator.h