22 #ifndef GEOS_GEOMGRAPH_NODE_H 23 #define GEOS_GEOMGRAPH_NODE_H 41 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 47 class IntersectionMatrix;
63 using GraphComponent::setLabel;
67 friend std::ostream&
operator<< (std::ostream& os,
const Node& node);
77 bool isIsolated()
const override;
84 virtual void mergeLabel(
const Node& n);
93 virtual void mergeLabel(
const Label& label2);
101 virtual void setLabelBoundary(
int argIndex);
113 virtual std::string print();
115 virtual const std::vector<double>& getZ()
const;
117 virtual void addZ(
double);
130 virtual bool isIncidentEdgeInResult()
const;
134 void testInvariant()
const;
157 Node::testInvariant()
const 164 it = edges->begin(), itEnd = edges->end();
172 #if 0 // We can't rely on numerical stability with FP computations 174 double ztot_check = 0.0;
175 for(std::vector<double>::const_iterator
176 i = zvals.begin(), e = zvals.end();
181 assert(ztot_check == ztot);
199 #endif // ifndef GEOS_GEOMGRAPH_NODE_H virtual geom::Coordinate & getCoordinate()
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Coordinate is the lightweight class used to store coordinates.
container::iterator iterator
void computeIM(geom::IntersectionMatrix &) override
Basic nodes do not compute IMs.
Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix. ...
std::vector< double > zvals
Models the end of an edge incident on a node.
std::ostream & operator<<(std::ostream &os, const Coordinate &c)
Output function.
Location
Constants representing the location of a point relative to a geometry.
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Basic namespace for all GEOS functionalities.
The node component of a geometry graph.
A GraphComponent is the parent class for the objects' that form a graph.
bool equals2D(const Coordinate &other) const