from enum import Enum

from pydantic import BaseModel

from datagen_protocol.config import conf
from datagen_protocol.schema import fields
from datagen_protocol.schema.d3 import Point, Rotation


class LightType(str, Enum):
    NIR = "nir"


class Light(BaseModel):
    light_type: LightType
    beam_angle: float = fields.numeric(conf.light.beam_angle)
    brightness: float = fields.numeric(conf.light.brightness)
    falloff: float = fields.numeric(conf.light.falloff)
    location: Point = fields.point(conf.light.location)
    rotation: Rotation = fields.rotation(conf.light.rotation)
