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

BaseConformation.h

Go to the documentation of this file.
00001 /*                               -*- Mode: C++ -*- 
00002  * BaseConformation.h
00003  * Copyright © 2003 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.2 $
00008  * $Id: BaseConformation.h,v 1.2 2003/10/18 00:20:23 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_BaseConformation_h_
00029 #define _rnaml_BaseConformation_h_
00030 
00031 extern "C" {
00032 #include "baseconformation.h"
00033 #include "object.h"
00034 }
00035 
00036 #include "Object.h"
00037 
00038 
00039 
00040 namespace rnaml
00041 {
00042   class BaseId;
00043   class BaseTorsionAngles;
00044 
00045 
00046 
00047   class BaseConformation : public Object
00048   {
00049     
00050   public:
00051     
00052     // LIFECYCLE ------------------------------------------------------------
00053     
00057     BaseConformation () : Object ((rnamlObject*) rnamlnewBaseConformation ()) { }
00058 
00063     BaseConformation (const BaseConformation &right) : Object (right) { }
00064 
00069     BaseConformation* clone () const { return new BaseConformation (*this); }
00070 
00074     virtual ~BaseConformation () { }
00075 
00076     // OPERATORS ------------------------------------------------------------
00077 
00083     BaseConformation& operator= (const BaseConformation &right);
00084 
00085     // ACCESS ---------------------------------------------------------------
00086 
00091     BaseId* getBaseId () const;
00092 
00097     void setBaseId (BaseId *baseId);
00098 
00103     const char* getPucker () const { return rnamlgetBaseConformationPucker ((const rnamlBaseConformation*) getCStructure ()); }
00104 
00109     void setPucker (const char *pucker) { rnamlsetBaseConformationPucker ((rnamlBaseConformation*) getCStructure (), pucker); }
00110 
00115     const char* getGlycosyl () const { return rnamlgetBaseConformationGlycosyl ((const rnamlBaseConformation*) getCStructure ()); }
00116 
00121     void setGlycosyl (const char *glycosyl) { rnamlsetBaseConformationGlycosyl ((rnamlBaseConformation*) getCStructure (), glycosyl); }
00122 
00127     BaseTorsionAngles* getBaseTorsionAngles () const;
00128 
00133     void setBaseTorsionAngles (BaseTorsionAngles *baseTorsionAngles);
00134 
00135     // METHODS --------------------------------------------------------------
00136 
00137     // I/O  -----------------------------------------------------------------
00138 
00139   };
00140 }
00141 
00142 #endif

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