LCOV - code coverage report
Current view: top level - src - insertedge.jl (source / functions) Hit Total Coverage
Test: on branch nothing Lines: 24 24 100.0 %
Date: 2025-07-10 13:12:25 Functions: 0 0 -

          Line data    Source code
       1           8 : function insertedge!(mesh::Mesh, h0::HHnd, h1::HHnd)
       2           8 :     @massert isused(mesh, face(mesh, h0))
       3           8 :     @massert face(mesh, h0) == face(mesh, h1)
       4             : 
       5           8 :      v0 = destination(mesh, h0)
       6           8 :      v1 = destination(mesh, h1)
       7             : 
       8           8 :      h2 = next(mesh, h0)
       9           8 :      h3 = next(mesh, h1)
      10             : 
      11           8 :      h4 = _create_edge(mesh, v0, v1)
      12           8 :      h5 = opposite(mesh, h4)
      13             : 
      14           8 :      f0 = face(mesh, h0)
      15           8 :      _sethalfedge!(mesh, f0, h0)
      16             : 
      17           8 :      f1 = _create_face(mesh, h1)
      18             : 
      19           8 :     _setnexthalfedge!(mesh, h0, h4)
      20           8 :     _setnexthalfedge!(mesh, h4, h3)
      21           8 :     _setface!(mesh, h4, f0)
      22             : 
      23           8 :      _setnexthalfedge!(mesh, h1, h5)
      24           8 :      _setnexthalfedge!(mesh, h5, h2)
      25           8 :      h = h2
      26          24 :      while true
      27          24 :          _setface!(mesh, h, f1)
      28          24 :          h = next(mesh, h)
      29             : 
      30          24 :          (h != h2) || break
      31          16 :      end
      32             : 
      33           8 :      h4
      34             : end
      35             : 
      36             : """
      37             :     h = insertedge!(mesh, h0, h1) :: HHnd
      38             : 
      39             : Insert edge connecting [`destination`](@ref)s `v0` and `v1` of `h0`
      40             : and `h1`. Returns half-edge from `v0` to `v1`.
      41             : 
      42             : !!! warning "Precondition"
      43             :     The half-edges `h0` and `h1` must be part of the same face, i.e.,
      44             :     `face(mesh, h0) == face(mesh, h1)`.
      45             : 
      46             : See also [`removeedge!`](@ref)
      47             : """ insertedge!

Generated by: LCOV version 1.16