Skip to main content
Version: 2026R1

ElementSelectionRule

class compolyx.ElementSelectionRule(graph, obj, parent=None)

Base class for rules. This acts as an interface to the cpp object of the rules. The base class implements \_py_update which is called after the cpp update. It sets the changed flag. Since NameGraph derives from Observable, observers can listen on changed.

In order to support csv_serialization, the classes have to implement a _dict method and a list named _csv_parameters. The \_dict method specifies which properties are written and \_csv_parameters specifies which parameters are read and how they are parsed. The keys in \_dict and the elements in \_parameters_csv have to be consistent. If the conversion from the string to an object is more than simple type conversion, it can be implemented in \_update_rule_from_csv.

Attributes

NameDescription
ElementSelectionRule.activeActive status of object
ElementSelectionRule.changedTriggers Observable to dispatch changed message
ElementSelectionRule.enabledWhether this object is currently enabled or not
ElementSelectionRule.extentextent of the rule
ElementSelectionRule.idID of object
ElementSelectionRule.include_rule_typeInclude type
ElementSelectionRule.is_dict_itemSpecifies whether the object is an item of a dict
ElementSelectionRule.is_list_itemSpecifies whether the object is an item of a list
ElementSelectionRule.link_pathRoot path of the current node in the tree for links to this object
ElementSelectionRule.nameName of object
ElementSelectionRule.parentParent object in tree
ElementSelectionRule.relative_rule_typeRelative type
ElementSelectionRule.root_pathRoot path of the current node in the tree
ElementSelectionRule.statusStatus of the object
ElementSelectionRule.status_changedBoolean flag which is set to true in C++ when up-to-date status of object changes
ElementSelectionRule.uidUID of object
ElementSelectionRule.vertexThrows an error if the object has been removed from the graph

Methods

NameDescription
ElementSelectionRule.find_parent(type)Steps up the tree and returns the first parent with given type
ElementSelectionRule.obj_exists()Checks if __obj still references the C++ object (i.e. has not been reset to None by self._delete) and exists in the graph
ElementSelectionRule.serialize_name_and_id()Helper function to serialize name and ID
ElementSelectionRule.serialize_rule_types()
ElementSelectionRule.update()
ElementSelectionRule.visit(visitor)Walk through the tree and let the visitor perform an action on every descendant node