curver.kernel.arc module¶
A module for representing (multi)arcs on triangulations.
-
class
curver.kernel.arc.
Arc
(triangulation, geometric)[source]¶ Bases:
curver.kernel.arc.MultiArc
A MultiArc with a single component.
-
connects_distinct_vertices
()[source]¶ Return whether this arc connects between distict vertices of its underlying triangulation.
-
-
class
curver.kernel.arc.
MultiArc
(triangulation, geometric)[source]¶ Bases:
curver.kernel.lamination.Lamination
A Lamination in which every component is an Arc.
-
boundary
()[source]¶ Return the multicurve which is the boundary of a regular neighbourhood of this multiarc.
-
explore_ball
(radius)[source]¶ Extend this MultiArc to a triangulation and return all triangulations within the ball of the given radius of that one.
Runs in exp(radius) time. Note that this is only well-defined if this multiarc is filling.
-
is_minimal
()[source]¶ Return whether this multiarc is minimal.
A multiarc is minimal if its weight is as small as possible.
Note that minimal ==> short.
-
is_polygonalisation
()[source]¶ Return if this MultiArc is a polygonalisation, that is, if it cuts the surface into polygons.
-
is_short
()[source]¶ Return whether this lamination is short.
A lamination is short if all of its non-peripheral components are parallel to edges of the triangulation that it is defined on. This makes computing its components very easy.
-
topological_type
()[source]¶ Return the topological type of this multiarc.
Two multiarcs are in the same mapping class group orbit if and only their topological types are equal. These are labelled graphs and so equal means ‘label isomorphic’, so we return a custom class that uses networkx.is_isomorphic to determine equality.
-