QVector<CurveSegmentModel*> CurveCommandObjectBase::deserializeSegments() const
{
    QVector<CurveSegmentModel*> segments;
    std::transform(m_startSegments.begin(), m_startSegments.end(), std::back_inserter(segments),
                   [] (QByteArray arr)
    {
        Deserializer<DataStream> des(arr);
        return createCurveSegment(des, nullptr);
    });

    return segments;
}
Esempio n. 2
0
void Model::fromCurveData(const std::vector<SegmentData>& curve)
{
  this->blockSignals(true);
  clear();

  auto& context = score::IDocument::documentContext(*this).app;
  auto& csl = context.interfaces<SegmentList>();
  CurveSegmentOrderedMap map(curve.begin(), curve.end());
  for (const auto& elt : map.get<Segments::Ordered>())
  {
    addSortedSegment(createCurveSegment(csl, elt, this));
  }
  this->blockSignals(false);
  curveReset();
  changed();
}