19 #ifndef OST_ATOM_BASE_HH
20 #define OST_ATOM_BASE_HH
30 namespace ost {
namespace mol {
51 operator bool()
const {
return this->IsValid(); }
60 bool IsValid()
const {
return Impl().get()!=0; }
66 const String& GetName()
const;
77 void SetName(
const String& atom_name);
86 Real GetAltBFactor(
const String& alt_group)
const;
89 std::vector<String> GetAltGroupNames()
const;
98 String GetQualifiedName()
const;
107 int GetIntProperty(
Prop::ID prop_id)
const;
110 unsigned long GetIndex()
const;
113 Real GetRadius()
const;
116 const String& GetElement()
const;
119 bool IsHetAtom()
const;
124 Real GetBFactor()
const;
127 void SetBFactor(
Real factor);
129 void SetOccupancy(
Real occ);
132 void SetCharge(
Real charge);
134 void SetMass(
Real mass);
136 void SetHetAtom(
bool het);
138 void SetRadius(
Real radius);
140 void SetIndex (
const unsigned long index);
148 Real GetMass()
const;
151 Real GetCharge()
const;
154 Real GetOccupancy()
const;
165 void SetElement(
const String& element);
172 void CheckValidity()
const;
180 #endif // OST_ATOM_BASE_HH
DLLEXPORT_OST_MOL std::ostream & operator<<(std::ostream &os, const AtomBase &atom)
base class for AtomHandle and AtomView
boost::shared_ptr< AtomImpl > AtomImplPtr
Three dimensional vector class, using Real precision.
#define DLLEXPORT_OST_MOL
base class for the implementation
bool IsValid() const
check validity of handle
base class for the handler classes