BALL  1.4.1
molecularInformation.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_CONCEPT_MOLECULARINFORMATION_H
00006 #define BALL_CONCEPT_MOLECULARINFORMATION_H
00007 
00008 #ifndef BALL_CONCEPT_COMPOSITE_H
00009 # include <BALL/CONCEPT/composite.h>
00010 #endif
00011 
00012 namespace BALL
00013 {
00014   class Atom;
00015 
00021   class BALL_EXPORT MolecularInformation
00022     : public Visitor<Composite>
00023   {
00024     public:
00025     
00032     enum Type
00033     {
00035       TYPE__UNKNOWN              = -1,
00036 
00038       TYPE__SYSTEM               = 0,
00039 
00041       TYPE__PROTEIN              = 1,
00042 
00044       TYPE__MOLECULE             = 2,
00045 
00047       TYPE__CHAIN                = 3,
00048 
00050       TYPE__FRAGMENT             = 4,
00051 
00053       TYPE__RESIDUE              = 5,
00054 
00056       TYPE__SECONDARY_STRUCTURE  = 6,
00057 
00059       TYPE__ATOM                 = 7,
00060         
00062       TYPE__BOND                 = 8
00063 
00064 
00065     };
00066 
00068 
00070 
00074     MolecularInformation()
00075       ;
00076 
00079     virtual ~MolecularInformation()
00080       ;
00081 
00087     virtual void clear()
00088       ;
00089 
00091 
00093 
00101     Type getType() const  { return type_;}
00102 
00104     String getName() const  { return name_;}
00105 
00107     String getTypeName() const  { return type_name_;}
00108 
00119     virtual void visit(Composite& composite);
00121     
00122     private:
00123 
00124     String getBondAtomName_(Atom* atom);
00125     void getType_(Composite& composite);
00126     void getTypeName_();
00127     void getName_(Composite& composite);
00128 
00129     Type   type_;
00130     String name_;
00131     String type_name_;
00132   };
00133 
00134 } // namespace BALL
00135 
00136 #endif // BALL_CONCEPT_MOLECULARINFORMATION_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines