public class Label extends Object
Label indicates the topological relationship of a component of a topology graph to a given
Geometry. This class supports labels for relationships to two
Geometrys, 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 Geometrys. 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 TopologyLocations with specific geometries.
| Constructor and Description |
|---|
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(Label
Construct a Label with the same values as the argument Label.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
allPositionsEqual(int geomIndex, int loc)
|
void |
flip()
|
int |
getGeometryCount()
|
int |
getLocation(int geomIndex)
|
int |
getLocation(int geomIndex, int posIndex)
|
boolean |
isAnyNull(int geomIndex)
|
boolean |
isArea()
|
boolean |
isArea(int geomIndex)
|
boolean |
isEqualOnSide(Label
|
boolean |
isLine(int geomIndex)
|
boolean |
isNull(int geomIndex)
|
void |
merge(Label
Merge this label with another one.
|
void |
setAllLocations(int geomIndex, int location)
|
void |
setAllLocationsIfNull(int location)
|
void |
setAllLocationsIfNull(int geomIndex, int location)
|
void |
setLocation(int geomIndex, int location)
|
void |
setLocation(int geomIndex, int posIndex, int location)
|
void |
toLine(int geomIndex)
Converts one GeometryLocation to a Line location
|
static Label |
toLineLabel(Label
|
String |
toString()
|
public Label(int onLoc)
public Label(int geomIndex,
int onLoc)
public Label(int onLoc,
int leftLoc,
int rightLoc)
public Label(int geomIndex,
int onLoc,
int leftLoc,
int rightLoc)
public Label(Labellbl)
public void flip()
public int getLocation(int geomIndex,
int posIndex)public int getLocation(int geomIndex)
public void setLocation(int geomIndex,
int posIndex,
int location)public void setLocation(int geomIndex,
int location)public void setAllLocations(int geomIndex,
int location)public void setAllLocationsIfNull(int geomIndex,
int location)public void setAllLocationsIfNull(int location)
public void merge(Labellbl)
public int getGeometryCount()
public boolean isNull(int geomIndex)
public boolean isAnyNull(int geomIndex)
public boolean isArea()
public boolean isArea(int geomIndex)
public boolean isLine(int geomIndex)
public boolean isEqualOnSide(Labellbl, int side)
public boolean allPositionsEqual(int geomIndex,
int loc)public void toLine(int geomIndex)
public StringtoString()