44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
from pydantic import BaseModel, Field
|
|
from typing import List, Optional, Union, Dict, Tuple
|
|
|
|
|
|
|
|
class Camera(BaseModel):
|
|
idx: int = Field(
|
|
description="The index of the camera in the scene, starting from 0.",
|
|
)
|
|
|
|
active_shot_idxs: List[int] = Field(
|
|
description="The indices of the shots that the camera can film.",
|
|
)
|
|
|
|
parent_cam_idx: Optional[int] = Field(
|
|
default=None,
|
|
description="The index of the parent camera. If the camera has no parent, set this to None.",
|
|
)
|
|
|
|
parent_shot_idx: Optional[int] = Field(
|
|
default=None,
|
|
description="The index of the dependent shot. If the camera has no parent, set this to None.",
|
|
)
|
|
|
|
reason: Optional[str] = Field(
|
|
default=None,
|
|
description="The reason for the selection of the parent camera. If the camera has no parent, set this to None.",
|
|
)
|
|
|
|
parent_shot_idx: Optional[int] = Field(
|
|
default=None,
|
|
description="The index of the dependent shot. If the camera has no parent, set this to None.",
|
|
)
|
|
|
|
is_parent_fully_covers_child: Optional[bool] = Field(
|
|
default=None,
|
|
description="Whether the parent camera fully covers the child camera's content. If the camera has no parent, set this to None.",
|
|
)
|
|
|
|
missing_info: Optional[str] = Field(
|
|
default=None,
|
|
description="The missing information in the child shot that is not covered by the parent shot. If the parent shot fully covers the child shot, set this to None.",
|
|
)
|