21#ifndef GEOS_GEOMGRAPH_TOPOLOGYLOCATION_H
22#define GEOS_GEOMGRAPH_TOPOLOGYLOCATION_H
24#include <geos/export.h>
25#include <geos/inline.h>
32#pragma warning(disable: 4251)
58class GEOS_DLL TopologyLocation {
62 friend std::ostream& operator<< (std::ostream&,
const TopologyLocation&);
68 TopologyLocation(
const std::vector<int> &newLocation);
83 TopologyLocation(
int on);
85 TopologyLocation(
const TopologyLocation &gl);
87 TopologyLocation& operator= (
const TopologyLocation &gl);
89 int get(std::size_t posIndex)
const;
101 bool isEqualOnSide(
const TopologyLocation &le,
int locIndex)
const;
109 void setAllLocations(
int locValue);
111 void setAllLocationsIfNull(
int locValue);
113 void setLocation(std::size_t locIndex,
int locValue);
115 void setLocation(
int locValue);
120 void setLocations(
int on,
int left,
int right);
122 bool allPositionsEqual(
int loc)
const;
128 void merge(
const TopologyLocation &gl);
130 std::string toString()
const;
134 std::vector<int> location;
A TopologyLocation is the labelling of a GraphComponent's topological relationship to a single Geomet...
Definition TopologyLocation.h:58
TopologyLocation(int on, int left, int right)
Constructs a TopologyLocation specifying how points on, to the left of, and to the right of some Grap...
void merge(const TopologyLocation &gl)
merge updates only the UNDEF attributes of this object with the attributes of another.
const std::vector< int > & getLocations() const
Warning: returns reference to owned memory.
Contains classes that implement topology graphs.
Definition IndexedNestedRingTester.h:34
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25