Candice Bentéjac
faff99f963
Merge pull request #2625 from alicevision/fix/validateSavePermissions
...
[ui] Add Validation for Save file path accessibility
2024-12-23 19:07:00 +01:00
Candice Bentéjac
e8d177e28e
Merge pull request #2579 from alicevision/dev/nukeExport
...
[nodes] `ExportDistortion`: Add animated distortion option
2024-12-23 18:34:13 +01:00
Candice Bentéjac
65cd6dc394
[pipelines] Update ExportDistortion
version for all nodes
2024-12-23 18:24:56 +01:00
Fabien Servant @ TCS
139dba8e8d
Update ExportDistortion version number
2024-12-23 11:03:48 +01:00
waaake
21b5080dcb
[ui] Application: Save now validates user access to the save directory
...
File and template save as validation includes an access check to ensure that a given directory exists and the user has access for writing to it
2024-12-23 09:03:41 +05:30
waaake
9b96cfcc99
[helper] Filepath: Added accessibility helper method
...
Accessibility method helps identify whether a given save path directory is accessible for the user to write to.
2024-12-23 09:01:56 +05:30
Candice Bentéjac
aeb77d8dbc
Merge pull request #2622 from alicevision/fix/NodeMenuKeys
...
[ui] GraphEditor: Address Key Event Conflicts in Node Menu
2024-12-19 09:54:56 +00:00
waaake
b31da19e66
[ui] GraphEditor: Fixed Key handling for Node creation Menu
...
Keys.AfterItem as the priority ensures the Item's own key events are handled before Forwarding it to specified items. This handles all defined Enter and Return key presses
2024-12-19 06:05:11 +01:00
Fabien Castan
6e99f9daeb
Merge pull request #2619 from alicevision/dev/sfmBootstraping
...
Sfm Bootstraping parameterization
2024-12-18 09:17:00 +01:00
Fabien Castan
e7a5387e96
Merge pull request #2620 from alicevision/fix/qt6Issues
...
Fix Qt6-induced issues
2024-12-18 09:12:16 +01:00
Candice Bentéjac
ebbd000714
[Viewer3D] MediaLoader: Send pointSize
as is
...
`pointSize` was divided by 100 before being sent to the shader that
rendered the programmable points, and was used as is to set the size of
the "fixed size" points implicitly in the QML.
Now that both cases are handled by the same shader, we do not need to
perform this division here: it will be done directly in the shader (by
opposition, keeping it here would have meant performing a x100
multiplication in the shader for the "fixed size" case).
2024-12-17 19:07:40 +01:00
Candice Bentéjac
e3f1e27c68
[Viewer3D] MediaLoader: Bind fixedPointSize
for the SfMLoader
...
The `fixedPointSize` parameter was used to determine whether the
point size was fixed or programmable from the QML (using a `PointSize`
render state). With Qt6, this render state is not correctly handled by
the RHI and we need to set directly within the shader whether the point
size is fixed or not, hence the binding.
2024-12-17 19:05:03 +01:00
Candice Bentéjac
9aa9e7fe6e
[GraphEditor] Add missing import of Utils
to access Format
methods
2024-12-17 11:03:33 +00:00
Fabien Castan
0aa163d603
Merge pull request #2582 from alicevision/dev/sfmFilter
...
New MultiView Photometric Stereo pipeline and new sfmFilter node
2024-12-13 23:36:57 +01:00
Candice Bentéjac
92a4db40b0
[pipelines] Fix multi-view photometric stereo template
...
The template has been renamed to fit the automatic name parsing of
template files, it has been effectively converted to an actual template
and all the nodes have been aligned coherently.
2024-12-13 17:09:20 +01:00
Candice Bentéjac
d65b52a34f
[nodes] SfMFilter: Add verbose level attribute
2024-12-13 17:09:20 +01:00
Fabien Castan
1f441b7c92
[nodes] SfMFilter: Adapt to node api changes (no more uid)
2024-12-13 17:09:19 +01:00
jmelou
47bbce4ddf
[pipeline] Simplify MV-PS pipeline
...
Pose transfert in SfMTransfert
2024-12-13 17:09:19 +01:00
jmelou
2519a57e76
[node] Add SfMFilter node
...
Select views using regex
2024-12-13 17:09:19 +01:00
Yann Lanthony
c2d4159cef
Merge pull request #2618 from alicevision/ci/codecov
...
CI: add codecov
2024-12-13 13:10:28 +01:00
Fabien Castan
5ea6af6905
CI: add codecov
2024-12-13 13:03:25 +01:00
Candice Bentéjac
c93fb3c41e
Merge pull request #2616 from alicevision/fix/dynamicOutputIcon
...
[GraphEditor] AttributeItemDelegate: Use MaterialLabel for uncomputed attributes
2024-12-13 11:12:49 +01:00
Candice Bentéjac
e565458131
[GraphEditor] AttributeItemDelegate: Use MaterialLabel for uncomputed components
2024-12-11 14:59:35 +01:00
Candice Bentéjac
99e5edf518
Merge pull request #2615 from alicevision/fix/returnGraphLoadStatus
...
Fix projects disappearing from the list of recent projects
2024-12-11 13:44:51 +00:00
Yann Lanthony
a0398c45c0
[core] Graph: fix Graph.load
missing return value
...
Add missing return statement for the load function, used by the UI to determine whether the load was successful.
2024-12-11 14:10:43 +01:00
Fabien Castan
908312ad1c
Merge pull request #2610 from alicevision/dev/colorizePointCloud
...
New SfMColorizing Node
2024-12-10 09:29:19 +01:00
Fabien Castan
2d56016770
Merge pull request #2605 from alicevision/fix/nodeSelectionPerfs
...
Refactor Node selection for better UX and performance
2024-12-09 20:07:20 +01:00
Yann Lanthony
944ff15002
[ui] Additive mode for select following Nodes
...
Implement additive selection behavior when selecting downstream
nodes from a node, using Alt+Shift+Click.
2024-12-09 11:16:33 +01:00
Yann Lanthony
4730cc0800
Update git-blame-ignore-revs
2024-12-09 10:27:32 +01:00
Yann Lanthony
fc85999011
[ui] GraphEditor: toggle node selected state on Ctrl+click
...
Closer to the standard behavior of the Ctrl modifier key for selection.
2024-12-09 10:18:48 +01:00
Yann Lanthony
87c0cef605
[ui] GraphEditor: fix indentation
2024-12-06 11:03:30 +01:00
Yann Lanthony
4a60e24c2e
[ui] GraphEditor: Improve node selected status logic
...
Instead of connecting to onSelectionChanged, use ItemSelectionModel.hasSelection
property, that can be use for direct bindings with the same behavior.
https://doc.qt.io/qt-6/qml-qtqml-models-itemselectionmodel.html#hasSelection-prop
2024-12-06 10:47:20 +01:00
Yann Lanthony
a3268f456c
[ui] Graph: cleanup unused function
2024-12-06 10:14:50 +01:00
Yann Lanthony
67bd43e040
[ui] Graph: remove selectedNodes
model
...
Expose `getSelectedNode` that relies on the QItemSelectionModel
for imperative code in QML that still requires to access the
selected node instances.
2024-12-06 10:14:50 +01:00
Yann Lanthony
cdfa6186b1
[ui] Graph: Add clearSelectedNodesData
method
...
Convenient function to directly work on the current node selection.
2024-12-06 10:14:50 +01:00
Yann Lanthony
8dbcfa392f
[ui] Application: Simplify Cut/CopyNodes actions
...
Remove dynamic tooltip for cut/copy actions that displays all
selected node names:
- This inline textual information is hard to process as a user.
- Avoid binding to and iteration over the selection.
2024-12-06 10:14:50 +01:00
Yann Lanthony
d11a1f62cc
[ui] Graph Editor: fix remaining use of deleted function
2024-12-06 10:14:50 +01:00
Yann Lanthony
107b1e959a
[ui] GraphEditor: cache selected node computability status
...
Avoid to evaluate the computability/submitability status of each
node twice by caching the information when creating the node
context menu.
2024-12-06 10:14:50 +01:00
Yann Lanthony
ade1f87b8f
[ui] GraphEditor: Centralize node selection computability status
...
Re-write the computability status of the current node selection
as properties within the node menu component.
Note that this should be further improved to better scale with the size
of the selection, as it requires to traverse the graph for each node.
2024-12-06 10:14:50 +01:00
Yann Lanthony
b5836d96ed
[ui] GraphEditor: Create node context menu after selection update
...
Delay the loading of the node context menu once the node selection
has been updated, for it to consider the proper selection.
2024-12-06 10:14:50 +01:00
Yann Lanthony
b3a8c6a1f2
[ui] GraphEditor: move node context menu to a Loader
...
Avoid having the node context menu always evaluating the current
state of the selected nodes for its own display, by dynamically
creating it on demand with a Loader.
Use callbacks for recomputing/resubmitting actions, instead of
storing state in the UI components.
2024-12-06 10:14:50 +01:00
Yann Lanthony
686927a92d
[ui] Graph: add removeSelectedNodes
method
...
Add and use an explicit method to remove the currently selected nodes
in a graph.
2024-12-06 10:14:43 +01:00
Yann Lanthony
05eabb2b13
[ui] Graph: Node selection refactor (1)
...
Switch selection management backend to a QItemSelectionModel,
while keeping the current 'selectedNodes' API for now.
Use DelegateSectionBox for node selection in the graph, and
rewrite the handling of node selection / displacement.
2024-12-06 10:13:51 +01:00
Yann Lanthony
6d2e9a2ba9
[ui] Utils: add SelectionBox and DelegateSelectionBox
...
- SelectionBox: generic Selection box component.
- DelegateSelectionBox: specialized SelectionBox to select model delegates
from an instantiator (Repeater, ListView).
Also Introduce a Geom2D helper class to provide missing features for
intersection testing in QML.
2024-12-06 10:12:11 +01:00
Yann Lanthony
dfe2166942
[ui] Node: expose additional mouse events
...
Forward mouse 'released' and 'clicked' events for giving
more control over node selection management.
2024-12-06 10:12:11 +01:00
Yann Lanthony
b21192282d
QObjectListModel: implement 'index' method
...
Implementing this method allows to use QObjectListModel
in combination with other Qt classes that can act on a model
(eg: QSelectionItemModel, QSortFilterProxyModel...).
2024-12-06 10:12:11 +01:00
Yann Lanthony
df4ad22b6c
Merge pull request #2613 from alicevision/fix/edgeSelection
...
[GraphEditor] Edge: Correctly update the `EdgeMouseArea` when moving nodes
2024-12-03 12:48:05 +01:00
Candice Bentéjac
0dca19f158
[GraphEditor] Edge: Correctly update the EdgeMouseArea
when moving nodes
2024-12-03 11:56:56 +01:00
Yann Lanthony
feedad4775
Merge pull request #2602 from alicevision/fix/ValidateSaveFile
...
[BugFix] File save dialog now requires a valid filename
2024-12-03 09:57:37 +01:00
waaake
32a493d026
[ui] FileSaveDialog: Added Validation to the file save process
...
Validating the filename to ensure that the file does not gets saved with just the extension
2024-12-02 17:42:02 +05:30