-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1763 implement the orientation viewer in 5x and GL Subsystem #2394
1763 implement the orientation viewer in 5x and GL Subsystem #2394
Conversation
@lucas-wilkins: Eh, it still doesn't start on my machine... Looking at the log it still complains about Model.2: |
I've checked the latest version of installer and it is failing to start. It seems that fix_qt_folder_names_for_codesign.py didn't work as expected? I will try to take a look at it later. |
@wpotrzebowski I've also been looking at it, I agree that its not working, though the signing script seems to complete now. |
@lucas-wilkins I think I know what's goining on. We publish installer file before signing. |
@wpotrzebowski: I've changed the order of tasks in the ci.yml file. Let's see if this fixes the problem. |
@wpotrzebowski Is this error because its not notarized? |
@lucas-wilkins yes, that's what you normally see for signed app... Does it work for you though? In my case, it doesn't come with a damaged disk error as before but crashes immediately after the start. After some debugging it complains about: |
@wpotrzebowski I'm told it runs fine for my colleague, as far as he can tell. |
That kind of error shouldn't be happening with the Are you sure you got the latest artefact? |
@lucas-wilkins that's really really wired! I've checked now 4 times that I am using the right installer (I am using this one: https://github.com/SasView/sasview/suites/10714249084/artifacts/538369808) and it still crashes immediately after I start it. I will try on another computer later. Have you checked if Orientation Viewer works? |
Actually, no. I will do. |
We checked .../4053202588. So there is a difference there. |
We're getting the same error as you now, which is good, in a way. |
Wohooo! |
The scaling looks very strange, but this is an ongoing issue to be resolved elsewhere I think! |
I am fine with resolving the scaling issue separately. If we are ok with accepting the fact that installers will become 20-40MB bigger after merging this PR, I would vote for merging it. |
I'm fine with the size increase, although I wonder how much is this PR, and how much is the changes in setup.py. |
Mantid 6.5.0 was 758MB. SasView 5.0.5 was 168MB. Nuff said! |
This PR re-implements the orientation viewer, as demonstrated at the code camp. At the time there was some issues with pyqtgraph.
Fixes #1763
GL Subsystem
As pyqtgraph was terrible, I've implemented an OpenGL subsystem, with the hope it can be used elsewhere. I intend to replace all instances of matplotlib 3D with it - the next on the list is the representations of macromolecules.
The GL system is currently fairly basic, but improvements can be made as required. Developers documentation beyond that in the code will have to wait, I've asked about where it should go, but explaining the GL stuff is best done through a diagram @smk78. Maybe migrate some of this PR.
The
QtWidget
that does GL is calledScene
and it uses a standard scene graph type model.Scene
contains all the mouse feedback and motion.Scene
can contain multipleRenderable
objects, that may support solid or wireframe rendering or both.SceneGraphNodes
and subclasses all have children, and can be used to build up a tree representing a scene.Here's a class diagram
There are then a couple of colour related things in
color
Orientation viewer
The orientation viewer is made of 2 classes, the controller, which is QtDesigner component and the viewer itself (which contains a scene with all the objects in it)
How Has This Been Tested?
Hard to test GL stuff, there are some files in
qtgui/GL/visual_checks
that allow one to check rendering of a good proportion of the functionality.Review Checklist (please remove items if they don't apply):