wolfhece.channel_rough_ramp =========================== .. py:module:: wolfhece.channel_rough_ramp .. autoapi-nested-parse:: Author: HECE - University of Liege, Pierre Archambeau Date: 2024 Copyright (c) 2024 University of Liege. All rights reserved. This script and its content are protected by copyright law. Unauthorized copying or distribution of this file, via any medium, is strictly prohibited. Module Contents --------------- .. py:class:: BreachElement Class representing a breach element with its properties. .. py:attribute:: curvilinear_position :type: float .. py:attribute:: width :type: float .. py:attribute:: depth :type: float .. py:class:: Channel(idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False) Bases: :py:obj:`wolfhece.synthetic_dike.SyntheticDike` .. autoapi-inheritance-diagram:: wolfhece.channel_rough_ramp.Channel :parts: 1 :private-bases: Channel class based on a trace vector, width of the sides (left and right) and lateral slopes. .. py:attribute:: _triangulation :value: None .. py:attribute:: _zones .. py:attribute:: _ds :value: 1.0 .. py:method:: create_from_slopes(trace: wolfhece.PyVertexvectors.vector, slope_left: float, slope_right: float, width_left: float, width_right: float, zmin: float, zmax: float, ds: float) Create the rough ramp triangulation based on the trace vector and the width of the dike. :param trace: Trace vector of the dike :param slope_left: Slope of the dike on the left side [slope = dz/dx] :param slope_right: Slope of the dike on the right side [slope = dz/dx] :param width_left: Width of the dike on the left side [m] :param width_right: Width of the dike on the right side [m] :param zmin: Minimum elevation of the dike [m] :param zmax: Maximum elevation of the dike [m] :param ds: Distance for rebinning [m] .. py:method:: create_from_shape(trace: wolfhece.PyVertexvectors.vector, shape: wolfhece.PyVertexvectors.vector, ds: float) create the rough ramp triangulation based on the trace vector and the shape vector :param trace: Trace vector of the dike :param shape: Transversal shape of the dike in (s,z) coordinates, s=0.0 is on the trace vector, elevations are relative to the trace vector :param ds: Distance for rebinning [m] .. py:class:: RoughRamp(idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False) Bases: :py:obj:`Channel` .. autoapi-inheritance-diagram:: wolfhece.channel_rough_ramp.RoughRamp :parts: 1 :private-bases: Rough ramp class based on a trace vector, width of the sides (left and right) and lateral slopes. .. py:attribute:: _rough_elements :type: list[wolfhece.synthetic_dike.SyntheticDike] .. py:attribute:: _breach_elements :type: list[RoughRamp] .. py:attribute:: _triangulation :value: None .. py:attribute:: _zones .. py:attribute:: _ds :value: 1.0 .. py:method:: _add_rough_element(shape_horiz: wolfhece.PyVertexvectors.vector, shape_cs: wolfhece.PyVertexvectors.vector, ds: float | None = None, rotation_angle: float = 0.0, translation_vertex: wolfhece.PyVertexvectors.vector = None) Add rough element :param shape_horiz: Horizontal shape of rough elements (optional) :param shape_cs: Cross-sectional shape of rough elements (optional) :param ds: Distance for rebinning (optional) .. py:method:: _add_breach_element(breach: BreachElement, middle: wolfhece.PyVertexvectors.wolfvertex, orientation: wolfhece.PyVertexvectors.wolfvertex, length: float) Create a "dike" representing a breach element and add it to the list. :param breach: BreachElement object containing breach properties :param middle: Middle point of the breach element :param orientation: Orientation vector of the breach element :param length: Length of the breach element along the orientation [m] .. py:method:: add_rough_elements_along_trace(shape_horiz: wolfhece.PyVertexvectors.vector = None, shape_cs: wolfhece.PyVertexvectors.vector = None, spacing: float = 10.0, reset: bool = True, ds: float | None = None, breach: BreachElement = None, decal_each: float = 1.0) Add rough elements along the dike trace :param shape_horiz: Horizontal shape of rough elements (optional) :param shape_cs: Cross-sectional shape of rough elements (optional) :param spacing: Spacing between rough elements along the trace [m] :param reset: If True, reset existing rough elements before adding new ones :param ds: Distance for rebinning (optional) :param breach: BreachElement object containing breach properties (optional) :param decal_each: Lateral offset for breach elements to alternate sides [m] .. py:property:: triangulations_above :type: list[wolfhece.PyVertexvectors.Triangulation] List of triangulations of the rough elements :return: List of triangulations .. py:property:: triangulations_rough :type: list[wolfhece.PyVertexvectors.Triangulation] List of triangulations of the rough elements :return: List of triangulations .. py:property:: triangulations_below :type: list[wolfhece.PyVertexvectors.Triangulation] List of triangulations of the breach elements :return: List of triangulations .. py:property:: triangulations :type: tuple[list[wolfhece.PyVertexvectors.Triangulation], list[str]] List of all triangulations :return: List of triangulations