[reve] Add ability to sync, save, and restore REveCamera settings#22553
Open
alja wants to merge 9 commits into
Open
[reve] Add ability to sync, save, and restore REveCamera settings#22553alja wants to merge 9 commits into
alja wants to merge 9 commits into
Conversation
REveCamera implement
added REveCamera class
implement isEveCameraPerspective
set REveCamera free as an independent class
implement camera on the client side. Also, the hardcoded test matrix is here
hardcoded matrix test
change the paths & env variables
myslef as the author
Remove commented lines with V1, V2
fCamera declaration does not need a comment.
Restore align.
include the REveCamera.hxx header in REveManager.cxx
GetCameraId() replaced with REveCamera* GetCamera() {return fCamera; }
SetCamBaseMtx override with string input
SetCameraByElementId function implement; Set default camera to kCameraPerspXOZ
save camera matrix implemented
alias for backward compatibility Correction to restore perspective camera Save and restore camera on reload Remove obsolete function Move camera ownership to REveViewer Hand over copy of trans matrix from REveCamera to REveCameraControl Add callback from client to set camera type
…tSet and additional signal handling in REveCameraControl
Sync camera changes every 5 seconds
Contributor
Author
|
@linev Please check. |
Contributor
Author
|
@yuxiaolab Please review. |
dpiparo
requested changes
Jun 10, 2026
dpiparo
left a comment
Member
There was a problem hiding this comment.
Thanks for these changes. Besides the comments left on the code, I would also like to request to re-format the commit messages. If they need to be so many, at least they should respect the https://github.com/root-project/root/blob/master/CONTRIBUTING.md#your-commit
| return ret; | ||
| } | ||
|
|
||
| ClassImp(REveCamera); No newline at end of file |
| return; | ||
| } | ||
| } | ||
| /// Set camera reference by ID, yuxiao |
Member
There was a problem hiding this comment.
please remove the username: the git history takes care of the ownership of the code.
Test Results 15 files 15 suites 2d 7h 54m 13s ⏱️ Results for commit 0812db9. |
Contributor
Author
|
@dpiparo Thank you for the corrections. |
linev
approved these changes
Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add ability to set camera type and position at startup time
Example for perspective camera type setting
Example of orthographic camera type setting
Add automatic sync of camera position from client
By default, REveViewer syncs camera settings. The terminal printout is the client request to the server.
Below are examples of the client message
One can disable the sync with the call REveViewer::SyncCamera(kFALSE)
Add possibility to change camera type at runtime.
One can choose between camera types at runtime through REveViewer editor.

Screenshot of boxset.C demo:
Update RenderCore from 2.0 to 2.1
In RenderCore 2.1 there were minor changes in camera control event dispatch and rendering of REveDigitSet (ZShape material) with directional light.