00001 00008 #ifndef HABOND_H 00009 #define HABOND_H 00010 00011 #include "haconst.h" 00012 00013 class HaAtom; 00014 00015 class HaBond 00017 { 00018 public: 00019 HaBond(); 00020 HaBond(const HaBond& ref); 00021 HaBond(HaAtom* src, HaAtom* dst, const int new_flag); 00022 virtual ~HaBond(); 00023 00024 bool SetParamFrom(const HaBond& ref); 00025 00026 HaBond* assign(HaAtom* src, HaAtom* dst, const int new_flag); 00027 00028 bool operator==(const HaBond & rhs) const; 00029 bool operator< (const HaBond & rhs) const; 00030 00031 // Flag Manipulation Utilities: 00032 00033 void Select(); 00034 void UnSelect(); 00035 int Selected() const; 00036 00037 void SetNotDraw(); 00038 void DrawWire(); 00039 void DrawDashed(); 00040 void DrawCylinder(double rad); 00041 int IsToDraw() const; 00042 00043 00044 // RASMOL BOND structure parameters 00045 00046 HaAtom *srcatom; 00047 HaAtom *dstatom; 00048 double radius; 00049 short irad; 00050 short col; 00051 Byte flag; 00052 00053 protected: 00054 00055 }; 00056 00057 class HaHBond 00059 { 00060 public: 00061 HaHBond(HaAtom* new_src, HaAtom* new_dst); 00062 HaHBond(const HaHBond& ref); 00063 virtual ~HaHBond(); 00064 00065 bool operator==(const HaHBond & rhs) const; 00066 bool operator< (const HaHBond & rhs) const; 00067 00068 // Flag Manipulation Utilities: 00069 00070 void Select(); 00071 void UnSelect(); 00072 int Selected() const; 00073 00074 void SetNotDraw(); 00075 int IsToDraw() const; 00076 00077 // RASMOL HBOND structure parameters 00078 00079 HaAtom *srcCA; 00080 HaAtom *dstCA; 00081 HaAtom *dst; 00082 HaAtom *src; 00083 short energy; 00084 double radius; 00085 short irad; 00086 char offset; 00087 Byte flag; 00088 short col; 00089 00090 protected: 00091 00092 }; 00093 00094 00095 00096 #endif /* !HABOND_H */
1.3.6