19#ifndef GEOS_TRIANGULATE_QUADEDGE_QUADEDGE_H
20#define GEOS_TRIANGULATE_QUADEDGE_QUADEDGE_H
24#include <geos/triangulate/quadedge/Vertex.h>
25#include <geos/geom/LineSegment.h>
28namespace triangulate {
51class GEOS_DLL QuadEdge {
74 static std::auto_ptr<QuadEdge>
connect(QuadEdge &a, QuadEdge &b);
89 static void splice(QuadEdge &a, QuadEdge &b);
96 static void swap(QuadEdge &e);
188 inline QuadEdge&
rot()
const {
206 inline QuadEdge&
sym()
const {
225 return rot().oNext().rot();
234 return sym().oNext().sym();
243 return invRot().oNext().invRot();
252 return invRot().oNext().rot();
261 return oNext().sym();
270 return rot().oNext().invRot();
279 return sym().oNext();
327 return orig().getCoordinate().distance(
dest().getCoordinate());
QuadEdge & sym() const
Definition QuadEdge.h:206
void setOrig(const Vertex &o)
Definition QuadEdge.h:290
bool equalsOriented(const QuadEdge &qe) const
std::auto_ptr< geom::LineSegment > toLineSegment() const
QuadEdge & oNext() const
Definition QuadEdge.h:215
void setDest(const Vertex &d)
Definition QuadEdge.h:299
QuadEdge & dPrev() const
Definition QuadEdge.h:242
QuadEdge & rPrev()
Definition QuadEdge.h:278
QuadEdge & dNext() const
Definition QuadEdge.h:233
QuadEdge & lNext() const
Definition QuadEdge.h:251
virtual void setData(void *data)
static void swap(QuadEdge &e)
QuadEdge & oPrev() const
Definition QuadEdge.h:224
QuadEdge & lPrev() const
Definition QuadEdge.h:260
bool isLive()
Definition QuadEdge.h:164
static std::auto_ptr< QuadEdge > connect(QuadEdge &a, QuadEdge &b)
QuadEdge & rot() const
Definition QuadEdge.h:188
const QuadEdge & getPrimary() const
static std::auto_ptr< QuadEdge > makeEdge(const Vertex &o, const Vertex &d)
QuadEdge & rNext()
Definition QuadEdge.h:269
const Vertex & orig() const
Definition QuadEdge.h:308
static void splice(QuadEdge &a, QuadEdge &b)
double getLength() const
Definition QuadEdge.h:326
QuadEdge & invRot() const
Definition QuadEdge.h:197
bool equalsNonOriented(const QuadEdge &qe) const
const Vertex & dest() const
Definition QuadEdge.h:317
void setNext(QuadEdge *next)
Definition QuadEdge.h:174
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25