Age | Commit message (Collapse) | Author |
|
|
|
management and application.
|
|
|
|
[ui] Display computation time for "running" or "finished" nodes
|
|
|
|
[nodes] SfMTransform: add auto_from_cameras_x_axis
|
|
Support copying/pasting a node in the Graph Editor
|
|
If a node is being hovered when the user performs the paste, an
offset is added to the mouse's position, both in the horizontal and
vertical directions. This aims at avoiding a complete overlap with
the nodes on top of which the clipboard content is pasted.
|
|
removed duplicated call to findnodes
|
|
Fix various typos
|
|
Found via `codespell`
|
|
[Feature Matching] Add an option to remove matches without enough motion
|
|
|
|
Co-authored-by: Fabien Castan <fabcastan@gmail.com>
|
|
|
|
|
|
The mouse's position is the top-left corner of a zone in which all
the selected nodes will be pasted. The bottom-right corner of that
zone is (x, y), with x the maximum of the selected nodes' position
along the x-axis and y the maximum of the selected nodes' position
along the y-axis.
The nodes relative position to one another - if positions are provided -
is preserved.
If no node in the selection has a specified position, the nodes will
be pasted from left to right alphabetically, with the top-left corner
of the first node at the mouse's position.
|
|
The "Paste Node(s)" option copies the selected nodes to the
clipboard (as does the "Copy Node(s)" option) and immediately
pastes them into the graph.
|
|
If several nodes are described in the clipboard and are supposed to
be connected with each other, reconnect them together, but do not
attempt to reconnect them to the graph they were copied from, even if
it is the current graph.
|
|
|
|
Add dedicated "minimal" mode for templates
|
|
|
|
|
|
Add a specific option to save a graph as a template ("Save As
Template") in "minimal" mode.
This mode only saves, for each node in the graph, the input and
output attributes whose values differ from the default ones. Any
attribute that is not serialized in the saved template file is
assumed to have its default value.
If a conflict is detected on a node when opening the template
file, it is logged but solved automatically.
The goal of this minimal mode is to prevent template files from
needing an update every single time a modification (may it be
minor or major) is done on a node description. Templates can
thus follow node changes and still be usable.
|
|
[ui] ImageGallery: fix some minor issues
|
|
"Group" label
|
|
If a node of type "CameraInit" is double-clicked in the Graph Editor,
the Image Gallery group index will immediately be updated to display
the corresponding node's information.
|
|
The first group will not be displayed as "Group 0 / X" anymore,
but rather as "Group 1 / X".
|
|
If an attribute is a link, when checking whether its value is
the default value, only the resolved value should be compared
with the default one. Otherwise, the attribute's "isDefault"
property will always evaluate to True, even when a non-default
link has been provided.
This issue was especially evident with input File attributes,
for which the default value is generally '' (empty string); if a
link was set as a value (thus non-empty), its unresolved value
would still be '', thus setting the "isDefault" property to True.
|
|
Add an "Import Scene" (Ctrl+Shift+I) option in the File menu
that allows to select an existing .mg file and import it in the
current graph.
The imported scene will automatically be placed below the lowest
existing node along the Y axis.
|
|
[ui] Reduce confusion when qml loading fails
|
|
Currently we disable all logging out of qml by default. This is
problematic in case qml loading fails for any reason (e.g. missing
dependencies) as the user will be presented with a message that is not
actionable: "QQmlApplicationEngine failed to load component". There is
no way to understand what's happening unless the user knows about
MESHROOM_OUTPUT_QML_WARNINGS.
This is improved by checking for presence of "QQmlApplicationEngine
failed to load component" and warning if qml logging is disabled in that
case.
|
|
Also add a "Copy Node(s)" option in the nodes' right click menu.
|
|
|
|
[ui] Update intrinsics table when switching between groups
|
|
[core] fix logging of nodes loading
|
|
Workaround for a bug in QClipboard that occurs when the clipboard
has been used within the app and its content exceeds a certain size
on X11/XCB.
This issue will hold up the app when exiting and is present in Qt5
versions.
With this workaround, the content of the clipboard will be lost when
exiting, but the app will exit normally.
|
|
When creating a node with a "paste" operation, place the node
on the mouse's position in the graph instead of default position (0,0).
If the mouse is placed on an existing node, the pasted node will be
placed on the mouse's position plus an offset so that the pasted node
does not directly overlap with the existing node.
|
|
Attempt to paste the clipboard's content in the graph when Ctrl+V is
pressed. If the clipboard contains a valid node description, add the
corresponding node to the graph.
Otherwise, do nothing.
|
|
When Ctrl+C is pressed while a node selected, its content is formatted
to JSON and copied to the system's clipboard.
|
|
|
|
Add abstract InitNode
|
|
InitNode is an abstract class which is meant to be inherited
by all the initialization nodes (such as CameraInit), included
those that might be created by the user.
InitNode contains methods that can be reimplemented by the
children classes if necessary.
This abstract class allows to keep on using scripts such as
meshroom_batch without having to modify them specifically or
being limited to using a CameraInit node.
|
|
|
|
Output in ACES or ACEScg color space
|
|
Fix node duplication/removal behaviour
|
|
[ci] add bug to the list of tag to skip the stale check
|
|
|
|
|
|
When a node is duplicated more than once in a single "duplicate"
operation, it happens that several of the duplicated nodes
overlap. This patch takes into account all the newly duplicated
(and already moved) nodes before moving them into their final
position.
|