<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Algorithm for fixing singular defects of polygon meshes based on Half-Edge Data structure</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>nylo Shovh</string-name>
          <email>dshovhelia@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sоkоlоvа</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Oles Honchar Dnipro National University</institution>
          ,
          <addr-line>Gagarina av., 72, Dnipro, 49005</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1884</year>
      </pub-date>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The problem of the occurrence of singular defects in the creation of 3D models in polygonal meshes due to the peculiarities of the Half-Edge Data structure is considered. An algorithm for detecting defects in a model based on half-edge structures and mesh recovery is proposed. Software implementation of the method allows to create a model based on the source data without the formation of new defects. Appropriate tools have been developed for benchmarking, and results are presented.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>3D printing</kwd>
        <kwd>3D models</kwd>
        <kwd>polygonal mesh</kwd>
        <kwd>singular defect</kwd>
        <kwd>HalfEdge Data Structure</kwd>
        <kwd>non-manifold elements</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Additive Technologies (for example, three-dimensional or 3D printing) is a form of
additive manufacturing technology where a three-dimensional object is created by
imposing consecutive layers of material (printing, growing) according to the digital
model. Digital 3D models are key components of this technology, and each specific
program that deals with a 3D geometry has its quality requirements that limit the class
of acceptable and supported models. In most cases, visualization is just one of many
steps that make up the life cycle of a digital 3D model. 3D models need to be
analyzed and processed using advanced algorithms, which usually have strict
requirements for the quality and integrity of their input data. Adapting imperfect 3D models
to these requirements is important.</p>
      <p>
        Polygonal and triangular meshes are now a de facto standard in most 3D modeling
areas. Polygonal meshes are directly supported by accelerated graphics equipment,
which facilitated their expansion and use [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1-4</xref>
        ]. Most graphic formats commonly used
for 3D model sharing (OFF, VRML, PLY) encode the surface mesh using indexed
sets of faces. However, these file formats do not guarantee the proper simplicity
complex, since they can easily encode non-manifolds and/or non-oriented polygons,
isolated elements, and several other elements that are often the source of problems.
      </p>
      <p>Copyright © 2020 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).</p>
      <p>Formal problem statement
3D printing is one of the fastest growing technologies that captured many spheres
of human life and has become their indispensable core, in particular, such as
architecture, medicine and mechanical engineering. Models is a basis for 3D printing.
Primitive models cannot display the whole variety of printed products, and modeling of
more complex models based on a simplest one can cause a number of defects. The
latter, may lead to models that could not exist in the real world. The urgent issue is the
timely detection of such defects, development of algorithms for model fixation,
methods restoration of polygonal meshes and their software implementation in existing
tools.
3
3.1</p>
    </sec>
    <sec id="sec-2">
      <title>Literature review</title>
      <sec id="sec-2-1">
        <title>Defects in the representation of three-dimensional models</title>
        <p>
          Specialized computer-aided design (CAD) systems are used to model the objects,
which are based on a particular internal structure of the model representation. Move
an object from one system to another or changing their representation can be
completely unpredictable, which leads to the appearance of topological defects (defects of
local connections) and consequently to geometric defects [
          <xref ref-type="bibr" rid="ref1 ref5">1,5</xref>
          ], without any
possibility of their identification. Three-dimensional scanning of real-world objects can be
accompanied by many defects, which are for the most part classified as geometric [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
Such situations are unacceptable because they lead to a violation of the integrity of
the printed object.
1. Local connectivity where a set of triangular polygons encoded in a file does not
form a combinatorial manifold simplex complex. Correcting such problems
depends largely on learning the available input geometry and most often involves
creating new geometry. The following defects include [
          <xref ref-type="bibr" rid="ref1 ref5">1,5</xref>
          ]:
        </p>
        <p>Isolated Vertices where a vertex that is not an element of any other simplex of a
mesh. Such vertices can often be simply ignored and if necessary, be removed very
easily. Many existing tools provide manual or automatic procedures for this.</p>
        <p>Dangling Edges where edges that do not have incident triangles. A common
strategy is to simply ignore or remove the edges. Edges may also be used by some
approaches as a useful source of information about the assumed basic geometry to
recover.</p>
        <p>Singular (complex, non-manifold) Edges where more than two polygons have a
common edge. Since the condition of the combinatorial set is required in several
application contexts, there is a strong call for solutions that transform such a mesh into a
combinatorial manifold. This problem is not as easy to solve as in a case of isolated
vertices or edges because of the inherent ambiguity.</p>
        <p>
          Singular Vertices where the vertex is not manifold in the topology of the abstract
simplicial complex. Detecting such vertices is more difficult than detecting singular
edges. If it is very important to calculate the number of incident triangles for the
edges, then it is necessary to calculate the number of connected components in the
vicinity for the vertices. Solutions to this kind of problem are usually based on the
duplication of one vertex, after which each component of the neighborhood should be
reassigned to one of the copies.
2. Global Topology (general topological characteristics of the surface, including the
number connected components, the genus, the number of cavities and orientation)
[
          <xref ref-type="bibr" rid="ref1 ref5">1,5</xref>
          ]:
        </p>
        <p>
          Topological Noise [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] represents a situation when reconstructing a surface, starting
with point clouds or when removing an isosurface from 3D images, tiny "tunnels" that
were not present in the original object are introduced into the constructed digital
model due to the effects of overlay or discrete noise basic data.
        </p>
        <p>
          Inconsistent Orientation where the order of the sequences of vertex indices
indicates the orientation of the polygon. To ensure full visibility across all imaging
systems, it is necessary to provide a unique consistent orientation for all mesh polygons
by selecting a seed surface and extending the orientation to adjacent faces. However,
some configurations are essentially not oriented, which means that, the system must
necessarily cut the surface for consistent orientation.
3. Geometric defects where the geometric realization of an abstract simplicial
complex is considered. Geometric defects also relate to the characterized position of
the vertices. This family is further complicated by the need to handle continuous
coordinates and intersections, which (for efficiency reasons) must be expressed and
processed with finite precision arithmetic, which usually leads to reliability
problems. The geometric effects include the following [
          <xref ref-type="bibr" rid="ref1 ref5">1,5</xref>
          ]:
        </p>
        <p>Surface Holes and Gaps. When scanning an object using standard scanners and
designing a surface using standard CAD systems, adjacent patches are separated by
unwanted holes due to the features of the equipment and displacement of tessellation
patches, which must be compensated. Such steps are known as closing the gap (the
area between two triangulated surface spots that must be permanently connected but
not associated with the gap) and filling the holes (undesirably missing part of the
surface in the triangulated patch). The main difference between the two cases is the
connection of their boundaries. The boundary of the gap usually consists of two (or
more) disconnected chains of edges. The border of the hole usually consists of one or
more closed edge loops.</p>
        <p>
          Degenerate Elements. Degenerate triangles are zero-area triangles, and they are a
source of many problems for many applications, since many useful objects (ordinary
vectors, circles, bar-centric coordinates) cannot be calculated on such triangles.
Applications that specialize in calculating the above objects (for example, finite element
analysis or Delaunay refinement implemented in the freely available Triangle package
[
          <xref ref-type="bibr" rid="ref5 ref8">5,8</xref>
          ]) fail when the mesh contains degenerate triangles or becomes unstable when it
contains nearly degenerate triangles.
        </p>
        <p>Self-intersections. In several application contexts, it is assumed that the input mesh
represents the boundary of some solid volume, and therefore cannot self-intersect.
Although it is relatively easy to test the mesh for self-intersections, solving them is a
difficult problem due to inherent ambiguities. Self-intersecting meshes are typically
generated by multi-patch mosaics, mesh deformation, assembly of many parts without
care, or by combining trays reconstructed from partial scanning of a 3D object. Due to
ambiguity, there is no common strategy for solving this problem.</p>
        <p>Sharp Feature Chamfering. Most restoration and contouring methods limit each
sample or vertex to a specific line or curve, the position of which is completely
determined by the pre-set pattern. In most cases, such a pattern cannot be adjusted so
that it coincides with the sharp edges and angles of the model and, therefore, virtually
none of the specimens rests on such sharp features. This leads to the imposition of
artifacts, where sharp edges and angles of the original shape are removed by the
sampling process and replaced by unevenly triangulated chamfers, which in turn leads to
poor visualization and high distortion;</p>
        <p>Data Noise. Each scan tool has a finite precision. Thus, the output of the sample
model contains additive noise from different sources. The main problem is to remove
noise while maintaining the morphology of the main sampling surface, with particular
attention to high-frequency details such as angles, edges, or other sharp features.
3.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Methods of mesh repairing</title>
        <p>
          Non-manifold meshes, which contain singular edges and vertices, can be classified
into two classes: those that bind so-called regular sets and those that do not have
regular sets [
          <xref ref-type="bibr" rid="ref5 ref9">5, 9</xref>
          ]. The former are still well defined by the continuous volume, down to the
singular contacts on the non-manifold edges and vertices. Singular edges and vertices
are often deliberately created to avoid duplication of vertices and for the continued
need to hold these duplicate vertices sequentially. In a general case (for example,
meshes containing singular edges with an odd number of incident faces), which
usually has ambiguities, specialized or global methods are required.
        </p>
        <p>The two algorithms proposed by Gueziec at Al. [10, 11] transform meshes that
restrict non-manifold regular sets into sets of combinatorially manifold meshes. Strictly
speaking, a closed-mesh mesh can be a regular set only if it has no self-intersections.
However, they are only bonded and therefore can also handle self-intersecting
meshes. After identifying a singular edge having 2n incident faces, it splits into n
multirow edges having 2 faces each. Such representation of marginal diversity may still
contain separate vertices that must be identified and duplicated.</p>
        <p>Rossignac and Cardoze [12] proposed a strategy for performing the minimum
number of such duplications. The approach introduces additional operations to merge
the edge edges of the mesh section along singular edges or by simply joining the
border (clamping) or stitching adjacent curves, and thus reducing the number of locking
connected components.</p>
        <p>
          Extensions of these works have been studied for higher dimensions by De Floriani
et al. [13-16], who propose to retain some of the innocuous features as long as the
model remains a initial quasi-manifold model, which is a weaker condition than a
manifold one. For the individual case of three dimensions, Attene [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] performed a
detailed analysis of existing algorithms of restoring all types of defects for polygonal
meshes, according to efficiency and proposed two algorithms for removing features
from tetrahedral meshes. One algorithm offers combinatorial manifolds and the other
prioritizes geometry. Any non-degenerate mesh that restricts regular recruitment can
be tetrahedroned and processed.
        </p>
        <p>Wang Zengbo [17] presents algorithms for the rapid recovery of triangular meshes
imported from STL files.</p>
        <p>Jixin Tan and Jianxun Chen [18] describe generalized algorithms for eliminating
singular defects. The latter approach involves splitting models connected by singular
vertices or complex edges into two independent objects.</p>
        <p>However, it should be kept in mind that due to topology, a half-edge data structure,
does not allow the creation of singular defects, which leads to the formation of defects
of another type and the inability to determine the initial ones.
3.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Typical structures for description three-dimensional models</title>
        <p>
          Objects created using polygonal meshes should store different types of elements
such as vertices, edges, faces, polygons and surfaces. Polygonal meshes can be
represented in a variety of ways using different methods of storing vertices, edges, and
faces. These include the following [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]:
• List of faces: description of faces is made by pointers to the list of vertices.
• Winged View: Each point of an edge points to two vertices, two faces, and four
(clockwise and anti-clockwise) edges to which it belongs. Large memory is required
for storing mesh description data.
        </p>
        <p>• Half-edged meshes: the method is similar to a winged view, except that only half
of the edge is traversed.</p>
        <p>• Four-edged meshes that hold edges, half-edges, and vertices without any
indication of polygons. Polygons are not explicitly expressed in the description, and can be
calculated bypassing the structure. Memory requirements are similar to half-edge
meshes.</p>
        <p>• A table of angles that stores vertices in a predefined table, and the bypass of the
table implicitly specifies polygons. Table of angels do not feed the mesh completely.
Most meshes require multiple corner tables (triangles).</p>
        <p>• Vertex description: Only vertices that point to other vertices are represented. The
edge and edge information are not explicit in this view. However, the simplicity of the
presentation allows to perform many effective operations over the mesh.</p>
        <p>Each presentation has its advantages and disadvantages.</p>
        <p>The choice of data structure is determined by the application, required
performance, size of the data, and operations that to be performed. Compact, simple structures
are required for hardware rendering. Low-end APIs such as DirectX and OpenGL
usually include a table of angles (triangles).</p>
        <p>
          Half-Edge Data structure is based on a principle of splitting an edge into two
multidirectional halves. Each of these halves is a basic element and stores a topology in
itself, which allows to manipulate a polygonal mesh. According to the definition of
this structure, a model should not contain singular vertices and/or complex edges,
since creating a connection between such elements is impossible with a basic
interpretation [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>Singular defects often occur in the following situations:
1. The process of folding vertices.
2. Boolean operations on objects.
3. Errors of tessellation algorithms (faceting of a solid-state model).</p>
        <p>4. Changing the structure of the presentation from a more primitive (vertex
representation) to a more complex (half-edge data structure).</p>
        <p>5. Duplicate elimination in trivial data structures.</p>
        <p>One common representation of data structures in CAD systems is the spreadsheet,
which has advantages in terms of memory savings and ease of rendering. Such an
implementation is presented in OpenMesh [19]. However, due to the lack of
connection in such a structure, it can contain defects of any type, and attempting to create
such a model in a half-edge structure can lead to its destruction. Each polygon
consists of half-edges and contains so-called pointers to half-edges from the general table
structure.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>An algorithm for creating a polygon model in OpenMesh</title>
    </sec>
    <sec id="sec-4">
      <title>Modified algorithm for model polygon creation</title>
      <p>One of the peculiarities of implementing a half-edge data structure in Open-Mesh
is the presence of edges that allow iterating over pairs of half-edges, although the
edges themselves do not exist. If the general method requires counting the falling
edges of a selected edge, is it possible to create an edge that will not be a structural
unit of the model but will retain a link between all contenders? In other words, it is a
bridge that connects all contenders for a given edge. It is an edge-bridge that stores
the pointers of each half-edge attached to it.</p>
      <p>Suppose that there is an edge between two points along which two half-edges pass
(Fig. 1). In that case, the edge knows about its pair of half-edges, or a contender
container consists of 2 half-edges. In this case, when trying to add one more half-edge, ie,
to combine more than two polygons in one edge, the outer half-edge of the attached
polygon will be added to the claim container (Fig. 2).</p>
      <p>Given the fact that each half-edge can have only one partner, in that case, every 2n
contender will form n pairs. From all of the above, the following changes can made to
the algorithm of creating a polygon:</p>
    </sec>
    <sec id="sec-5">
      <title>Implementation of the modified algorithm</title>
      <p>Object-oriented bridge implementation based on modified algorithm and
implementation of this bridge in OpenMesh allows to eliminate defects in models based on
half-edge data structure [20]. Many algorithms for preliminary analysis of meshes, at
the stage of determining the integrity of the model, as well as cleaning it from debris,
can lead to holes.</p>
      <p>Let's look at the example of building an OpenMesh model. The original model was
created in Solid Works 2018 SP3 (Fig.3,a). As can be seen in a figure, the model has
stiffeners. The model loaded as a Triangle Soup model does not carry any information
other than visual shape and cannot be used for 3D printing (Fig.3,b.).</p>
      <p>Stiffener
a)</p>
      <p>b)</p>
      <p>When trying to create a model using OpenMesh, defects arise that are unacceptable
with 3D printing (Fig.4).</p>
      <p>This model is non-manifold and contains two types of defects (Singular Edges &amp;
Singular Vertices) created by Stiffener. The holes are highlighted in green
(determined by the boundary edges). Because the base implementation does not support
communication between more than two faces through one edge, all subsequent
"contenders" for this edge will be disconnected with duplication of the corresponding
points. The final analysis of a loaded model shows that the number of objects is
greater than one, which is also inadmissible in some environments.</p>
      <p>Using the modified algorithm based on the preservation of the connection between
non-manifold elements gives the following result (Fig.5):
Another illustration compare the implementation of basic and modified algorithms.
a)
b)
Fig. 6. Model # 2. a) Created in Solid Works 2018 SP3; b) Model for 3D printing, loaded as a</p>
      <p>Triangle Soup.</p>
      <p>This model consists of 24 triangular prisms. In the absence of communication
between all the elements, it can be exploded into 24 separate parts respectively (Fig.7).
Fig. 7. Splitting the model into separate prisms in absence of communication between the
elements</p>
      <p>One solution to this problem is to replace singular defects with separate faces.
After the orphaned triangles are removed, the result shown in Fig.8.</p>
      <p>Based on the specifics of the model, about 1/8 faces will be removed. After loading
this kind of object, it becomes impossible to trace the original source of data loss.
Fig. 8. Substitution of Singular Defects by Separate Edges (highlighted in green the boundary
edges)</p>
      <p>Using the algorithm of preserving the connection between the non-manifold faces
and the software implementation of the bridge, the following results (Fig.9):</p>
      <p>Keeping the connection between singular elements allows to load the original data
without loss, as well as provide the necessary information to determine the defects of
non-manifold edges and vertices.
7</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>A basic algorithm of the polygon creation implemented in OpenMesh leads to the
destruction of the model if there is an attempt to create singular elements.</p>
      <p>The newly proposed modified algorithm allows the connection between singular
elements to be identified, and the overall structure of the model is preserve.</p>
      <p>The advantage of the proposed algorithm is the simplicity and expansion of mesh
recovery capabilities based on the earlier discussed algorithms.</p>
      <p>The result of the proposed approach is the preservation of the connection in the
topology during the formation of defects on polygonal meshes, which will enable
detection and will make it possible to carry out various kinds of manipulations at the same
time.</p>
      <p>The disadvantage of this approach is in high memory requirements for storing
links.</p>
      <p>Further research will be devoted to improvement of the algorithm to ensure
communication between all topological elements and its software implementation.
10. Gueziec, A., Taubin, G., Lazarus, F., Horn, B.: Cutting and Stitching: Converting Sets of
Polygons to Manifold Surfaces. IEEE TRANSACTIONS ON VISUALIZATION AND
COMPUTER GRAPHICS, Vol. 7, NO. 2,pp. 136-151(2001)
11. Gueziec, A., Taubin, G., Lazarus, F., Horn, B.: Converting sets of polygons to manifold
surfaces by cutting and stitching. SIGGRAPH '98: ACM SIGGRAPH 98 (1998).
doi:10.1145/280953.281628
12. Rossignac, J., Cardoze, D.: Matchmaker: manifold BReps for non-manifold r-sets. SMA
'99: Proceedings of the fifth ACM symposium on Solid modeling and applications, pp. 31–
41 (1999). doi:10.1145/304012.304016
13. De Floriani, L., Hui, A.: A Scalable Data Structure for Three-dimensional Non-manifold</p>
      <p>Objects. In: Proc, of the Symp. on Geom. Proc., pp. 72-82 (2003)
14. De Floriani, L., Magillo, P., Puppo, E., Sobrero, D.: A Multi-resolution Topological
Representation for Non-manifold Meshes. CAD Jour. 36(2), pp.141-159 (2004).
doi:10.1145/566282.566307
15. De Floriani, L., Greenfieldboyce, D., Hui, A.: A data structure for non-manifold simplicial
d-complexes. SGP '04: Proceedings of the 2004 Eurographics/ACM SIGGRAPH
symposium on Geometry processing, pp. 83–92 (2004). doi:10.1145/1057432.1057444
16. De Floriani, L., Hui, A.: Data Structures for Simplicial Complexes: an Analysis and a</p>
      <p>Comparison. In: Proc, of the Symp. on Geom. Proc., pp. 119-128 (2005)
17. Zengbo, W.: Fast topological reconstruction algorithm for a STL file. Journal of Computer</p>
      <p>Applications, 34(9), pp.2720—2724 (2014).
18. Tan, J., Chen, J.: Research and Application on Model Repairing Algorithm of 3D
Modelling Technology. 6th International Conference on Mechatronics, Computer and Education
Informationization (MCEI 2016). doi: 10.2991/mcei-16.2016.48
19. OpenMesh https://www.graphics.rwth-aachen.de/software/openmesh/
20. Shovgelia, D.G., Sokolova, N.O.: Obnaruzhenie defektov v trekhmernykh
geometricheskikh modelyakh, predstavlennykh na osnove Half-Edge Data Structure. Prykladni
Pytannia Matematychnoho Modeliuvannia 1(2), pp.155-161 (2019). doi:
https://doi.org/10.32782/2618-0340-2019-3-14</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Atenne</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobbelt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Polygon Mesh Repairing: An Application Perspective : ACM Computing Surveys (scheduled to appear</article-title>
          ),
          <volume>45</volume>
          (
          <issue>2</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>38</lpage>
          . (
          <year>2013</year>
          ). doi:
          <volume>10</volume>
          .1145/2431211.2431214
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Lyon</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bommes</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobbelt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Parametrization Quantization with Free Boundariesfor Trimmed Quad Meshing</article-title>
          .
          <source>ACM Transactions on Graphics (TOG)</source>
          , Vol.
          <volume>38</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>4</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Article</given-names>
            <surname>No</surname>
          </string-name>
          .:
          <volume>51</volume>
          , pp
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          (
          <year>2019</year>
          ).
          <source>doi:10.1145/3306346.3323019</source>
          <volume>51</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>51</lpage>
          :
          <fpage>14</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Trettner1and,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Kobbelt</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          <article-title>Fast and Robust QEF Minimization using Probabilistic Quadrics</article-title>
          .
          <source>EUROGRAPHICS 2020</source>
          Volume
          <volume>39</volume>
          ,
          <source>Number</source>
          <volume>2</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Born</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobbelt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Distortion-Minimizing Injective Maps Between Surfaces ACM Trans. Graph</surname>
          </string-name>
          ., Vol.
          <volume>38</volume>
          , No. 6,
          <string-name>
            <surname>Art</surname>
          </string-name>
          . No.:
          <volume>156</volume>
          , pp
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          (
          <year>2019</year>
          ). doi:
          <volume>10</volume>
          .1145/3355089.3356519
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Botsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobbelt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Pauly</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alliez</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , L´evy
          <string-name>
            <given-names>B.: Polygon</given-names>
            <surname>Mesh A K Peters</surname>
          </string-name>
          , Ltd. Natick, Massachusetts, (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ju</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Fixing Geometric Errors on Polygonal Models: A Survey</article-title>
          .
          <source>J. Comput. Sci. Technol</source>
          .
          <volume>24</volume>
          ,
          <fpage>19</fpage>
          -
          <lpage>29</lpage>
          (
          <year>2009</year>
          ).
          <source>doi:10.1007/s11390-009-9206-7</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Guskov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wood</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <year>2001</year>
          .
          <article-title>Topological noise removal</article-title>
          .
          <source>GI '01: Proceedings of Graphics Interface</source>
          <year>2001</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>26</lpage>
          , (
          <year>2001</year>
          ).
          <source>doi: 10.20380/GI2001</source>
          .03
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Shewchuk</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          <string-name>
            <surname>Triangle</surname>
          </string-name>
          :
          <article-title>Engineering a 2D Quality Mesh Generator and Delaunay Triangulator</article-title>
          .
          <source>WACG 1996: Applied Computational Geometry Towards Geometric</source>
          Engineering pp
          <fpage>203</fpage>
          -
          <lpage>222</lpage>
          (
          <year>1996</year>
          ). doi:
          <volume>10</volume>
          .1007/BFb0014497
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ying</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zorin</surname>
            ,
            <given-names>D.N.</given-names>
          </string-name>
          :
          <article-title>Nonmanifold subdivision</article-title>
          .
          <source>VIS '01: Proceedings of the conference on Visualization</source>
          , pp.
          <fpage>325</fpage>
          -
          <lpage>332</lpage>
          , (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>