void CreatePointCommandObject::move()
{
    auto segments = m_startSegments;

    // Locking between bounds
    handleLocking();

    // Creation
    createPoint(segments);

    // Submit
    submit(std::move(segments));
}
Esempio n. 2
0
void MovePointCommandObject::move()
{
    // We start from a clean state
    CurveSegmentMap segments(m_startSegments.cbegin(), m_startSegments.cend());

    // Locking between bounds
    handleLocking();

    // Manage point - segment replacement
    handlePointOverlap(segments);

    // This handles what happens when we cross another point.
    if(m_presenter->editionSettings().suppressOnOverlap())
    {
        handleSuppressOnOverlap(segments);
    }
    else
    {
        handleCrossOnOverlap(segments);
    }

    // Rewirte and make a command
    submit(std::vector<SegmentData>(segments.begin(), segments.end()));
}