Class VertexIdEdgeVectorShape
An S2Shape used to represent the entire collection of S2Builder input edges.
Vertices are specified as indices into a vertex vector to save space.
class VertexIdEdgeVectorShape
:
S2Shape
;
Constructors
Name | Description |
this
(edges, vertices)
|
Requires that "edges" is constant for the lifetime of this object.
|
Methods
Name | Description |
chain
(chain_id)
|
Returns the range of edge ids corresponding to the given edge chain. The
edge chains must form contiguous, non-overlapping ranges that cover the
entire range of edge ids. This is spelled out more formally below:
|
chainEdge
(chain_id, offset)
|
Returns the edge at offset "offset" within edge chain "chain_id".
Equivalent to "shape.edge(shape.chain(chain_id).start + offset)"
but may be more efficient.
|
chainPosition
(edge_id)
|
Finds the chain containing the given edge, and returns the position of
that edge as a (chain_id, offset) pair.
|
dimension
()
|
Returns the dimension of the geometry represented by this shape.
|
edge
(edge_id)
|
Returns the endpoints of the given edge id.
|
getReferencePoint
()
|
Returns an arbitrary point P along with a boolean indicating whether P is
contained by the shape. (The boolean value must be false for shapes that
do not have an interior.)
|
hasInterior
()
|
Convenience function that returns true if this shape has an interior.
|
id
()
|
A unique id assigned to this shape by S2ShapeIndex. Shape ids are
assigned sequentially starting from 0 in the order shapes are added.
|
numChains
()
|
Returns the number of contiguous edge chains in the shape. For example,
a shape whose edges are [AB, BC, CD, AE, EF] would consist of two chains
(AB,BC,CD and AE,EF). Every chain is assigned a "chain id" numbered
sequentially starting from zero.
|
numEdges
()
|
Returns the number of edges in this shape. Edges have ids ranging from 0 to num_edges() - 1.
|
userData
()
|
Virtual methods that return pointers of your choice.
|
Inner structs
Name | Description |
Chain
|
A range of edge ids corresponding to a chain of zero or more connected
edges, specified as a (start, length) pair. The chain is defined to
consist of edge ids {start, start + 1, ..., start + length - 1}.
|
ChainPosition
|
The position of an edge within a given edge chain, specified as a
(chain_id, offset) pair. Chains are numbered sequentially starting from
zero, and offsets are measured from the start of each chain.
|
Edge
|
An edge, consisting of two vertices "v0" and "v1". Zero-length edges are
allowed, and can be used to represent points.
|
ReferencePoint
|
A ReferencePoint consists of a point P and a boolean indicating whether P
is contained by a particular shape.
|