Metahuman_DNA_Calibration/dna_viewer/config/analog_gui.py
2022-11-29 14:25:24 +01:00

214 lines
5.8 KiB
Python

from dataclasses import dataclass, field
@dataclass
class AnalogGui:
"""
A class used to represent the analog gui config
Attributes
----------
@type gui_path: str
@param gui_path: The location of the gui file
@type facial_root_joint_name: str
@param facial_root_joint_name: The name of the facial root joint
@type left_eye_joint_name: str
@param left_eye_joint_name: The name of the left eye joint
@type right_eye_joint_name: str
@param right_eye_joint_name: The name of the right eye joint
@type central_driver_name: str
@param central_driver_name: The name of the central driver
@type left_eye_driver_name: str
@param left_eye_driver_name: The name of the left eye driver
@type right_eye_driver_name: str
@param right_eye_driver_name: The name of the right eye driver
@type central_aim: str
@param central_aim: The name of the central aim
@type le_aim: str
@param le_aim: The name of the left eye aim
@type re_aim: str
@param re_aim: The name of the right eye aim
"""
gui_path: str = field(default=None)
facial_root_joint_name: str = "FACIAL_C_FacialRoot"
left_eye_joint_name: str = "FACIAL_L_Eye"
right_eye_joint_name: str = "FACIAL_R_Eye"
central_driver_name: str = "LOC_C_eyeDriver"
left_eye_driver_name: str = "LOC_L_eyeDriver"
right_eye_driver_name: str = "LOC_R_eyeDriver"
left_eye_aim_up_name: str = "LOC_L_eyeAimUp"
right_eye_aim_up_name: str = "LOC_R_eyeAimUp"
central_aim: str = "GRP_C_eyesAim"
le_aim: str = "GRP_L_eyeAim"
re_aim: str = "GRP_R_eyeAim"
def with_gui_path(self, gui_path: str) -> "AnalogGui":
"""Set the gui path
@type gui_path: str
@param gui_path: The location of the gui file
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.gui_path = gui_path
return self
def with_facial_root_joint_name(self, joint_name: str) -> "AnalogGui":
"""Set the facial root joint name
@type joint_name: str
@param joint_name: The value to set the facial root joint name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.facial_root_joint_name = joint_name
return self
def with_left_eye_joint_name(self, joint_name: str) -> "AnalogGui":
"""Set the left eye joint name
@type joint_name: str
@param joint_name: The value to set the left eye joint name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.left_eye_joint_name = joint_name
return self
def with_right_eye_joint_name(self, joint_name: str) -> "AnalogGui":
"""Set the right eye joint name
@type joint_name: str
@param joint_name: The value to set the right eye joint name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.right_eye_joint_name = joint_name
return self
def with_central_driver_name(self, driver_name: str) -> "AnalogGui":
"""Set the central driver name
@type driver_name: str
@param driver_name: The value to set the central driver name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.central_driver_name = driver_name
return self
def with_left_eye_driver_name(self, driver_name: str) -> "AnalogGui":
"""Set the left eye driver name
@type driver_name: str
@param driver_name: The value to set the left eye driver name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.left_eye_driver_name = driver_name
return self
def with_right_eye_driver_name(self, driver_name: str) -> "AnalogGui":
"""Set right eye driver name
@type driver_name: str
@param driver_name: The value to set the left eye driver name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.right_eye_driver_name = driver_name
return self
def with_left_eye_aim_up_name(self, name: str) -> "AnalogGui":
"""Set the left eye aim up name
@type name: str
@param name: The value to set the left eye aim up name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.left_eye_aim_up_name = name
return self
def with_right_eye_aim_up_name(self, name: str) -> "AnalogGui":
"""Set the right eye aim up name
@type name: str
@param name: The value to set the right eye aim up name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.right_eye_aim_up_name = name
return self
def with_central_aim(self, name: str) -> "AnalogGui":
"""Set the central aim name
@type name: str
@param name: The value to set the central aim name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.central_aim = name
return self
def with_left_eye_aim(self, name: str) -> "AnalogGui":
"""Set the left eye aim name
@type name: str
@param name: The value to set the left eye aim name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.le_aim = name
return self
def with_right_eye_aim(self, name: str) -> "AnalogGui":
"""Set the right eye aim name
@type name: str
@param name: The value to set the central aim name to
@rtype: AnalogGui
@returns: The instance of the changed object
"""
self.re_aim = name
return self