# gcu Namespace Reference

## Classes
class | Application
class | Atom
class | Bond
class | Chem3dDoc
class | CrystalAtom
class | CrystalCleavage
class | CrystalDoc
class | CrystalLine
class | CrystalView
class | DialogOwner
class | Dialog
class | Document
class | Element
class | FileChooser
class | parse_error
class | Formula
class | GLDocument
class | GLView
class | Isotope
class | IsotopicPattern
class | Matrix
class | Matrix2D
class | Object
class | Value
class | SimpleValue
class | DimensionalValue
class | StringValue
class | LocalizedStringValue
## Typedefs
typedef list< CrystalAtom * > | CrystalAtomList
typedef std::list < CrystalCleavage * > | CrystalCleavageList
typedef list< CrystalLine * > | CrystalLineList
typedef unsigned | TypeId
typedef unsigned | SignalId
## Enumerations
enum | Display3DMode
enum | gcLattices
enum | CrystalLineType
enum | CheckType
enum | MatrixType
enum | GcuTypeId
enum | RuleId

## Detailed Description

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

## Typedef Documentation

typedef list<CrystalAtom*> gcu::CrystalAtomList

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

Definition at line 230 of file crystalatom.h.

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

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

Definition at line 121 of file crystalcleavage.h.

typedef list<CrystalLine*> gcu::CrystalLineList

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

Definition at line 353 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 120 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 94 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 50 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 44 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.
- SPACEFILL: use space filling representation; atoms are represented by spheres with a radius equal their van der Waals radius; bonds are not displayed.

Definition at line 45 of file chem3ddoc.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 61 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 (only in GChemPaint)
- CycleType: a cycle (only in GChemPaint)
- 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 70 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 41 of file matrix.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 108 of file object.h.