Package com.google.common.geometry
Class S2ShapeAspect.ChainAspect.Simple
java.lang.Object
com.google.common.geometry.S2ShapeAspect.ChainAspect.Simple
- All Implemented Interfaces:
S2Shape,S2ShapeAspect.ChainAspect,S2ShapeAspect.EdgeAspect,S2ShapeAspect.Mixed,S2ShapeAspect.TopoAspect,S2ShapeAspect.VertexAspect
- Direct Known Subclasses:
S2LaxPolygonShape.SimpleList,S2LaxPolylineShape.SimpleList,S2ShapeAspect.ChainAspect.Simple.Array,S2ShapeAspect.ChainAspect.Simple.Packed,S2ShapeAspect.ChainAspect.Simple.Snapped
- Enclosing interface:
S2ShapeAspect.ChainAspect
public abstract static class S2ShapeAspect.ChainAspect.Simple
extends Object
implements S2ShapeAspect.Mixed
A single non-empty chain.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classA simple chain of S2Point references.(package private) static classA simple chain of packed coordinates.(package private) static classA simple chain of packed cell centers.Nested classes/interfaces inherited from interface com.google.common.geometry.S2Shape
S2Shape.MutableEdge, S2Shape.ReferencePointNested classes/interfaces inherited from interface com.google.common.geometry.S2ShapeAspect.ChainAspect
S2ShapeAspect.ChainAspect.Multi, S2ShapeAspect.ChainAspect.SimpleNested classes/interfaces inherited from interface com.google.common.geometry.S2ShapeAspect.EdgeAspect
S2ShapeAspect.EdgeAspect.Closed, S2ShapeAspect.EdgeAspect.Open -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintchainId(int edgeIndex) Returns the chain ID of a given edge.intedgeId(int chainId) Returns start edge ID of a chain, or the number of edges ifchainId==numChains().intgetChainLength(int chainId) Returns the number of edge ids corresponding to the edge chain for the given chain id.intgetChainStart(int chainId) Returns the first edge id corresponding to the edge chain for the given chain id.intReturns the number of contiguous edge chains in the shape.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.google.common.geometry.S2Shape
chain, chains, containsOrigin, dimension, getChainEdge, getChainVertex, getEdge, getReferencePoint, hasInterior, numEdgesMethods inherited from interface com.google.common.geometry.S2ShapeAspect.EdgeAspect
adjustChains, getChainEdge, getChainVertex, getEdge, numEdges, vertexIdMethods inherited from interface com.google.common.geometry.S2ShapeAspect.TopoAspect
containsOrigin, dimension, hasInteriorMethods inherited from interface com.google.common.geometry.S2ShapeAspect.VertexAspect
numVertices, vertex, vertices
-
Constructor Details
-
Simple
public Simple()
-
-
Method Details
-
numChains
public int numChains()Description copied from interface:S2ShapeReturns the number of contiguous edge chains in the shape. For example, a shape whose edges are [AB, BC, CD, AE, EF] may consist of two chains [A, B, C, D] and [A, E, F]. Every chain is assigned a chain id numbered sequentially starting from zero.An empty shape has no chains. A full shape (which contains the entire globe) has one chain with no edges. Other shapes should have at least one chain, and the sum of all valid
chain lengthsshould equalS2Shape.numEdges()(that is, edges may only be used by a single chain).Note that it is always acceptable to implement this method by returning
S2Shape.numEdges()(i.e. every chain consists of a single edge), but this may reduce the efficiency of some algorithms.- Specified by:
numChainsin interfaceS2Shape- Specified by:
numChainsin interfaceS2ShapeAspect.ChainAspect
-
getChainStart
public int getChainStart(int chainId) Description copied from interface:S2ShapeReturns the first edge id corresponding to the edge chain for the given chain id. The edge chains must form contiguous, non-overlapping ranges that cover the entire range of edge ids.- Specified by:
getChainStartin interfaceS2Shape- Specified by:
getChainStartin interfaceS2ShapeAspect.ChainAspect- Parameters:
chainId- which edge chain to return its start, from 0 toS2Shape.numChains()- 1
-
getChainLength
public int getChainLength(int chainId) Description copied from interface:S2ShapeReturns the number of edge ids corresponding to the edge chain for the given chain id. The edge chains must form contiguous, non-overlapping ranges that cover the entire range of edge ids.- Specified by:
getChainLengthin interfaceS2Shape- Specified by:
getChainLengthin interfaceS2ShapeAspect.ChainAspect- Parameters:
chainId- which edge chain to return its length, from 0 toS2Shape.numChains()- 1
-
edgeId
public int edgeId(int chainId) Description copied from interface:S2ShapeAspect.ChainAspectReturns start edge ID of a chain, or the number of edges ifchainId==numChains().- Specified by:
edgeIdin interfaceS2ShapeAspect.ChainAspect
-
chainId
public int chainId(int edgeIndex) Description copied from interface:S2ShapeAspect.ChainAspectReturns the chain ID of a given edge.- Specified by:
chainIdin interfaceS2ShapeAspect.ChainAspect
-