Skip to content
Snippets Groups Projects
in_mem_coord_source.cc 641 B
#include "in_mem_coord_source.hh"

namespace ost { namespace mol {


InMemCoordSource::InMemCoordSource(const AtomHandleList& atoms):
  CoordSource(atoms)
{
  this->SetMutable(true);
}
  
uint InMemCoordSource::GetFrameCount()
{
  return frames_.size();
}

CoordFramePtr InMemCoordSource::GetFrame(uint frame_id) const
{
  
  return frame_id>=frames_.size() ? CoordFramePtr() : frames_[frame_id];
}

void InMemCoordSource::AddFrame(const CoordFramePtr& frame)
{
  frames_.push_back(frame);
}

void InMemCoordSource::AddFrame(const std::vector<geom::Vec3>& coords)
{
  CoordFramePtr fp(new CoordFrame(coords));
  frames_.push_back(fp);
}

}}