mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-07-19 09:37:14 +02:00
[core] Add a property to ignore an attribute during the UID computation
By default, an attribute that belongs to the UID group 0 is taken into the node's UID computation independently from its value, as long as it is enabled. When such an attribute is added to a node's list of attributes, it automatically invalidates all computations made for this node prior to its addition. This commits adds a new attribute property, "uidIgnoreValue". This property determines whether the attribute must be taken into consideration during the node's UID computation: if the value of the attribute is the same as "uidIgnoreValue", then it should be ignored; otherwise, it should be taken into account. By default, "uidIgnoreValue" is set to "None", meaning that any attribute that may be considered during the UID computation will be taken into account. In the context of the internal attributes, "uidIgnoreValue" is set to empty string, so the "invalidation" attribute will not automatically invalidate 100% of the nodes from existing graphs until its value is set to a non-empty string.
This commit is contained in:
parent
6381371e7d
commit
311ab9cb40
3 changed files with 16 additions and 6 deletions
|
@ -143,6 +143,10 @@ class Attribute(BaseObject):
|
|||
self._enabled = v
|
||||
self.enabledChanged.emit()
|
||||
|
||||
def getUidIgnoreValue(self):
|
||||
""" Value for which the attribute should be ignored during the UID computation. """
|
||||
return self.attributeDesc.uidIgnoreValue
|
||||
|
||||
def _get_value(self):
|
||||
if self.isLink:
|
||||
return self.getLinkParam().value
|
||||
|
@ -333,6 +337,7 @@ class Attribute(BaseObject):
|
|||
node = Property(BaseObject, node.fget, constant=True)
|
||||
enabledChanged = Signal()
|
||||
enabled = Property(bool, getEnabled, setEnabled, notify=enabledChanged)
|
||||
uidIgnoreValue = Property(Variant, getUidIgnoreValue, constant=True)
|
||||
|
||||
|
||||
def raiseIfLink(func):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue