19#ifndef OST_RESIDUE_VIEW_HH
20#define OST_RESIDUE_VIEW_HH
31namespace ost {
namespace mol {
65 operator bool()
const {
return this->IsValid(); }
Three dimensional vector class, using Real precision.
EntityViewVisitor interface.
base class for ResidueHandle and ResidueView
EntityView Select(const Query &q, QueryFlags flags=0) const
return view based on a query object
AtomView FindAtom(const AtomHandle &handle) const
void RemoveAtoms()
remove all atoms
void Apply(EntityViewVisitor &visitor)
ResidueHandle GetHandle() const
get handle this view points to
EntityView GetEntity() const
get entity
double GetMass() const
Get residue's mass.
ResidueView(const ResidueViewDataPtr &data, const impl::ResidueImplPtr &impl)
construct new view from view data and impl.
ChainView GetChain() const
get parent chain view.
void RemoveAtom(AtomView view)
remove given atom from view
ResidueViewDataPtr & ViewData()
Get internal view data.
void Apply(EntityVisitor &visitor)
Apply entity visitor to whole chain.
geom::AlignedCuboid GetBounds() const
Get residue's axis-aligned bounding box.
AtomView AddAtom(const AtomHandle &atom_handle, ViewAddFlags flags=0)
Add atom to view.
bool operator!=(const ResidueView &rhs) const
int GetAtomCount() const
return number of atoms in this residue view.
const ResidueViewDataPtr & ViewData() const
Get internal view data.
geom::Vec3 GetCenterOfMass() const
Get residue's center of mass (mass weighted)
unsigned long GetHashCode() const
get unique id
const AtomViewList & GetAtomList() const
get list of atoms in this view
ResidueView(const ChainView &chain, const ResidueHandle &residue)
Create new residue view.
AtomView FindAtom(const String &atom_name) const
Find atom by name.
ResidueView()
Create invalid ResidueView.
AtomView AddAtom(const AtomView &atom_view, ViewAddFlags flags=0)
Add atom to view.
AtomView ViewForHandle(const AtomHandle &handle) const
Find residue by residue handle.
bool IsValid() const
check validity of handle
void SetIndex(int index)
set the index of residiue view in chain should be called from chainview whenever indexes change
bool IsAtomIncluded(const AtomHandle &handle) const
Check whether the view includes the the given atom.
geom::Vec3 GetCenterOfAtoms() const
Get residue's center of atoms (not mass weighted)
int GetIndex() const
get index of residue view in chain
EntityView Select(const String &query_string, QueryFlags flags=0) const
return view based on query String.
bool operator==(const ResidueView &rhs) const
#define DLLEXPORT_OST_MOL
boost::shared_ptr< ResidueImpl > ResidueImplPtr
boost::shared_ptr< ResidueViewData > ResidueViewDataPtr
std::vector< AtomView > AtomViewList