Commit graph

158 commits

Author SHA1 Message Date
Julien-Haudegond
ff7f8b3e36 [core/ui] add a locked property on nodes
Add locked property on core nodes and update UI in the same commit because both parts are very dependent for this change.
2020-08-11 13:08:47 +02:00
Fabien Castan
bab908d2eb Merge branch 'develop' into dev/nodesAndTaskManager 2020-07-30 10:56:19 +02:00
Julien-Haudegond
524a4ab629 [core] fix enabled parameter inside group and list 2020-07-29 11:32:52 +02:00
Julien-Haudegond
2d953d7319 [core] add enabled property on attributes
The new property "enabled" allows to define a lambda to dynamically enable/disable parameters.
Disabled parameters are not used in the uid, not exported to the command line and not visible in the interface.
2020-07-24 17:36:17 +02:00
Fabien Castan
91f53341bc warning fixes 2020-07-16 11:04:43 +02:00
Fabien Castan
396c285c76 [multiview] HDRI: add PanoramaPrepareImages in default HDRI pipeline
- update access to CameraInit from LdrToHdr nodes
- update PanoramaPrepareImages param names
2020-07-06 00:39:32 +02:00
Fabien Castan
082f9b5843 [core] correct the actions order when loading the project file
We now call applyExpr before updateInternals is called (triggered by setupProjectFile and/or end of GraphModification).
So the input parameters expressions/connections are up-to-date (after applyExpr) when updateInternals will evaluate the input/output parameters.
2020-06-29 12:53:11 +02:00
Fabien Castan
bbc56cfb31 [core] Add support for lambda function in Attribute desc value
Allows to dynamically configure the default value of the Attribute in python.
2020-06-28 17:39:50 +02:00
Fabien Castan
c214b48aa5 [core] fix Node.isComputed property 2020-06-23 14:25:50 +02:00
Fabien Castan
2f17e9aa80 Merge remote-tracking branch 'origin/develop' into dev/panoramaFisheye 2020-03-26 13:56:51 +01:00
Fabien Castan
0e606eef4e [ui] Add the notion of Node Documentation 2020-03-26 10:54:00 +01:00
Fabien Castan
4c736e8512 [core] Node.isComputed is now a property 2020-03-23 19:21:53 +01:00
Fabien Castan
9fe8d2b850
Merge pull request #783 from ChemicalXandco/sketchfab_upload_node
fix python nodes being blocked by log
2020-03-19 12:33:00 +01:00
Fabien Castan
517014faf6 [core] command line: subattributes of GroupAttribute can be used directly on command line 2020-03-11 12:14:08 +01:00
Fabien Castan
19d2f90554 [ui] ImageGallery: allow to visualize the list of HDR images created by LDRToHDR
Conflicts:
	meshroom/ui/reconstruction.py
2020-03-10 12:33:36 +01:00
Grégoire De Lillo
1f7663259a [core] compatibility : List of groups update is more flexible 2020-02-17 10:19:28 +01:00
ChemicalXandco
f75fc91436 fix python nodes being blocked by log
...when ran on command line with meshroom_photogrammetry or meshroom_compute
2020-02-07 22:47:27 +00:00
Fabien Castan
7f84097c24 [core] Option to make chunks optional 2020-02-05 12:35:59 +01:00
Fabien Castan
3edc35f013
Merge pull request #712 from ChemicalXandco/sketchfab_upload_node
Sketchfab upload node
2020-01-25 15:59:20 +01:00
Yann Lanthony
b883bd193b [core] taskManager: code cleanup 2020-01-24 18:46:32 +01:00
Yann Lanthony
991aca989b Merge develop into dev/nodesAndTaskManager 2020-01-24 14:54:08 +01:00
Yann Lanthony
a0ba44fbff
[core] desc.Node: add update/postUpdate hooks
Enable node descriptions to react before/after the invalidation of a node instance.
2019-12-13 19:26:42 +01:00
Fabien Castan
bbe40e0bc6
[ui] GraphEditor: use node label in duplicates tooltip 2019-11-29 11:34:15 +01:00
Lee Geertsen
5aea330400
Add nodes computed in renderfarm to Taksmanager on open scene 2019-11-29 11:34:10 +01:00
Lee Geertsen
01974c23ec
Make Task Manager with Nodes submitted to a render farm 2019-11-29 11:34:10 +01:00
Lee Geertsen
c00db25c23
Don't lock graph and node editor while computing nodes
Add possibilty to, while computing nodes:
add more nodes to the task manager,
edit, duplicate and remove nodes without breaking the tasks that are submitted
2019-11-29 11:34:10 +01:00
Lee Geertsen
51d6c18840
Create TaskManager with a task overview
Create a seperate class to handle the logic of computing nodes
+ An UI overview with all submitted nodes
2019-11-29 11:34:10 +01:00
ChemicalXandco
749fc154b1
more reliable way to find progress bar position in log file 2019-11-25 19:48:49 +00:00
ChemicalXandco
17ecf78064 use logger object directly
also allow progress bar to be used even while messages are added
2019-09-15 15:28:59 +01:00
ChemicalXandco
cd5beab5f4 expose verbose level on Publish node 2019-09-14 12:31:15 +01:00
ChemicalXandco
5ef33ef64c rely on standard logging object 2019-09-14 12:02:31 +01:00
ChemicalXandco
ad486e0c73 add LogManager class 2019-09-11 17:44:31 +01:00
Lee Geertsen
54ff012a04 Clear statistics when node has finished computing 2019-07-26 11:33:37 +02:00
Yann Lanthony
f6a42cb86e
[ui] Nodes status monitoring simplification
* store status file last modification time on NodeChunk
* ChunksMonitor: don't stop the underlying thread when changing chunks, only modify the list of monitored files + use a mutex for thread-safety
2019-07-24 18:02:29 +02:00
cclauss
09b28bbc2a
if v: 2019-05-14 12:30:37 +02:00
cclauss
d0c5a5ffb5
Avoid issue with use ==/!= to compare str, bytes, and int literals
[flake8](http://flake8.pycqa.org) testing of https://github.com/alicevision/meshroom on Python 3.7.1

$ __flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics__
```
./meshroom/core/node.py:461:34: F632 use ==/!= to compare str, bytes, and int literals
            if v is not None and v is not '':
                                 ^
./meshroom/core/node.py:480:34: F632 use ==/!= to compare str, bytes, and int literals
            if v is not None and v is not '':
                                 ^
2     F632 use ==/!= to compare str, bytes, and int literals
2
```
2019-04-18 10:30:57 +02:00
Yann Lanthony
2a0b695ea7 [core] more thorough compatibility issues detection
* add 'matchDescription' method on desc.Attribute.
* desc.ListAttribute/desc.GroupAttribute: 'matchDescription' ensure that value perfectly match element/group description. Enable recursive checking for child attributes.
* nodeFactory: detect DescriptionConflicts in pre-process pass by checking that serialized node's attributes perfectly match their descriptions
* CompatibilityNode.attributeDescFromNameAttribute: consider link expressions as valid values
* test_compatibility: more complete description conflicts unit testing
2019-02-01 16:03:21 +01:00
Yann Lanthony
905ed48cf9 [core] fix flake8 error
remove type annotations
2019-01-30 09:36:02 +01:00
Yann Lanthony
e80bdd1161 [core] Node: introduce 'globalStatus'
* add Node.globalStatus property: indicates the status of a Node based on the  status of its own NodeChunks
* remove obsolete 'statusNames' and 'getStatus' methods
2018-11-19 15:17:36 +01:00
Yann Lanthony
d2aba176dc [core] Node: add 'label' property
high-level label for nodes, without '_' and including index if > 1
2018-11-19 15:17:36 +01:00
Yann Lanthony
e2155ba962 [core][io] store nodes position in graph file
* increment file minor version (no incompatibility)
* nodeFactory: reload file position if available
2018-07-26 18:01:11 +02:00
Yann Lanthony
dfb0934ef4 [core] add node position property
Nodes can now be placed at a certain position
* add Position namedtuple
* expose 'position', 'x' and 'y' properties on BaseNode
2018-07-26 18:01:10 +02:00
Fabien Castan
bb0155ba42
Merge pull request #150 from alicevision/dev_versionCompatibility
Introduce version compatibility handling
2018-07-26 12:50:15 +02:00
Yann Lanthony
93dd055f72 [clean] fix variable names and typos
* node_factory & attribute_factory to camelCase
* fix depths variable in updateNodesTopologicalData
2018-07-26 12:11:43 +02:00
Yann Lanthony
e0ad807d84 [core] add Version class to help manipulate version names 2018-07-25 11:22:31 +02:00
Yann Lanthony
20be401110 [core] CompatibilityNode: use original serialized inputs if not in graph
renamed 'actualInputs' property to 'inputs', which returns the serialized inputs depending on whether the node belongs to a graph or not
2018-07-24 17:28:14 +02:00
Yann Lanthony
6bb70895f3 [core] remove ABCMeta metaclass for Python 2 compatibility
mixing ABCMeta and QObject inheritance is problematic when using Python 2
2018-07-24 15:06:15 +02:00
Fabien Castan
9e06fd9661 [core] generic functions to create "writing" filepath and rename the file
* only try to remove the file on windows
* only except for specific exception
* use the same functions to create the statistics file
2018-07-24 14:32:24 +02:00
Fabien Castan
c6531bcc7b [core] multiple trials to replace the status file to avoid file conflicts on windows
On Windows, attempting to remove a file that is in use causes an exception to be raised. So we may need multiple trials.
2018-07-21 14:50:07 +02:00
Yann Lanthony
f5d11a8a7a [node] CompatibilityNode: expose additional properties
* add 'issueDetails' to get a comprehensive text about the issue
2018-07-19 13:50:45 +02:00