Skip to content
Snippets Groups Projects
petrack.cpp 145 KiB
Newer Older
  • Learn to ignore specific revisions
  • void Petrack::deleteTrackPointAll(PersonStorage::Direction direction) // const QPoint &pos
    
    d.kilic's avatar
    d.kilic committed
    {
    
        mPersonStorage.delPointAll(direction, mAnimation->getCurrentFrameNum());
    
    d.kilic's avatar
    d.kilic committed
        updateControlWidget();
    }
    
    void Petrack::deleteTrackPointROI()
    {
    
        mPersonStorage.delPointROI();
    
    d.kilic's avatar
    d.kilic committed
        updateControlWidget();
        mScene->update();
    }
    
    void Petrack::deleteTrackPointInsideROI()
    {
    
        getPersonStorage().delPointInsideROI();
    
    d.kilic's avatar
    d.kilic committed
        updateControlWidget();
        mScene->update();
    }
    
    
    void Petrack::moveTrackPoint(QPointF pos)
    {
        mManualTrackPointMover.moveTrackPoint(pos, mPersonStorage);
        mScene->update();
    }
    
    void Petrack::selectPersonForMoveTrackPoint(QPointF pos)
    {
        FrameRange range;
    
        range.before  = mControlWidget->getTrackShowBefore();
        range.after   = mControlWidget->getTrackShowAfter();
    
        range.current = mPlayerWidget->getPos();
        auto successfullySelected =
            mManualTrackPointMover.selectTrackPoint(pos, mPersonStorage, getPedestrianUserSelection(), range);
    
        if(successfullySelected)
        {
            setCursor(QCursor{Qt::CursorShape::DragMoveCursor});
        }
    }
    
    void Petrack::releaseTrackPoint()
    {
        mManualTrackPointMover.setTrackPoint();
        mAutosave.trackPersonModified();
        setCursor(QCursor{});
    }
    
    
    void Petrack::scrollShowOnly(int delta)
    {
        if(delta < 0)
        {
    
            mControlWidget->setTrackShowOnlyNr(mControlWidget->getTrackShowOnlyNr() - 1);
    
            mControlWidget->setTrackShowOnlyNr(mControlWidget->getTrackShowOnlyNr() + 1);
    
    d.kilic's avatar
    d.kilic committed
    void Petrack::updateSourceInOutFrames()
    {
        mPlayerWidget->setFrameInNum(mAnimation->getSourceInFrameNum());
    
        mPlayerWidget->setFrameOutNum(mAnimation->getSourceOutFrameNum());
    
    d.kilic's avatar
    d.kilic committed
    }
    
    // delta gibt menge an Umdrehungen und richtung an
    void Petrack::skipToFrameWheel(int delta)
    {
    
        mPlayerWidget->skipToFrame(mPlayerWidget->getPos() + delta);
    
    d.kilic's avatar
    d.kilic committed
    }
    
    void Petrack::skipToFrameFromTrajectory(QPointF pos)
    {
        auto       peds      = getPedestrianUserSelection();
    
        const auto before    = mControlWidget->getTrackShowBefore();
        const auto after     = mControlWidget->getTrackShowAfter();
    
        const auto currFrame = mPlayerWidget->getPos();
    
        FrameRange frameRange{before, after, currFrame};
    
        auto res = mPersonStorage.getProximalPersons(pos, peds, frameRange);
    
    
        if(res.size() == 1)
        {
            mPlayerWidget->skipToFrame(res.front().frame);
        }
        else if(res.size() > 1)
        {
            PWarning(
                this,
                tr("Too many trajectories"),
                tr("PeTrack can't determine which point you meant. Try selecting fewer trajectories first."));
        }
    }
    
    
    void Petrack::setPeTrackVersion(const std::string &petrackVersion)
    
    {
        mPetrackVersion = QString::fromStdString(petrackVersion);
    
    }
    
    void Petrack::setGitInformation(
    
        const std::string &gitCommitID,
        const std::string &gitCommitDate,
        const std::string &gitCommitBranch)
    
        mGitCommitID     = QString::fromStdString(gitCommitID);
        mGitCommitDate   = QString::fromStdString(gitCommitDate);
    
        mGitCommitBranch = QString::fromStdString(gitCommitBranch);
    }
    
    
    void Petrack::setCompileInformation(
    
        const std::string &compileOS,
    
        const std::string &compileTimeStamp,
        const std::string &compilerID,
        const std::string &compilerVersion)
    
        mCompileOS       = QString::fromStdString(compileOS);
    
        mCompileDate     = QString::fromStdString(compileTimeStamp);
        mCompilerID      = QString::fromStdString(compilerID);
    
        mCompilerVersion = QString::fromStdString(compilerVersion);
    }
    
    
    #include "moc_petrack.cpp"