com.vividsolutions.jts.geomgraph
Class Label
java.lang.Object
com.vividsolutions.jts.geomgraph.Label
public class Label
extends java.lang.Object
A
Label
indicates the topological relationship of a component
of a topology graph to a given
Geometry
.
This class supports labels for relationships to two
Geometry
s,
which is sufficient for algorithms for binary operations.
Topology graphs support the concept of labeling nodes and edges in the graph.
The label of a node or edge specifies its topological relationship to one or
more geometries. (In fact, since JTS operations have only two arguments labels
are required for only two geometries). A label for a node or edge has one or
two elements, depending on whether the node or edge occurs in one or both of the
input
Geometry
s. Elements contain attributes which categorize the
topological location of the node or edge relative to the parent
Geometry
; that is, whether the node or edge is in the interior,
boundary or exterior of the
Geometry
. Attributes have a value
from the set
{Interior, Boundary, Exterior}
. In a node each
element has a single attribute
<On>
. For an edge each element has a
triplet of attributes
<Left, On, Right>
.
It is up to the client code to associate the 0 and 1
TopologyLocation
s
with specific geometries.
Label(Label lbl) - Construct a Label with the same values as the argument Label.
|
Label(int onLoc) - Construct a Label with a single location for both Geometries.
|
Label(int geomIndex, int onLoc) - Construct a Label with a single location for both Geometries.
|
Label(int onLoc, int leftLoc, int rightLoc) - Construct a Label with On, Left and Right locations for both Geometries.
|
Label(int geomIndex, int onLoc, int leftLoc, int rightLoc) - Construct a Label with On, Left and Right locations for both Geometries.
|
Label
public Label(Label lbl)
Construct a Label with the same values as the argument Label.
Label
public Label(int onLoc)
Construct a Label with a single location for both Geometries.
Initialize the locations to Null
Label
public Label(int geomIndex,
int onLoc)
Construct a Label with a single location for both Geometries.
Initialize the location for the Geometry index.
Label
public Label(int onLoc,
int leftLoc,
int rightLoc)
Construct a Label with On, Left and Right locations for both Geometries.
Initialize the locations for both Geometries to the given values.
Label
public Label(int geomIndex,
int onLoc,
int leftLoc,
int rightLoc)
Construct a Label with On, Left and Right locations for both Geometries.
Initialize the locations for the given Geometry index.
allPositionsEqual
public boolean allPositionsEqual(int geomIndex,
int loc)
getGeometryCount
public int getGeometryCount()
getLocation
public int getLocation(int geomIndex)
getLocation
public int getLocation(int geomIndex,
int posIndex)
isAnyNull
public boolean isAnyNull(int geomIndex)
isArea
public boolean isArea()
isArea
public boolean isArea(int geomIndex)
isEqualOnSide
public boolean isEqualOnSide(Label lbl,
int side)
isLine
public boolean isLine(int geomIndex)
isNull
public boolean isNull(int geomIndex)
merge
public void merge(Label lbl)
Merge this label with another one.
Merging updates any null attributes of this label with the attributes from lbl
setAllLocations
public void setAllLocations(int geomIndex,
int location)
setAllLocationsIfNull
public void setAllLocationsIfNull(int location)
setAllLocationsIfNull
public void setAllLocationsIfNull(int geomIndex,
int location)
setLocation
public void setLocation(int geomIndex,
int location)
setLocation
public void setLocation(int geomIndex,
int posIndex,
int location)
toLine
public void toLine(int geomIndex)
Converts one GeometryLocation to a Line location
toLineLabel
public static Label toLineLabel(Label label)
toString
public String toString()