diff --git a/docs/source/api/python/tanks.rst b/docs/source/api/python/tanks.rst index 05a4398..b8bb7c8 100644 --- a/docs/source/api/python/tanks.rst +++ b/docs/source/api/python/tanks.rst @@ -99,6 +99,21 @@ Tank Longitudinal free surface moment (m⁴). + **FSM Configuration** + + .. py:attribute:: fsm_mode + :type: str + + Current FSM calculation mode ('actual', 'maximum', 'fixed'). + + .. py:method:: set_fsm_mode(mode, t=None, l=None) + + Sets the free surface moment calculation mode. + + :param mode: Mode string ('actual', 'maximum', 'fixed') + :param t: Transverse FSM (m^4), required if mode is 'fixed' + :param l: Longitudinal FSM (m^4), required if mode is 'fixed' + **Geometry** .. py:method:: get_vertices() diff --git a/python/navaltoolbox/navaltoolbox.pyi b/python/navaltoolbox/navaltoolbox.pyi index ade5811..ffa271e 100644 --- a/python/navaltoolbox/navaltoolbox.pyi +++ b/python/navaltoolbox/navaltoolbox.pyi @@ -1391,6 +1391,21 @@ class Tank: def free_surface_moment_l(self) -> float: """Returns the longitudinal free surface moment in m⁴.""" ... + + @property + def fsm_mode(self) -> str: + """Returns the current FSM calculation mode ('actual', 'maximum', 'fixed').""" + ... + + def set_fsm_mode(self, mode: str, t: float | None = None, l: float | None = None) -> None: + """Set the FSM calculation mode. + + Args: + mode: Mode string ('actual', 'maximum', 'fixed'). + t: Transverse FSM (m^4) (required for 'fixed' mode). + l: Longitudinal FSM (m^4) (required for 'fixed' mode). + """ + ... def get_vertices(self) -> List[Tuple[float, float, float]]: """Returns tank container vertices [(x,y,z)]."""