def __init__(self, mesh: jigsaw_msh_t) -> None:
    'Initialize Euclidean 2D mesh object.\n\n        Parameters\n        ----------\n        mesh : jigsaw_msh_t\n            The underlying jigsaw_msh_t object to hold onto mesh data.\n\n        Raises\n        ------\n        ValueError\n            If number of mesh dimensions is not equal to ``2``.\n        '
    super().__init__(mesh)
    self._boundaries = None
    if (mesh.ndims != (+ 2)):
        raise ValueError(f'Argument mesh has property ndims={mesh.ndims}, but expected ndims=2.')
    if (len(self.msh_t.value) == 0):
        self.msh_t.value = np.array(np.full((self.vert2['coord'].shape[0], 1), np.nan))
Initialize Euclidean 2D mesh object.

Parameters
----------
mesh : jigsaw_msh_t
    The underlying jigsaw_msh_t object to hold onto mesh data.

Raises
------
ValueError
    If number of mesh dimensions is not equal to ``2``.
def __init__(self, mesh: jigsaw_msh_t) -> None:
    'Initialize Euclidean 2D mesh object.\n\n        Parameters\n        ----------\n        mesh : jigsaw_msh_t\n            The underlying jigsaw_msh_t object to hold onto mesh data.\n\n        Raises\n        ------\n        ValueError\n            If number of mesh dimensions is not equal to ``2``.\n        '
    super().__init__(mesh)
    self._boundaries = None
    if (mesh.ndims != (+ 2)):
        raise ValueError(f'Argument mesh has property ndims={mesh.ndims}, but expected ndims=2.')
    if (len(self.msh_t.value) == 0):
        self.msh_t.value = np.array(np.full((self.vert2['coord'].shape[0], 1), np.nan))