S2Loop.this - multiple declarations

Function S2Loop.this

Default constructor. The loop must be initialized by calling Init() or Decode() before it is used.

this();

Function S2Loop.this

Convenience constructor that calls Init() with the given vertices.

this (
  in const(s2.util.math.vector.Vector!(double,3L)[]) vertices,
  s2.s2debug.S2Debug s2DebugOverride
);

Function S2Loop.this

Construct a loop corresponding to the given cell.

this (
  in const(S2Cell) cell
);

Note that the loop and cell *do not* contain exactly the same set of points, because S2Loop and S2Cell have slightly different definitions of point containment. For example, an S2Cell vertex is contained by all four neighboring S2Cells, but it is contained by exactly one of four S2Loops constructed from those cells. As another example, the S2Cell coverings of "cell" and "S2Loop(cell)" will be different, because the loop contains points on its boundary that actually belong to other cells (i.e., the covering will include a layer of neighboring cells).