Exemplo n.º 1
0
    /**
     * Zoom to a peak
     * @param presenter: Holds the peaks workspace.
     * @param peakIndex: The peak index.
     */
    void CompositePeaksPresenter::zoomToPeak(PeaksPresenter* const presenter, const int peakIndex)
    {

      MatchPointer comparitor(presenter);
      m_zoomedPeakIndex = peakIndex;
      SubjectContainer::iterator it = std::find_if(m_subjects.begin(), m_subjects.end(), comparitor);
      if( it == m_subjects.end())
      {
        throw std::invalid_argument("Cannot file subject presenter at CompositePeaksPresenter::zoomToPeak");
      }
      const PeakBoundingBox& box = presenter->getBoundingBox(peakIndex);
      m_zoomablePlottingWidget->zoomToRectangle(box);
      m_zoomedPresenter = *it;
      m_zoomedPeakIndex = peakIndex;
      m_owner->performUpdate();
    }
Exemplo n.º 2
0
CompositePeaksPresenter::SubjectContainer::iterator
CompositePeaksPresenter::getPresenterIteratorFromName(const QString &name) {
  MatchWorkspaceName comparitor(name);
  SubjectContainer::iterator presenterFound = m_subjects.end();
  for (auto presenterIterator = m_subjects.begin();
       presenterIterator != m_subjects.end(); ++presenterIterator) {
    auto wsOfSubject = (*presenterIterator)->presentedWorkspaces();
    SetPeaksWorkspaces::iterator iteratorFound =
        std::find_if(wsOfSubject.begin(), wsOfSubject.end(), comparitor);
    if (iteratorFound != wsOfSubject.end()) {
      presenterFound = presenterIterator;
      break;
    }
  }
  return presenterFound;
}
Exemplo n.º 3
0
 /**
  * Get the peaks presenter correspoinding to a peaks workspace name.
  * @param name
  * @return Peaks presenter.
  */
 PeaksPresenter* CompositePeaksPresenter::getPeaksPresenter(const QString& name)
 {
   MatchWorkspaceName comparitor(name);
   SubjectContainer::iterator presenterFound = m_subjects.end();
   for (auto presenterIterator = m_subjects.begin(); presenterIterator != m_subjects.end();
       ++presenterIterator)
   {
     auto wsOfSubject = (*presenterIterator)->presentedWorkspaces();
     SetPeaksWorkspaces::iterator iteratorFound = std::find_if(wsOfSubject.begin(), wsOfSubject.end(), comparitor);
     if (iteratorFound != wsOfSubject.end())
     {
       presenterFound = presenterIterator;
       break;
     }
   }
   if(presenterFound == m_subjects.end())
   {
     throw std::invalid_argument("Cannot find peaks workspace called :" + name.toStdString());
   }
   return (*presenterFound).get();
 }
Exemplo n.º 4
0
/**
 * Does this cluster contain the label of the argument.
 * @param label : Label id to find
 * @return True only if that label is contained.
 */
bool CompositeCluster::containsLabel(const size_t &label) const {
    Comparitor comparitor(label);
    return m_ownedClusters.end() != std::find_if(m_ownedClusters.begin(),
            m_ownedClusters.end(),
            comparitor);
}