from PytorchBoot.application import PytorchBootApplication
from runners.cad_close_loop_online_reg_strategy import CADCloseLoopOnlineRegStrategyRunner

@PytorchBootApplication("cad_register")
class AppCADRegister:
    @staticmethod
    def start():
        CADCloseLoopOnlineRegStrategyRunner("configs/cad_close_loop_config.yaml").register()
        
@PytorchBootApplication("cad_render")
class AppCADRender:
    @staticmethod
    def start():
        CADCloseLoopOnlineRegStrategyRunner("configs/cad_close_loop_config.yaml").render_data()
        
@PytorchBootApplication("cad_preprocess")
class AppCADPreprocess:
    @staticmethod
    def start():
        CADCloseLoopOnlineRegStrategyRunner("configs/cad_close_loop_config.yaml").preprocess_data() 

@PytorchBootApplication("cad_init_obj")
class AppCADPreprocess:
    @staticmethod
    def start():
        runner = CADCloseLoopOnlineRegStrategyRunner("configs/cad_close_loop_config.yaml")
        runner.register()
        runner.render_data()
        runner.preprocess_data()

@PytorchBootApplication("cad_cl")
class AppCADCloseLoopOnlineRegStrategy:
    @staticmethod
    def start():
        CADCloseLoopOnlineRegStrategyRunner("configs/cad_close_loop_config.yaml").run()
        