|
gnBaseSpec.hGo to the documentation of this file.00001 00002 // File: gnBaseSpec.h 00003 // Purpose: abstract Spec class 00004 // Description: Defines a basic interface for all specs 00005 // Changes: 00006 // Version: libGenome 0.1.0 00007 // Author: Aaron Darling 00008 // Last Edited: April 15, 2001, 10:34:50pm 00009 // Modified by: 00010 // Copyright: (c) Aaron Darling 00011 // Licenses: Proprietary 00013 #ifndef _gnBaseSpec_h_ 00014 #define _gnBaseSpec_h_ 00015 00016 #include "gn/gnDefs.h" 00017 00018 #include <vector> 00019 #include <string> 00020 00021 #include "gn/gnClone.h" 00022 #include "gn/gnBaseFeature.h" 00023 #include "gn/gnBaseHeader.h" 00024 00028 class GNDLLEXPORT gnBaseSpec : public gnClone 00029 { 00030 public: 00031 gnBaseSpec(){} 00035 virtual ~gnBaseSpec(){} 00036 virtual gnBaseSpec* Clone() const = 0; 00037 virtual gnBaseSpec* CloneRange( const uint32 startI, const uint32 len ) const = 0; 00042 virtual string GetName() const; 00048 virtual void SetName( const string& name ); 00053 virtual gnSeqI GetLength() const = 0; 00058 virtual boolean IsReverseComplement() const; 00063 virtual boolean IsCircular() const; 00068 virtual void SetReverseComplement( const boolean value ) = 0; 00075 virtual void SetCircular( const boolean value ); 00081 virtual void CropStart( gnSeqI cropLen ) = 0; 00087 virtual void CropEnd( gnSeqI cropLen ) = 0; 00088 00102 virtual boolean SeqRead(const gnSeqI start, gnSeqC* buf, uint32& bufLen, const uint32 contigI ) const = 0; 00106 virtual void Clear(); 00107 protected: 00108 boolean m_reverseComplement; 00109 boolean m_circular; 00110 00111 string m_name; 00112 string m_sourceName; 00113 00114 }; // class gnBaseSpec 00115 00116 inline 00117 string gnBaseSpec::GetName() const{ 00118 return m_name; 00119 } 00120 inline 00121 void gnBaseSpec::SetName( const string& name ){ 00122 m_name = name; 00123 } 00124 inline 00125 boolean gnBaseSpec::IsReverseComplement() const{ 00126 return m_reverseComplement; 00127 } 00128 inline 00129 boolean gnBaseSpec::IsCircular() const{ 00130 return m_circular; 00131 } 00132 inline 00133 void gnBaseSpec::SetCircular( const boolean value ){ 00134 m_circular = value; 00135 } 00136 inline 00137 void gnBaseSpec::Clear(){ 00138 m_sourceName = ""; 00139 m_name = ""; 00140 m_reverseComplement = false; 00141 m_circular = false; 00142 } 00143 00144 #endif 00145 // _gnBaseSpec_h_ Generated at Fri Nov 30 15:36:50 2001 for libGenome by 1.2.8.1 written by Dimitri van Heesch, © 1997-2001 |