# DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/python/mod.rs
# Based on "crates/store/re_sdk_types/definitions/rerun/components/transform_frame_id.fbs".

# You can extend this class by creating a "TransformFrameIdExt" class in "transform_frame_id_ext.py".

from __future__ import annotations

from .. import datatypes
from .._baseclasses import (
    ComponentBatchMixin,
    ComponentMixin,
)

__all__ = ["TransformFrameId", "TransformFrameIdBatch"]


class TransformFrameId(datatypes.Utf8, ComponentMixin):
    """
    **Component**: A string identifier for a transform frame.

    Transform frames may be derived from entity paths to refer to Rerun's implicit
    entity path driven hierarchy which is defined via [`archetypes.Transform3D`][rerun.archetypes.Transform3D], [`archetypes.Pinhole`][rerun.archetypes.Pinhole] etc..
    These implicit transform frames look like `tf#path/to/entity`.

    Note that any [`archetypes.Transform3D`][rerun.archetypes.Transform3D]s logged with both `parent_frame` and `child_frame` set
    describes a relationship between these parent and child transform frames, **not** the transform frame
    that the entity path may be using (defined by an [`archetypes.CoordinateFrame`][rerun.archetypes.CoordinateFrame]).
    """

    _BATCH_TYPE = None
    # You can define your own __init__ function as a member of TransformFrameIdExt in transform_frame_id_ext.py

    # Note: there are no fields here because TransformFrameId delegates to datatypes.Utf8


class TransformFrameIdBatch(datatypes.Utf8Batch, ComponentBatchMixin):
    _COMPONENT_TYPE: str = "rerun.components.TransformFrameId"


# This is patched in late to avoid circular dependencies.
TransformFrameId._BATCH_TYPE = TransformFrameIdBatch  # type: ignore[assignment]
