SequenceTransformKey

pydantic model xrfeitoria.data_structure.models.SequenceTransformKey[source]

Transform key model for object (actor/camera) in sequence.

Examples

1from xrfeitoria.data_structure.models import SequenceTransformKey as SeqTransKey
2key = SeqTransKey(
3    frame=0,
4    location=(0, 0, 0),
5    rotation=(0, 0, 0),
6    scale=(1, 1, 1),
7    interpolation='AUTO'
8)
Used in methods with suffix _with_keys, such as

Show JSON schema
{
   "title": "SequenceTransformKey",
   "description": "Transform key model for object (actor/camera) in sequence.\n\nExamples:\n\n    .. tabs::\n\n        .. tab:: define\n\n            .. code-block:: python\n                :linenos:\n\n                from xrfeitoria.data_structure.models import SequenceTransformKey as SeqTransKey\n                key = SeqTransKey(\n                    frame=0,\n                    location=(0, 0, 0),\n                    rotation=(0, 0, 0),\n                    scale=(1, 1, 1),\n                    interpolation='AUTO'\n                )\n\nUsed in methods with suffix ``_with_keys``, such as\n    - :meth:`Sequence.spawn_camera_with_keys <xrfeitoria.sequence.sequence_base.SequenceBase.spawn_camera_with_keys>`\n    - :meth:`Sequence.spawn_shape_with_keys <xrfeitoria.sequence.sequence_base.SequenceBase.spawn_shape_with_keys>`\n    - :meth:`SequenceUnreal.spawn_actor_with_keys <xrfeitoria.sequence.sequence_unreal.SequenceUnreal.spawn_actor_with_keys>`\n    - :meth:`SequenceBlender.import_actor_with_keys <xrfeitoria.sequence.sequence_blender.SequenceBlender.import_actor_with_keys>`\n    - :func:`ObjectUtils.set_transform_keys <xrfeitoria.object.object_utils.ObjectUtilsBlender.set_transform_keys>`\n    - ...",
   "type": "object",
   "properties": {
      "frame": {
         "description": "Frame number of the transform key, unit: frame.",
         "title": "Frame",
         "type": "integer"
      },
      "location": {
         "anyOf": [
            {
               "maxItems": 3,
               "minItems": 3,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Location of the object in the transform key, unit: meter.",
         "title": "Location"
      },
      "rotation": {
         "anyOf": [
            {
               "maxItems": 3,
               "minItems": 3,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Rotation of the object in the transform key, unit: degree.",
         "title": "Rotation"
      },
      "scale": {
         "anyOf": [
            {
               "maxItems": 3,
               "minItems": 3,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Scale of the object in the transform key.",
         "title": "Scale"
      },
      "interpolation": {
         "anyOf": [
            {
               "$ref": "#/$defs/InterpolationEnumUnreal"
            },
            {
               "$ref": "#/$defs/InterpolationEnumBlender"
            }
         ],
         "description": "Interpolation type of the transform key.",
         "title": "Interpolation"
      }
   },
   "$defs": {
      "InterpolationEnumBlender": {
         "description": "Keyframe interpolation enum of Blender.",
         "enum": [
            "BEZIER",
            "LINEAR",
            "CONSTANT"
         ],
         "title": "InterpolationEnumBlender",
         "type": "string"
      },
      "InterpolationEnumUnreal": {
         "description": "Keyframe interpolation enum of Unreal.",
         "enum": [
            "AUTO",
            "LINEAR",
            "CONSTANT"
         ],
         "title": "InterpolationEnumUnreal",
         "type": "string"
      }
   },
   "required": [
      "frame",
      "interpolation"
   ]
}

Fields:
field frame: int [Required]

Frame number of the transform key, unit: frame.

field interpolation: InterpolationEnumUnreal | InterpolationEnumBlender [Required]

Interpolation type of the transform key.

field location: Tuple[float, float, float] | None = None

Location of the object in the transform key, unit: meter.

field rotation: Tuple[float, float, float] | None = None

Rotation of the object in the transform key, unit: degree.

field scale: Tuple[float, float, float] | None = None

Scale of the object in the transform key.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.