from dataclasses import dataclass, field
import cadquery as Cq
from nhf.build import Model, TargetKind, target, assembly, submodel
import nhf.touhou.yasaka_kanako.onbashira as MO
import nhf.touhou.yasaka_kanako.mirror as MM
import nhf.utils

@dataclass
class Parameters(Model):

    onbashira: MO.Onbashira = field(default_factory=lambda: MO.Onbashira())
    mirror: MM.Mirror = field(default_factory=lambda: MM.Mirror())

    def __post_init__(self):
        super().__init__(name="yasaka-kanako")

    @submodel(name="onbashira")
    def submodel_onbashira(self) -> Model:
        return self.onbashira
    @submodel(name="mirror")
    def submodel_mirror(self) -> Model:
        return self.mirror


if __name__ == '__main__':
    import sys

    p = Parameters()
    if len(sys.argv) == 1:
        p.build_all()
        sys.exit(0)