Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

Atom.h

Go to the documentation of this file.
00001 /*                               -*- Mode: C++ -*- 
00002  * Atom.h
00003  * Copyright © 2002-03 Laboratoire de Biologie Informatique et Théorique
00004  *                     Université de Montréal.
00005  * Author           : Patrick Charbonneau
00006  * Created On       : Wed Sep 12 16:48:15 2003
00007  * $Revision: 1.7 $
00008  * $Id: Atom.h,v 1.7 2003/10/18 00:20:13 larosem Exp $
00009  *
00010  * This file is part of xmlcpg.
00011  *
00012  * xmlcpg is free software; you can redistribute it and/or modify it under
00013  * the terms of the GNU Lesser General Public License as published by the Free
00014  * Software Foundation; either version 2 of the License, or (at your option)
00015  * any later version.
00016  *
00017  * xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY
00018  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00019  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
00020  * more details.
00021  *
00022  * You should have received a copy of the GNU Lesser General Public License
00023  * along with xmlcpg; if not, write to the Free Software Foundation, Inc.,
00024  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00025  */
00026 
00027 
00028 #ifndef _rnaml_Atom_h_
00029 #define _rnaml_Atom_h_
00030 
00031 extern "C" {
00032 #include "atom.h"
00033 #include "object.h"
00034 }
00035 
00036 #include "Object.h"
00037 
00038 
00039 namespace rnaml
00040 {
00041   class Atom : public Object
00042   {
00043 
00044   public:
00045 
00046     // LIFECYCLE ------------------------------------------------------------
00047 
00051     Atom () : Object ((rnamlObject*) rnamlnewAtom ()) { }
00052 
00057     Atom (const Atom &right) : Object (right) { }
00058 
00063     Atom* clone () const { return new Atom (*this); }
00064 
00068     virtual ~Atom () { }
00069 
00070     // OPERATORS ------------------------------------------------------------
00071 
00077     Atom& operator= (const Atom &right);
00078 
00079     // ACCESS ---------------------------------------------------------------
00080 
00085     const char* getSerial () const { return rnamlgetAtomSerial ((rnamlAtom*) getCStructure ()); }
00086 
00091     void setSerial (const char *serial) { rnamlsetAtomSerial ((rnamlAtom*) getCStructure (), serial); }
00092 
00097     const char* getAtomType () const { return rnamlgetAtomAtomType ((rnamlAtom*) getCStructure ()); }
00098 
00103     void setAtomType (const char *atomType) { rnamlsetAtomAtomType ((rnamlAtom*) getCStructure (), atomType); }
00104 
00109     float getX () const { return rnamlgetAtomX ((rnamlAtom*) getCStructure ()); }
00110 
00115     void setX (float x) { rnamlsetAtomX ((rnamlAtom*) getCStructure (), x); }
00116 
00121     float getY () const { return rnamlgetAtomY ((rnamlAtom*) getCStructure ()); }
00122 
00127     void setY (float y) { rnamlsetAtomY ((rnamlAtom*) getCStructure (), y); }
00128 
00133     float getZ () const { return rnamlgetAtomZ ((rnamlAtom*) getCStructure ()); }
00134 
00139     void setZ (float z) { rnamlsetAtomZ ((rnamlAtom*) getCStructure (), z); }
00140 
00147     void setCoordinates (float x, float y, float z) { setX (x); setY (y); setZ (z); }
00148 
00153     float getOccupancy () const { return rnamlgetAtomOccupancy ((rnamlAtom*) getCStructure ()); }
00154 
00159     void setOccupancy (float occupancy) { rnamlsetAtomOccupancy ((rnamlAtom*) getCStructure (), occupancy); }
00160 
00165     float getTempFactor () const { return rnamlgetAtomTempFactor ((rnamlAtom*) getCStructure ()); }
00166 
00171     void setTempFactor (float tempFactor) { rnamlsetAtomTempFactor ((rnamlAtom*) getCStructure (), tempFactor); }
00172 
00177     const char* getSegId () const { return rnamlgetAtomSegId ((rnamlAtom*) getCStructure ()); }
00178 
00183     void setSegId (const char *segId) { rnamlsetAtomSegId ((rnamlAtom*) getCStructure (), segId); }
00184 
00189     const char* getElement () const { return rnamlgetAtomElement ((rnamlAtom*) getCStructure ()); }
00190 
00195     void setElement (const char *element) { rnamlsetAtomElement ((rnamlAtom*) getCStructure (), element); }
00196 
00201     const char* getCharge () const { return rnamlgetAtomCharge ((rnamlAtom*) getCStructure ()); }
00202 
00207     void setCharge (const char *charge) { rnamlsetAtomCharge ((rnamlAtom*) getCStructure (), charge); }
00208 
00209     // METHODS --------------------------------------------------------------
00210 
00211     // I/O  -----------------------------------------------------------------
00212 
00213   };
00214 }
00215 
00216 #endif

Generated on Tue Nov 11 14:59:38 2003 for xmlcpg by doxygen1.2.18