Yann Lanthony
f6ae3ae057
[ui] support for appending multiple elements to a ListAttribute at once
2017-11-07 20:34:33 +01:00
Yann Lanthony
9bc8eaeb1b
[commands] improve AddNodeCommand
...
use node name instead of a direct reference to the Node
2017-11-07 20:27:52 +01:00
Yann Lanthony
87a81ec3fb
[graph] call applyExpr when adding elements to ListAttribute
...
* automatically (re)create edges if any when dynamically adding elements to the list
* don't do anything if the node does not belong to a graph yet
2017-11-07 20:27:03 +01:00
Yann Lanthony
eccef6bed8
[graph] delete all Node edges in removeNode
...
Delete all edges arriving to and starting from this node. This includes edges connected to sub-attributes (children of List/GroupAttributes).
2017-11-07 20:22:34 +01:00
Yann Lanthony
e38f112c55
[core] fix memory management
...
* parent Nodes, Edges and Attributes to their respective models
* use weakrefs for those objects to avoid cyclic references
* add 'root' property on Attribute for parenting to List/GroupAttribute (parent still exists for Qt-style parenting)
* UI: update commands to match those changes
2017-11-07 20:18:17 +01:00
Yann Lanthony
f029a573b2
[qt] QObjectListModel: take ownership of objects if not already parented
...
Allows to explicitly call deleteLater() on such objects that are removed from the model
2017-11-07 19:51:05 +01:00
Fabien Castan
8efa14ecda
[node] Publish: fix node with new chunk notion
2017-11-07 18:46:14 +01:00
Fabien Castan
1e4f8f8a61
Add chunk notion for parallelization and implement specific updateInternals in CameraInit node
...
* Add chunk notion for parallelization
* Allows Node desc to implement custom updateInternals
* CameraInit node implement a specific updateInternals to update the
input image list
* FeatureExtraction, FeatureMatching, DepthMap, DepthMapFilter:
implement parallelization
2017-11-07 15:47:14 +01:00
Fabien Castan
39f6ef3d64
[multiview] add Graph Modification and convert inputFolder into a list of input files
...
* Always set a list of input files
* Use GraphModification to do only one update
2017-11-06 20:51:22 +01:00
Fabien Castan
1472baa477
[core] Graph.update fix: return when the update is disabled
2017-11-06 20:49:07 +01:00
Fabien Castan
0847a80bdc
[core] Attribute: add isDefault and getPrimitiveValue
2017-11-06 20:46:59 +01:00
Fabien Castan
3a6473b78f
[core] Attribute: getExportValue give the expression on output attributes
...
On output attributes, we export the desc value which contains the
expression and not the locally evaluated value.
2017-11-06 20:46:26 +01:00
Fabien Castan
ee7c0d0fd5
[core] Attribute: change isLink check for _applyExpr()
2017-11-06 20:41:29 +01:00
Yann Lanthony
a2e1369c9a
[common] improve core models
...
* CoreListModel:
* allow removal of multiple contiguious elements
* add insert method
* CoreDictModel:
* use del to remove elemvent from list
2017-11-06 18:34:14 +01:00
Yann Lanthony
3c3a270886
[multiview] default value for output folder
2017-11-02 11:51:21 +01:00
Yann Lanthony
95471e3e1b
[graph] parent root Attributes to the Node
...
Guarantee Python ownership on objects when using Qt backend. Otherwise, the ownership could be transferred to QML when getting objects via a Slot, leading to their destruction at gargabe collection.
2017-11-02 11:12:14 +01:00
Fabien Castan
d4376ca440
[bin] photogrammetry: add inputImages argument
2017-10-31 21:28:45 +01:00
Fabien Castan
fb92af531d
[multiview] add output option using the Publish node
2017-10-31 21:28:45 +01:00
Fabien Castan
0f2f6c4796
[nodes] new Publish node
2017-10-31 21:28:45 +01:00
Fabien Castan
9d3f7252c1
[core] move process code into the node description
...
Now CommandLineNode contains the code to launch the command line as a
subprocess.
2017-10-31 21:28:44 +01:00
Fabien Castan
a576fb8ce4
[multiview] set inputs only if not empty
...
Avoid errors with None
2017-10-31 21:21:10 +01:00
Fabien Castan
40b320f1b8
[multiview] connect on previous node only
2017-10-31 21:20:09 +01:00
Fabien Castan
96ac1216c3
[nodes] meshing: fix command line
2017-10-31 21:19:07 +01:00
Fabien Castan
88a935f925
[nodes] texturing: add output files
2017-10-31 21:11:34 +01:00
Fabien Castan
eec52e45e3
[core] implement _applyExpr for List/GroupAttributes
2017-10-31 20:55:56 +01:00
Yann Lanthony
fbebecd463
[graph] default uidIndex value for Attribute.uid method
...
This index only makes sense on ListAttributes and GroupAttributes
2017-10-31 19:50:29 +01:00
Yann Lanthony
16e8037fd7
[core] change Attributes declaration on Node description
...
Inputs and outputs Attributes are now declared in two separate lists
* no more isOutput field on Attribute description
* guarantee attributes order (was not the case in Python2 with class attributes)
* Attribute's name is now part of its description
Note: for now, input and output Attributes are still stored in a single model inside a Graph.
2017-10-31 19:47:32 +01:00
Yann Lanthony
00366cda00
[ui] introduce first functional UI with a graph editor
...
First functional UI that allows to visualize, modify and execute a graph locally.
* use QtQuick Controls 2 + Shapes (Qt >=5.10)
* main menu to save/load a graph
2017-10-31 16:54:16 +01:00
Yann Lanthony
e683238a8d
[ui] update main
...
* use Fusion style by default (Qt >= 5.10)
* enable high DPI scaling
* parent main Reconstruction to the application
2017-10-31 16:53:35 +01:00
Yann Lanthony
788fe7d4dc
[ui] simplify EdgeMouseArea component
...
Removed independant start/end points; cubic spline starts from (0,0) to (width, height)
2017-10-31 16:53:35 +01:00
Fabien Castan
1dbf002557
[nodes] use Choice param for scale
2017-10-31 16:50:31 +01:00
Fabien Castan
329dcba3a5
[core] add validator per attribute type
2017-10-31 16:50:31 +01:00
Fabien Castan
11cfece411
[bin] photogrammetry: expose mvs scale parameter
2017-10-31 16:50:30 +01:00
Fabien Castan
eaa22528f1
[nodes] expose texturing parameters
2017-10-31 16:50:30 +01:00
Fabien Castan
eb85aee728
[nodes] update MVS to aliceVision binaries
2017-10-31 16:50:29 +01:00
Fabien Castan
06a8cbaf45
[nodes] CamPairs renamed to CameraConnection
2017-10-31 16:50:29 +01:00
Fabien Castan
041f98ae8a
[tests] tests UIDs on the multiview pipeline
...
* ensure that identical graphs have the same UIDs
* ensure that multiview pipeline graphs with different input images have
different UIDs on all output attributes
2017-10-31 12:12:51 +01:00
Fabien Castan
ffddc14acd
[nodes] fix: output attributes cannot be part of UIDs
2017-10-31 12:11:08 +01:00
Fabien Castan
e79a5cceb5
[core] retrieve all children uids on List/GroupAttributes descriptors
2017-10-31 12:10:16 +01:00
Fabien Castan
17e77f2e82
[core] add 'items' on CoreModel
2017-10-31 12:09:26 +01:00
Fabien Castan
b7175e219f
[tests] test multiview pipeline and List/GroupAttributes set/get
2017-10-31 12:08:58 +01:00
Fabien Castan
e0c52898cc
[tests] test uid on input params with/without link
2017-10-31 10:49:30 +01:00
Fabien Castan
1af40dac9e
[tests] remove useless main
2017-10-31 10:48:27 +01:00
Fabien Castan
2e035d5a7a
[multiview] add arguments to directly provide input images to the pipeline
2017-10-31 10:48:06 +01:00
Fabien Castan
46f6865a25
[core] implement uid computation for ListAttributes and GroupAttributes
2017-10-31 10:46:32 +01:00
Yann Lanthony
f1fdd34b6c
[graph] Attribute: robust UIDs for list of elements as value
...
Fix variable UIDs for non-exclusive choices, which could be affected by different string encodings
2017-10-30 19:23:50 +01:00
Yann Lanthony
7e2d37c819
[graph] fix Node status update from cache
...
updateStatusFromCache reset Node's status to NONE is status file does not exist, but does not save it on disk anymore.
2017-10-30 19:18:41 +01:00
Yann Lanthony
3b45ac1669
[tests] add tests on graph invalidation
2017-10-30 17:48:54 +01:00
Yann Lanthony
f051148d7a
[graph] update cacheDir property on load
...
use property setter instead of changing the value internally
2017-10-30 17:08:25 +01:00
Yann Lanthony
f8d9251c61
[aliceVision] Add Viewpoint parameter on CameraInit
2017-10-30 17:04:37 +01:00