# gcp::Electron Class Reference

`#include <gcp/electron.h>`

Inheritance diagram for gcp::Electron:

List of all members.

## Public Member Functions

| Electron (Atom *pAtom, bool IsPair)
| ~Electron ()
bool | IsPair ()
char | GetPosition (double *angle, double *distance)
void | SetPosition (unsigned char Pos, double angle=0., double distance=0.)
void | Add (GtkWidget *w) const
void | Update (GtkWidget *w) const
void | SetSelected (GtkWidget *w, int state)
xmlNodePtr | Save (xmlDocPtr xml) const
bool | Load (xmlNodePtr node)
bool | OnSignal (gcu::SignalId Signal, gcu::Object *Child)
void | Transform2D (gcu::Matrix2D &m, double x, double y)

## Detailed Description

Represents either single elecgtrons or electrons pairs.

Definition at line 43 of file electron.h.

## Constructor & Destructor Documentation

gcp::Electron::Electron | ( | Atom * | pAtom,
|  | bool | IsPair |
| ) |  |  |

Parameters:

  | pAtom | the Atom to which the electrons belong.
  | IsPair | true for an electron pair and false for a single electron.

Constructs a new electron representation.

gcp::Electron::~Electron | ( |  | ) |

The destructor

## Member Function Documentation

bool gcp::Electron::IsPair | ( |  | ) | `[inline]`

Returns:
  true for an electron pair and false for a single electron.

Definition at line 61 of file electron.h.

char gcp::Electron::GetPosition | ( | double * | angle,
|  | double * | distance |
| ) |  |  |

Parameters:

  | angle | where to store the angle from east direction in the trigonometric convention.
  | distance | where to store the distance from the center of the atom.

Returns:
  the electron position relative to its parent atom as one of POSITION_E, POSITION_N,...

void gcp::Electron::SetPosition | ( | unsigned char | Pos,
|  | double | angle = `0.`,
|  | double | distance = `0.` |
| ) |  |  |

Parameters:

  | Pos | one of POSITION_E, POSITION_N,...
  | angle | the angle from the east direction in the trigonometric convention.
  | distance | the distance from the center of the atom, or 0. if automatic.

Sets the position of an electronn relative to its parent atom.

void gcp::Electron::Add | ( | GtkWidget * | w | ) | const`[virtual]`

Parameters:

  | w | the GtkWidget inside which the Electron will be displayed.

Used to add a representation of the Electron in the widget.

Reimplemented from gcu::Object.

void gcp::Electron::Update | ( | GtkWidget * | w | ) | const`[virtual]`

Parameters:

  | w | the GtkWidget inside which the Electron is displayed.

Used to update the representation of the Electron in the widget.

Reimplemented from gcu::Object.

void gcp::Electron::SetSelected | ( | GtkWidget * | w,
|  | int | state |
| ) |  |  | `[virtual]`

Parameters:

  | w | the GtkWidget inside which the Electron is displayed.
  | state | the selection state of the Electron.

Used to set the selection state of the Electron inside the widget. The values of state might be gcp::SelStateUnselected, gcp::SelStateSelected, gcp::SelStateUpdating, or gcp::SelStateErasing.

Reimplemented from gcu::Object.

xmlNodePtr gcp::Electron::Save | ( | xmlDocPtr | xml | ) | const`[virtual]`

Parameters:

  | xml | the xmlDoc used to save the document.

Used to save the Electron to the xmlDoc.

Returns:
  the xmlNode containing the serialized Electron.

Reimplemented from gcu::Object.

bool gcp::Electron::Load | ( | xmlNodePtr | node | ) | `[virtual]`

Parameters:

  | node | a pointer to the xmlNode containing the serialized object.

Used to load an Electron in memory. The Electron must already exist.

Returns:
  true on succes, false otherwise.

Reimplemented from gcu::Object.

bool gcp::Electron::OnSignal | ( | gcu::SignalId | Signal,
|  | gcu::Object * | Child |
| ) |  |  | `[virtual]`

Parameters:

  | Signal | the appropriate SignalId
  | Child | the child which emitted the signal or NULL.

This function is called by the framework when a signal has been emitted for the object. Elecgtron don't have children, so that Child will be ignored. Only the gcp::OnDeleteSignal is significant for this class. It should not be called by a program; call Object::EmitSignal instead.

Returns:
  true if the signal should be propagated to the parent, false otherwise.

Reimplemented from gcu::Object.

void gcp::Electron::Transform2D | ( | gcu::Matrix2D & | m,
|  | double | x,
|  | double | y |
| ) |  |  | `[virtual]`

Parameters:

  | m | the Matrix2D of the transformation.
  | x | the x component of the center of the transformation.
  | y | the y component of the center of the transformation.

Used to move and/or transform an Electron.

Reimplemented from gcu::Object.

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

- electron.h