API documentation

s2.base.spinlock A mutex-free lock based on noop loops.
s2.util.container.btree Implementation of a B-Tree based upon "Introduction to Algorithms".
s2.util.container.dense_hash_set This is just a very thin wrapper over dense_hash_table.d, just like sgi stl's stl_hash_set is a very thin wrapper over stl_hashtable. The major thing we define is operator[], because we have a concept of a data_type which stl_hashtable doesn't \(it only has a key and a value\).
s2.util.container.dense_hash_table A dense hashtable is a particular implementation of a hashtable: one that is meant to minimize memory allocation. It does this by using an array to store all the data. We steal a value from the key space to indicate "empty" array elements (ie indices where no item lives) and another to indicate "deleted" elements.
s2.r1interval Represents a closed, bounded interval on the real line.
s2.s1angle S1Angle represents a one-dimensional angle (as opposed to a two-dimensional solid angle).
s2.s2builder S2Builder is a tool for assembling polygonal geometry from edges
s2.s2cap S2Cap represents a disc-shaped region defined by a center and radius.
s2.s2cell An S2Cell is an S2Region object that represents a cell.
s2.s2cell_id A 64-bit unsigned integer that uniquely identifies a cell in S2 cell decomposition.
s2.s2loop An S2Loop represents a simple spherical polygon.
s2.s2polygon An S2Polygon is an S2Region object that represents a polygon.
s2.s2region A two-dimentional region over the unit sphere.
s2.s2region_coverer Allows arbitrary regions to be approximated as unions of cells (S2CellUnion).
s2.s2shape Represents polygonal geometry in a flexible way.