Skip to content

collect_members

Collect instance members.

CollectMembers

Bases: InstancePlugin

Collect Set Members.

Source code in client/ayon_max/plugins/publish/collect_members.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class CollectMembers(pyblish.api.InstancePlugin):
    """Collect Set Members."""

    order = pyblish.api.CollectorOrder + 0.01
    label = "Collect Instance Members"
    hosts = ['max']

    def process(self, instance):
        if instance.data["productBaseType"] in FILTER_PRODUCT_BASE_TYPES:
                self.log.debug(
                    "Skipping Collecting Members for "
                    f"{instance.data['productBaseType']} product base type."
                )
                return

        elif instance.data.get("instance_node"):
            container = rt.GetNodeByName(instance.data["instance_node"])
            container_modifier = container.modifiers[0]
            ayon_data = get_ayon_data(container_modifier)
            instance.data["members"] = [
                member.node for member in ayon_data.all_handles
            ]