| 219 | } |
| 220 | |
| 221 | void ViewerWidget::addCurrentToCameraPath(int id, int frame) { |
| 222 | qglviewer::KeyFrameInterpolator *old_kfi = camera()->keyFrameInterpolator(id); |
| 223 | if(!old_kfi || frame >= old_kfi->numberOfKeyFrames()) { |
| 224 | camera()->addKeyFrameToPath(id); |
| 225 | } else { |
| 226 | qglviewer::KeyFrameInterpolator *new_kfi = new qglviewer::KeyFrameInterpolator(camera()->frame()); |
| 227 | for(int i = 0; i < old_kfi->numberOfKeyFrames(); i++) { |
| 228 | new_kfi->addKeyFrame(old_kfi->keyFrame(i)); |
| 229 | if(i == frame) { |
| 230 | new_kfi->addKeyFrame(camera()->frame()); |
| 231 | } |
| 232 | } |
| 233 | deleteCameraPath(id); |
| 234 | camera()->setKeyFrameInterpolator(id, new_kfi); |
| 235 | } |
| 236 | } |
| 237 | |
| 238 | void ViewerWidget::playCameraPath(int id, int start_frame) { |
| 239 | qglviewer::KeyFrameInterpolator *kfi = camera()->keyFrameInterpolator(id); |
nothing calls this directly
no test coverage detected