MCPcopy Create free account
hub / github.com/Samsung/rlottie / addPath

Method addPath

src/vector/vpath.cpp:682–707  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

680}
681
682void VPath::VPathData::addPath(const VPathData &path, const VMatrix *m)
683{
684 size_t segment = path.segments();
685
686 // make sure enough memory available
687 if (m_points.capacity() < m_points.size() + path.m_points.size())
688 m_points.reserve(m_points.size() + path.m_points.size());
689
690 if (m_elements.capacity() < m_elements.size() + path.m_elements.size())
691 m_elements.reserve(m_elements.size() + path.m_elements.size());
692
693 if (m) {
694 for (const auto &i : path.m_points) {
695 m_points.push_back(m->map(i));
696 }
697 } else {
698 std::copy(path.m_points.begin(), path.m_points.end(),
699 back_inserter(m_points));
700 }
701
702 std::copy(path.m_elements.begin(), path.m_elements.end(),
703 back_inserter(m_elements));
704
705 m_segments += segment;
706 mLengthDirty = true;
707}
708
709V_END_NAMESPACE

Callers

nothing calls this directly

Calls 7

copyFunction · 0.85
segmentsMethod · 0.60
mapMethod · 0.60
sizeMethod · 0.45
reserveMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected