# gcu Namespace Reference

The Gnome Chemistry Utils C++ classes. More...

## Classes

class | Application
class | Atom
class | AtomPair
class | AtomMatchState
class | Bond
struct | ChainElt
class | Chain
class | Chem3dDoc
class | CrystalAtom
class | CrystalBond
class | CrystalCleavage
class | CrystalDoc
class | CrystalLine
class | CrystalView
class | Cycle
class | DialogOwner
class | Dialog
class | Document
class | Element
class | FileChooser
class | parse_error
class | FormulaElt
class | FormulaAtom
class | FormulaBlock
class | FormulaResidue
class | Formula
class | GLDocument
class | GLView
class | Isotope
class | IsotopicPattern
struct | LoaderStruct
class | Loader
| class used to implement serialization engines. More...
class | Matrix
class | GLMatrix
class | Matrix2D
class | Molecule
class | Object
class | PrintSetupDlg
class | Printable
struct | SymbolResidue
class | Residue
struct | JdxVar
class | SpectrumDocument
class | SpectrumView
class | Sphere
class | Value
class | SimpleValue
class | DimensionalValue
class | StringValue
class | LocalizedStringValue
class | Vector3f
class | Window

## Typedefs

typedef std::list< CrystalAtom * > | CrystalAtomList
typedef std::list < CrystalCleavage * > | CrystalCleavageList
typedef std::list< CrystalLine * > | CrystalLineList
typedef unsigned | TypeId
typedef bool(* | BuildMenuCb )(Object *target, GtkUIManager *UIManager, Object *object, double x, double y)
typedef unsigned | SignalId

## Enumerations

enum | Display3DMode
enum | gcLattices
enum | CrystalLineType
enum | CheckType
enum | FormulaParseMode
enum | MatrixType
enum | GcuTypeId
enum | RuleId
enum | PrintScaleType { GCU_PRINT_SCALE_NONE, GCU_PRINT_SCALE_FIXED, GCU_PRINT_SCALE_AUTO }
enum | SpectrumType { GCU_SPECTRUM_INFRARED, GCU_SPECTRUM_RAMAN, GCU_SPECTRUM_INFRARED_PEAK_TABLE, GCU_SPECTRUM_INFRARED_INTERFEROGRAM, GCU_SPECTRUM_INFRARED_TRANSFORMED, GCU_SPECTRUM_UV_VISIBLE, GCU_SPECTRUM_NMR, GCU_SPECTRUM_NMR_FID, GCU_SPECTRUM_NMR_PEAK_TABLE, GCU_SPECTRUM_NMR_PEAK_ASSIGNMENTS, GCU_SPECTRUM_MASS, GCU_SPECTRUM_MAX }
enum | SpectrumUnitType { GCU_SPECTRUM_UNIT_CM_1, GCU_SPECTRUM_UNIT_TRANSMITTANCE, GCU_SPECTRUM_UNIT_ABSORBANCE, GCU_SPECTRUM_UNIT_PPM, GCU_SPECTRUM_UNIT_NANOMETERS, GCU_SPECTRUM_UNIT_MICROMETERS, GCU_SPECTRUM_UNIT_SECONDS, GCU_SPECTRUM_UNIT_HZ, GCU_SPECTRUM_UNIT_M_Z, GCU_SPECTRUM_UNIT_REL_ABUNDANCE, GCU_SPECTRUM_UNIT_MAX }
enum | SpectrumVarType { GCU_SPECTRUM_TYPE_INDEPENDENT, GCU_SPECTRUM_TYPE_DEPENDENT, GCU_SPECTRUM_TYPE_PAGE, GCU_SPECTRUM_TYPE_MAX }
enum | SpectrumFormatType { GCU_SPECTRUM_FORMAT_ASDF, GCU_SPECTRUM_FORMAT_AFFN, GCU_SPECTRUM_FORMAT_PAC, GCU_SPECTRUM_FORMAT_SQZ, GCU_SPECTRUM_FORMAT_DIF, GCU_SPECTRUM_FORMAT_MAX }

## Functions

GtkUnit | gtk_unit_from_string (char const *name)
char const * | gtk_unit_to_string (GtkUnit unit)
Vector3f | operator* (float f, Vector3f const &v)

## Variables

char const * | LineTypeName []

## Detailed Description

The Gnome Chemistry Utils C++ classes.

The namespace used for all C++ classes provided by the Gnome Chemistry Utils base library.

## Typedef Documentation

typedef bool(* gcu::BuildMenuCb)(Object *target, GtkUIManager *UIManager, Object *object, double x, double y)

The type of callbacks for adding new items to the contextual menu of an object.

Parameters:

  | target | the Object whose menu is being built.
  | UIManager | the GtkUIanager to populate.
  | object | the Object on which occured the mouse click.
  | x | x coordinate of the mouse click.
  | y | y coordinate of the mouse click.

Definition at line 105 of file object.h.

typedef std::list<CrystalAtom*> gcu::CrystalAtomList

a list of pointers to CrystalAtom instances derived from std::list.

Definition at line 228 of file crystalatom.h.

typedef std::list<CrystalCleavage*> gcu::CrystalCleavageList

a list of pointers to CrystalCleavage instances derived from std::list.

Definition at line 122 of file crystalcleavage.h.

typedef std::list<CrystalLine*> gcu::CrystalLineList

a list of pointers to CrystalLine instances derived from std::list.

Definition at line 348 of file crystalline.h.

typedef unsigned gcu::SignalId

The types of the signals used in Object::EmitSignal() and Object::OnSignal(). Each signal must type be retrieved from a call to Object::CreateNewSignalId().

Definition at line 131 of file object.h.

typedef unsigned gcu::TypeId

The type of an object instance. Either predefined types are defined in the enum above or dynamically defined types by calls to Object::AddType.

Definition at line 93 of file object.h.

## Enumeration Type Documentation

enum gcu::CheckType

CheckType CheckType describes how numbers entered in entries might be checked. Possible values are:

- NoCheck: no check is performed.
- Min: value > min.
- Max: value < max.
- MinMax: min < value < max.
- MinEq: value >= min.
- MaxEq: value <= max.
- MinEqMax: min <= value < max.
- MinMaxEq: min < value <= max.
- MinEqMaxEq: min <= value <= max.

This enumeration is used in Dialog::GetNumber.

Definition at line 49 of file dialog.h.

enum gcu::CrystalLineType

crystalviewer/crystalline.h The type of a CrystalLine instance. Possible values are:

- edges: all the cell edges.
- diagonals: the lines joining opposite vertices of a cell.
- medians: the lines joining the centers of opposite faces of a cell.
- normal: a line with defined ends, repeated in each displayes cell.
- unique: a line with defined ends, not repeated.

Definition at line 43 of file crystalline.h.

enum gcu::Display3DMode

3D display mode. Possible values are:

- BALL_AND_STICK: use ball and stick representation; atoms are represented by spheres with a radius equal to 20% of their van der Waals radius and bonds are displayed as cylinders Multiple bonds are displayed as multiple cylinders.
- SPACEFILL: use space filling representation; atoms are represented by spheres with a radius equal their van der Waals radius; bonds are not displayed.
- CYLINDERS: only bonds are represented as cylinders, atoms just end the cylinders.
- WIREFRAME: bonds are represented as narrow lines, atoms just end the lines.

Definition at line 45 of file chem3ddoc.h.

enum gcu::FormulaParseMode

gcu/formula.h The way formula should be interpreted when they contain symbols that might represent both an atom or a group of atoms such as Ac and Pr. Possible values are:

- GCU_FORMULA_PARSE_GUESS: try to determine the most probable interpretation of the symbol,
- GCU_FORMULA_PARSE_ATOM: always interpret as atoms,
- GCU_FORMULA_PARSE_RESIDUE: always interpret as groups,
- GCU_FORMULA_PARSE_ASK: ask the user for each encountered instance,
- GCU_FORMULA_PARSE_NO_CASE: this one is unrelated and can ba combined with any of the previous values, just make the parsing stricktly case sensitive.

Definition at line 52 of file formula.h.

enum gcu::gcLattices

crystalviewer/crystaldoc.h This enumeration gives sympolic names to the fourteen Bravais lattices.

Possible values are:

- cubic
- body_centered_cubic
- face_centered_cubic
- hexagonal
- tetragonal
- body_centered_tetragonal
- orthorhombic
- base_centered_orthorhombic
- body_centered_orthorhombic
- face_centered_orthorhombic
- rhombohedral
- monoclinic
- base_centered_monoclinic
- triclinic

Definition at line 68 of file crystaldoc.h.

enum gcu::GcuTypeId

This enumeration is used to determine the type of an Object instance. Possible values are:

- NoType invalid type
- AtomType an atom
- FragmentType several atoms linked and represented by a text such as COOH (only in GChemPaint).
- BondType a bond between two (or more) atoms.
- MoleculeType a molecule.
- ChainType a chain of atoms.
- CycleType a cycle.
- ReactantType a molecule involved in a reaction (only in GChemPaint).
- ReactionArrowType a reaction arrow (only in GChemPaint).
- ReactionOperatorType a + sign in a reaction (only in GChemPaint).
- ReactionType a reaction.
- MesomeryType a mesomery representation (only in GChemPaint).
- MesomeryArrowType a double headed arrow used to represent mesomery (only in GChemPaint).
- DocumentType a document, generally the top node in the objects tree.
- TextType some text (only in GChemPaint).
- OtherType if the type of an object is at least equal to OtherType, then it is a dynamically created type returned by the static Object::AddType method.

Some types are not used in the Gnome Chemistry Utils, but only in GChemPaint and might disappear from this list in future versions and replaced by dynamically created types.

Definition at line 69 of file object.h.

enum gcu::MatrixType

This enumeration is used to determine the type a Matrix. Possible values are:

- euler: matrix used to find absolute positions from the position inside the solid using Euler's angles.
- antieuler: the inverse of euler.
- rotation: matrix representing the rotation to apply to the solid.

This enumeration is used in one of the constructors (Matrix(Psi, Theta, Phi, Type)) of class Matrix.

Definition at line 44 of file matrix.h.

enum gcu::PrintScaleType

gcu/printable.h Represents how printing is scaled

Enumerator:

  GCU_PRINT_SCALE_NONE | No scaling is done.
  GCU_PRINT_SCALE_FIXED | Explicit scaling.
  GCU_PRINT_SCALE_AUTO | Automatic scaling (will fill the print area).

Definition at line 40 of file printable.h.

enum gcu::RuleId

This enumeration is used to maintain a set of rules about the possible hierarchical of the document. They are used with two class names or ids. Possible values are:

- RuleMayContain an instance of the first class may contain an instance of the second. This implies that an instance of the second class may be in an instance of the first (see RuleMayBeIn);
- RuleMustContain an instance of the first class may contain an instance of the second class (implies RuleMayContain); if no instance of the first class is present, the object is not valid.
- RuleMayBeIn an instance of the first class may be the child of an instance of the second class (see also RuleMayContain);
- RuleMustBeIn an instance of the first class must be the child of an instance of the second class, otherwise it is not valid.

Definition at line 119 of file object.h.

enum gcu::SpectrumFormatType

gcu/spectrumdoc.h Represents the list of data formats from the JCAMP-DX specification supported by the gcu::SpectrumDocument class. See the JCAMP-DX specification for more information.

Enumerator:

  GCU_SPECTRUM_FORMAT_ASDF | ASCII squeezed difference form.
  GCU_SPECTRUM_FORMAT_AFFN | ASCII free format numeric.
  GCU_SPECTRUM_FORMAT_PAC | Packed form.
  GCU_SPECTRUM_FORMAT_SQZ | Squeezed form.
  GCU_SPECTRUM_FORMAT_DIF | Difference form.
  GCU_SPECTRUM_FORMAT_MAX | Last known value. This value does not represent a valid type, but is equal to the number of supported formats.

Definition at line 174 of file spectrumdoc.h.

enum gcu::SpectrumType

gcu/spectrumdoc.h Represents the list of spectrum types supported (or which should be supported) by the gcu::SpectrumDocument class.

Enumerator:

  GCU_SPECTRUM_INFRARED | Infrared spectrum.
  GCU_SPECTRUM_RAMAN | Raman spectrum.
  GCU_SPECTRUM_INFRARED_PEAK_TABLE | Infrared peaks table.
  GCU_SPECTRUM_INFRARED_INTERFEROGRAM | Infrared iterferogram.
  GCU_SPECTRUM_INFRARED_TRANSFORMED | Transformed infrared spectrum.
  GCU_SPECTRUM_UV_VISIBLE | UV-visible spectrum.
  GCU_SPECTRUM_NMR | NMR spectrum.
  GCU_SPECTRUM_NMR_FID | NMR FID.
  GCU_SPECTRUM_NMR_PEAK_TABLE | NMR peaks table.
  GCU_SPECTRUM_NMR_PEAK_ASSIGNMENTS | NMR peaks assignments.
  GCU_SPECTRUM_MASS | Mass spectrum.
  GCU_SPECTRUM_MAX | Last known value. This value does not represent a valid type, but is equal to the number of supported types.

Definition at line 41 of file spectrumdoc.h.

enum gcu::SpectrumUnitType

gcu/spectrumdoc.h Represents the list of units supported by the gcu::SpectrumDocument class.

Enumerator:

  GCU_SPECTRUM_UNIT_CM_1 | Wave number per cm.
  GCU_SPECTRUM_UNIT_TRANSMITTANCE | Transmittance
  GCU_SPECTRUM_UNIT_ABSORBANCE | Absorbance
  GCU_SPECTRUM_UNIT_PPM | Part per million.
  GCU_SPECTRUM_UNIT_NANOMETERS | Nanometers
  GCU_SPECTRUM_UNIT_MICROMETERS | Micrometers
  GCU_SPECTRUM_UNIT_SECONDS | Seconds
  GCU_SPECTRUM_UNIT_HZ | Hz.
  GCU_SPECTRUM_UNIT_M_Z | M/Z (for mass spectra).
  GCU_SPECTRUM_UNIT_REL_ABUNDANCE | Relative abundance.
  GCU_SPECTRUM_UNIT_MAX | Last known value. This value does not represent a valid type, but is equal to the number of supported units.

Definition at line 97 of file spectrumdoc.h.

enum gcu::SpectrumVarType

gcu/spectrumdoc.h Represents the list of varialble types supported by the gcu::SpectrumDocument class.

Enumerator:

  GCU_SPECTRUM_TYPE_INDEPENDENT | Independent variable.
  GCU_SPECTRUM_TYPE_DEPENDENT | Dependent variable.
  GCU_SPECTRUM_TYPE_PAGE | Page number.
  GCU_SPECTRUM_TYPE_MAX | Last known value. This value does not represent a valid type, but is equal to the number of supported types.

Definition at line 149 of file spectrumdoc.h.

## Function Documentation

GtkUnit gcu::gtk_unit_from_string | ( | char const * | name | ) |

Parameters:

  | name | a string representing a GtkUnit.

Returns:
  the GtkUnit represented by the string.

char const* gcu::gtk_unit_to_string | ( | GtkUnit | unit | ) |

Parameters:

  | unit | a GtkUnit.

Returns:
  the sring representig the GtkUnit.

Vector3f gcu::operator* | ( | float | f,
|  | Vector3f const & | v |
| ) |  |  |

Parameters:

  | f | a multiplication factor
  | v | the vector to multiply

Returns:
  the product of f and v.

## Variable Documentation

char const* gcu::LineTypeName[]

an array of the line types names used for serialization.