Skip to content
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

fix mouse for camera controller #2566

Open
wants to merge 51 commits into
base: dev/qt6.6
Choose a base branch
from
Open

Conversation

servantftechnicolor
Copy link
Contributor

For whatever reason, the logicaldevice does not work on qt 6.7 with the mouse.
This PR will avoid the problem by using another approach

@cbentejac cbentejac changed the base branch from develop to dev/qt6.6 October 10, 2024 09:18
@cbentejac cbentejac added this to the Meshroom 2024.1.0 milestone Oct 11, 2024
This fixes all the "Injection of parameters into signal handlers
is deprecated. Use JavaScript functions with formal parameters instead."
warnings.
Qt3D.Extras cannot be updated to 2.6 yet, otherwise there are errors.
With Qt6, OpenGL is not used directly anymore, and we thus must use
the RHI backend, set to version 1.0.

The SphericalHarmonics shaders, which were previously written in OpenGL,
need to be updated accordingly.
Call the `QGeometry` objects from the correct module, and initialize
correctly the Camera object upon the construction of the
TrackballController object.
Additionally harmonize comments and explicitly declare parameters
for slots that need them.
`PointSize` is not supported by RHI.
The fit must be automatically triggered when the size of the image
changes. In case the image size remains the same but the orientation tag
is updated, this means that the displayed size of the image has changed
(with the orientation taken into account, the width and height might end
up being inverted), so the fit should also be triggered.
Disable and hide the wireframe mode as the shaders need to be updated
for RHI.
cbentejac and others added 24 commits October 16, 2024 17:19
When converting the `StatusData` to a dictionary, only data attributes
should be stored in said dictionary. With Qt6, the `objectNameChanged`
signal, of type `SignalInstance`, is added to the dictionary. It needs
to be removed manually as it is not JSON-serializable. Otherwise,
the nodes cannot be computed anymore.
Replace `DiffuseSpecularMaterial`, which does not seem to support
correctly textures anymore, with `DiffuseMapMaterial`.
`QtQuick.Window` does not exist anymore with Qt6. QQuickWindow is now
directly part of the QtQuick module.
This prevents crashes when the project is done loading but
`Application` is not yet ready.
QMouseEvent::x() and QMouseEvent::y() have been marked as deprecated and
should be replaced with QMouseEvent::position().x() and
QMouseEvent::position().y().
The curve scale of the mouse area for an edge used to be defined when
initializing the `EdgeMouseArea` for that edge. Setting it triggers a
chain of event that allow the mouse area to be active, thus correctly
detecting when it is being hovered or clicked on.

With Qt6, these events unfolded before the `EdgeMouseArea` had finished
initializing, which then caused it to not be active until the edge's
shape was modified (and the chain of events triggered again). It is now
set once the component has been created, so all the events can happen
in an environment where they are taken into account.
The callbacks of `childrenRepeater` (which was used to "fill"
`ListAttributes` with children) were not correctly set. Their prototypes
were missing the `index` argument, meaning that instead of being
provided with the child attribute that was added or deleted,
they were provided with its index in the model.

The added children attributes were also instatiated as empty attribute
pins that were still visible, thus increasing indirectly the spacing of
the initial pin.
Copy link
Member

@fabiencastan fabiencastan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on commits from another branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants