MCPcopy Create free account
hub / github.com/city-super/Octree-GS / onUpdate

Method onUpdate

SIBR_viewers/src/core/view/MultiViewManager.cpp:33–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31 }
32
33 void MultiViewBase::onUpdate(Input& input)
34 {
35 if (input.key().isActivated(Key::LeftControl) && input.key().isPressed(Key::LeftAlt) && input.key().isPressed(Key::P)) {
36 _onPause = !_onPause;
37 }
38 if (_onPause) {
39 return;
40 }
41
42 // Elapsed time since last rendering.
43 const auto timeNow = std::chrono::steady_clock::now();
44 _deltaTime = (float)(std::chrono::duration_cast<std::chrono::microseconds>(timeNow - _timeLastFrame).count())/1000000.0f;
45 _timeLastFrame = timeNow;
46
47 for (auto & subview : _subViews) {
48 if (subview.second.view->active()) {
49 auto subInput = !subview.second.view->isFocused() ? Input() : Input::subInput(input, subview.second.viewport, false);
50
51 if (subview.second.handler) {
52 subview.second.handler->update(subInput, _deltaTime, subview.second.viewport);
53 }
54
55 subview.second.updateFunc(subview.second.view, subInput, subview.second.viewport, _deltaTime);
56
57 }
58 }
59
60 for (auto & subview : _ibrSubViews) {
61 MultiViewBase::IBRSubView & fView = subview.second;
62
63 if (fView.view->active()) {
64 auto subInput = !fView.view->isFocused() ? Input() : Input::subInput(input, fView.viewport, false);
65
66 if (fView.handler) {
67 fView.handler->update(subInput, _deltaTime, fView.viewport);
68 }
69
70 fView.cam = fView.updateFunc(fView.view, subInput, fView.viewport, _deltaTime);
71
72 /// If we use the default update func and the integrated handler,
73 /// we have to use the handler's camera.
74 if (fView.defaultUpdateFunc && fView.handler) {
75 fView.cam = fView.handler->getCamera();
76 }
77
78 }
79 }
80
81 for (auto & subMultiView : _subMultiViews) {
82 subMultiView.second->onUpdate(input);
83 }
84 }
85
86 void MultiViewBase::onRender(Window& win, ShowInfo& info)
87 {

Callers 2

addSubViewMethod · 0.45
addIBRSubViewMethod · 0.45

Calls 9

onUpdateFunction · 0.85
isActivatedMethod · 0.80
isPressedMethod · 0.80
countMethod · 0.80
isFocusedMethod · 0.80
isReleasedMethod · 0.80
InputClass · 0.70
keyMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected