Skip to content

create_track_points

CreateTrackPoints

Bases: SilhouetteCreator

Track Points

Source code in client/ayon_silhouette/plugins/create/create_track_points.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class CreateTrackPoints(plugin.SilhouetteCreator):
    """Track Points"""

    identifier = "io.ayon.creators.silhouette.trackpoints"
    label = "Track Points"
    description = __doc__
    product_type = "trackpoints"
    icon = "cubes"

    create_node_type = "TrackerNode"
    valid_node_types = {"TrackerNode", "RotoNode"}

    def get_attr_defs_for_instance(self, instance):
        node = instance.transient_data["instance_node"]
        items = [
            {"label": label, "value": tracker.id}
            for tracker, label in lib.iter_children(node)
            if isinstance(tracker, fx.Tracker)
        ]
        if not items:
            items.append({
                "label": "<No trackers found>",
                "value": None
            })

        attr_defs = [
            EnumDef(
                "trackers",
                label="Export trackers",
                items=items,
                tooltip="Select trackers to include in output. If none are"
                        " selected then all trackers will be included.",
                multiselection=True,
            )
        ]

        return attr_defs