S2DistanceTarget represents a geometric object to which distances are measured. For example, there are subtypes for measuring distances to a point, an edge, or to an S2ShapeIndex (an arbitrary collection of geometry). S2DistanceTarget objects are provided for the benefit of classes that measure distances and/or find nearby geometry, such as S2ClosestEdgeQuery and S2ClosestPointQuery.