| 565 | } |
| 566 | |
| 567 | void |
| 568 | Curve::removeKeyFramesBeforeTime(double time, |
| 569 | std::list<int>* keyframeRemoved) |
| 570 | { |
| 571 | KeyFrameSet newSet; |
| 572 | QMutexLocker l(&_imp->_lock); |
| 573 | |
| 574 | for (KeyFrameSet::iterator it = _imp->keyFrames.begin(); it != _imp->keyFrames.end(); ++it) { |
| 575 | if (it->getTime() < time) { |
| 576 | keyframeRemoved->push_back( it->getTime() ); |
| 577 | continue; |
| 578 | } |
| 579 | newSet.insert(*it); |
| 580 | } |
| 581 | _imp->keyFrames = newSet; |
| 582 | if ( !_imp->keyFrames.empty() ) { |
| 583 | refreshDerivatives( Curve::eCurveChangedReasonKeyframeChanged, _imp->keyFrames.begin() ); |
| 584 | } |
| 585 | onCurveChanged(); |
| 586 | } |
| 587 | |
| 588 | void |
| 589 | Curve::removeKeyFramesAfterTime(double time, |