  It is increasingly common to model, simulate, and process complex materials
based on loopy structures, such as in yarn-level cloth garments, which possess
topological constraints between inter-looping curves. While the input model may
satisfy specific topological linkages between pairs of closed loops, subsequent
processing may violate those topological conditions. In this paper, we explore
a family of methods for efficiently computing and verifying linking numbers
between closed curves, and apply these to applications in geometry processing,
animation, and simulation, so as to verify that topological invariants are
preserved during and after processing of the input models. Our method has three
stages: (1) we identify potentially interacting loop-loop pairs, then (2)
carefully discretize each loop's spline curves into line segments so as to
enable (3) efficient linking number evaluation using accelerated kernels based
on either counting projected segment-segment crossings, or by evaluating the
Gauss linking integral using direct or fast summation methods (Barnes-Hut or
fast multipole methods). We evaluate CPU and GPU implementations of these
methods on a suite of test problems, including yarn-level cloth and chainmail,
that involve significant processing: physics-based relaxation and animation,
user-modeled deformations, curve compression and reparameterization. We show
that topology errors can be efficiently identified to enable more robust
processing of loopy structures.
