21#ifndef GEOS_GEOMGRAPH_LABEL_H
22#define GEOS_GEOMGRAPH_LABEL_H
24#include <geos/export.h>
25#include <geos/geomgraph/TopologyLocation.h>
27#include <geos/inline.h>
61 friend std::ostream& operator<< (std::ostream&,
const Label&);
82 Label(
int geomIndex,
int onLoc);
89 Label(
int onLoc,
int leftLoc,
int rightLoc);
109 Label(
int geomIndex,
int onLoc,
int leftLoc,
int rightLoc);
113 int getLocation(
int geomIndex,
int posIndex)
const;
115 int getLocation(
int geomIndex)
const;
117 void setLocation(
int geomIndex,
int posIndex,
int location);
119 void setLocation(
int geomIndex,
int location);
121 void setAllLocations(
int geomIndex,
int location);
123 void setAllLocationsIfNull(
int geomIndex,
int location);
125 void setAllLocationsIfNull(
int location);
135 int getGeometryCount()
const;
139 bool isNull(
int geomIndex)
const;
141 bool isAnyNull(
int geomIndex)
const;
145 bool isArea(
int geomIndex)
const;
147 bool isLine(
int geomIndex)
const;
149 bool isEqualOnSide(
const Label &lbl,
int side)
const;
151 bool allPositionsEqual(
int geomIndex,
int loc)
const;
158 std::string toString()
const;
165std::ostream& operator<< (std::ostream&,
const Label&);
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition Label.h:57
void toLine(int geomIndex)
Converts one GeometryLocation to a Line location.
void merge(const Label &lbl)
Merge this label with another one.
Label()
Initialize both locations to Location::UNDEF.
Label(int onLoc, int leftLoc, int rightLoc)
Construct a Label with On, Left and Right locations for both Geometries.
Label(int geomIndex, int onLoc)
Construct a Label with the location specified for the given Geometry.
static Label toLineLabel(const Label &label)
Converts a Label to a Line label (that is, one with no side Locations).
Label(const Label &l)
Copy ctor.
Label(int geomIndex, int onLoc, int leftLoc, int rightLoc)
Construct a Label with On, Left and Right locations for the given Geometries. Initialize the location...
Label(int onLoc)
Construct a Label with a single location for both Geometries.
A TopologyLocation is the labelling of a GraphComponent's topological relationship to a single Geomet...
Definition TopologyLocation.h:58
Contains classes that implement topology graphs.
Definition IndexedNestedRingTester.h:34
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25