@lru_cache(maxsize=1)
def __call__(self) -> gpd.GeoDataFrame:
    "Calculates all boundary edges for the mesh.\n\n        Parameters\n        ----------\n\n        Returns\n        -------\n        gpd.GeoDataFrame\n            Dataframe containing all boundary edges of the mesh in\n            the form of `shapely.geometry.LineString` for each\n            coordinate couple.\n\n        Notes\n        -----\n        The result of this method is cached, so that multiple calls\n        to it won't result in multiple calculations. If the mesh\n        is modified and the cache is not properly clear the calls\n        to this method can result in invalid return values.\n        "
    data = []
    for ring in self.mesh.hull.rings().itertuples():
        coords = ring.geometry.coords
        for i in range(1, len(coords)):
            data.append({'geometry': LineString([coords[(i - 1)], coords[i]]), 'bnd_id': ring.bnd_id, 'type': ring.type})
    return gpd.GeoDataFrame(data, crs=self.mesh.crs)
Calculates all boundary edges for the mesh.

Parameters
----------

Returns
-------
gpd.GeoDataFrame
    Dataframe containing all boundary edges of the mesh in
    the form of `shapely.geometry.LineString` for each
    coordinate couple.

Notes
-----
The result of this method is cached, so that multiple calls
to it won't result in multiple calculations. If the mesh
is modified and the cache is not properly clear the calls
to this method can result in invalid return values.
@lru_cache(maxsize=1)
def __call__(self) -> gpd.GeoDataFrame:
    "Calculates all boundary edges for the mesh.\n\n        Parameters\n        ----------\n\n        Returns\n        -------\n        gpd.GeoDataFrame\n            Dataframe containing all boundary edges of the mesh in\n            the form of `shapely.geometry.LineString` for each\n            coordinate couple.\n\n        Notes\n        -----\n        The result of this method is cached, so that multiple calls\n        to it won't result in multiple calculations. If the mesh\n        is modified and the cache is not properly clear the calls\n        to this method can result in invalid return values.\n        "
    data = []
    for ring in self.mesh.hull.rings().itertuples():
        coords = ring.geometry.coords
        for i in range(1, len(coords)):
            data.append({'geometry': LineString([coords[(i - 1)], coords[i]]), 'bnd_id': ring.bnd_id, 'type': ring.type})
    return gpd.GeoDataFrame(data, crs=self.mesh.crs)