extractors.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: extractors.h,v 1.2.8.3 2007/03/27 22:41:31 amoll Exp $
00005 //
00006 // Author:
00007 //   Oliver Kohlbacher
00008 //
00009 
00010 #ifndef BALL_KERNEL_EXTRACTORS_H
00011 #define BALL_KERNEL_EXTRACTORS_H
00012 
00013 #ifndef BALL_COMMON_H
00014 # include <BALL/common.h>
00015 #endif
00016 
00017 #ifndef BALL_DATATYPE_STRING_H
00018 # include <BALL/DATATYPE/string.h>
00019 #endif
00020 
00021 namespace BALL 
00022 {
00023 
00024   class Atom;
00025   class PDBAtom;
00026   class Bond;
00027   class AtomContainer;
00028   class Fragment;
00029   class Molecule;
00030   class Residue;
00031   class SecondaryStructure;
00032   class Chain;
00033   class Protein;
00034   class Nucleotide;
00035   class NucleicAcid;
00036 
00050 
00051   typedef std::list<Atom*> AtomList;
00053   typedef std::list<Bond*> BondList;
00055   typedef std::list<AtomContainer*> AtomContainerList;
00057   typedef std::list<PDBAtom*> PDBAtomList;
00059   typedef std::list<Residue*> ResidueList;
00061   typedef std::list<Fragment*> FragmentList;
00063   typedef std::list<Molecule*> MoleculeList;
00065   typedef std::list<Protein*> ProteinList;
00067   typedef std::list<SecondaryStructure*> SecondaryStructureList;
00069   typedef std::list<Chain*> ChainList;
00071   typedef std::list<Nucleotide*> NucleotideList;
00073   typedef std::list<NucleicAcid*> NucleicAcidList;
00074 
00076    
00084 
00092   BALL_EXPORT AtomList atoms(const AtomContainer& fragment, const String& expression = String());
00093       
00100   BALL_EXPORT AtomList atoms(const AtomList& atoms, const String& expression);
00101       
00109   BALL_EXPORT PDBAtomList PDBAtoms(const AtomContainer& fragment, const String& expression = String());
00110       
00116   BALL_EXPORT BondList bonds(const AtomContainer& fragment, bool selected_only = false);
00117 
00121   BALL_EXPORT BondList bonds(const Atom& atom);
00122 
00125   BALL_EXPORT AtomContainerList atomContainers(const AtomContainer& fragment, bool selected_only = false);
00126 
00129   BALL_EXPORT ResidueList residues(const AtomContainer& fragment, bool selected_only = false);
00130 
00133   BALL_EXPORT FragmentList fragments(const AtomContainer& fragment, bool selected_only = false);
00134 
00137   BALL_EXPORT MoleculeList molecules(const AtomContainer& fragment, bool selected_only = false);
00138 
00141   BALL_EXPORT ProteinList proteins(const AtomContainer& fragment, bool selected_only = false);
00142 
00145   BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer& fragment, bool selected_only = false);
00146 
00149   BALL_EXPORT ChainList chains(const AtomContainer& fragment, bool selected_only = false);
00150 
00153   BALL_EXPORT NucleicAcidList nucleicAcids(const AtomContainer& fragment, bool selected_only = false);
00154 
00157   BALL_EXPORT NucleotideList nucleotides(const AtomContainer& fragment, bool selected_only = false);
00158 
00160   
00161 } // namespace BALL
00162 
00163 #endif // BALL_KERNEL_EXTRACTORS_H