mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-06-05 12:21:59 +02:00
[ui] WorkspaceView: open images in the 2D Viewer from the Graph/NodeEditor
Double click on a node or an attribute with an image file to display it in the 2D viewer.
This commit is contained in:
parent
bc1eb83d92
commit
dbcfce7c90
3 changed files with 53 additions and 5 deletions
|
@ -531,6 +531,28 @@ ApplicationWindow {
|
|||
viewer3D.solo(attribute);
|
||||
return loaded;
|
||||
}
|
||||
function viewIn2D(attribute) {
|
||||
var imageExts = ['.exr', '.jpg', '.tif', '.png'];
|
||||
var ext = Filepath.extension(attribute.value);
|
||||
if(imageExts.indexOf(ext) == -1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(attribute.value.includes('*'))
|
||||
{
|
||||
// For now, the viewer only supports a single image.
|
||||
var firstFile = Filepath.globFirst(attribute.value)
|
||||
viewer2D.source = Filepath.stringToUrl(firstFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
viewer2D.source = Filepath.stringToUrl(attribute.value);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -598,10 +620,16 @@ ApplicationWindow {
|
|||
for(var i=0; i < node.attributes.count; ++i)
|
||||
{
|
||||
var attr = node.attributes.at(i)
|
||||
if(attr.isOutput
|
||||
&& workspaceView.viewIn3D(attr, mouse))
|
||||
if(attr.isOutput)
|
||||
{
|
||||
break;
|
||||
if(workspaceView.viewIn2D(attr))
|
||||
{
|
||||
break;
|
||||
}
|
||||
if(workspaceView.viewIn3D(attr, mouse))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -615,7 +643,16 @@ ApplicationWindow {
|
|||
node: _reconstruction.selectedNode
|
||||
// Make NodeEditor readOnly when computing
|
||||
readOnly: graphLocked
|
||||
onAttributeDoubleClicked: workspaceView.viewIn3D(attribute, mouse)
|
||||
onAttributeDoubleClicked: {
|
||||
if(workspaceView.viewIn2D(attribute))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(workspaceView.viewIn3D(attribute, mouse))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
onUpgradeRequest: {
|
||||
var n = _reconstruction.upgradeNode(node);
|
||||
_reconstruction.selectedNode = n;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue