BALL
1.4.1
|
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