The Gnome Chemistry Utils
0.14.0
Main Page
Namespaces
Classes
Files
File List
File Members
libs
gcp
electron.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
* GChemPaint library
5
* electron.h
6
*
7
* Copyright (C) 2004-2008 Jean Bréfort <jean.brefort@normalesup.org>
8
*
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License as
11
* published by the Free Software Foundation; either version 3 of the
12
* License, or (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
22
* USA
23
*/
24
25
#ifndef GCHEMPAINT_ELECTRON_H
26
#define GCHEMPAINT_ELECTRON_H
27
28
#include <
gcu/object.h
>
29
#include <
gccv/item-client.h
>
30
32
namespace
gcp {
33
34
class
Atom;
35
39
extern
gcu::TypeId
ElectronType
;
40
44
class
Electron
:
public
gcu::Object
,
public
gccv::ItemClient
45
{
46
public
:
53
Electron
(
Atom
*pAtom,
bool
IsPair
);
57
~Electron
();
58
62
bool
IsPair
() {
return
m_IsPair;}
70
char
GetPosition
(
double
*angle,
double
*distance);
78
void
SetPosition
(
unsigned
char
Pos,
double
angle = 0.,
double
distance = 0.);
82
void
AddItem
();
90
void
SetSelected
(
int
state);
97
xmlNodePtr
Save
(xmlDocPtr xml)
const
;
104
bool
Load
(xmlNodePtr node);
116
bool
OnSignal
(
gcu::SignalId
Signal,
gcu::Object
*Child);
124
void
Transform2D
(
gcu::Matrix2D
& m,
double
x,
double
y);
125
129
std::string
Name
();
130
131
private
:
132
Atom
* m_pAtom;
133
bool
m_IsPair;
134
unsigned
char
m_Pos;
135
double
m_Angle, m_Dist;
136
};
137
138
}
// namespace gcp
139
140
#endif // GCHEMPAINT_ELECTRON_H
Generated on Tue Jan 1 2013 22:29:22 for The Gnome Chemistry Utils by
1.8.1.2