[geos-devel] Comparing two QuadEdge objects

Sandro Santilli strk at keybit.net
Fri Jul 12 07:39:40 PDT 2013


On Fri, Jul 12, 2013 at 07:20:54PM +0530, vishal tiwari wrote:
> The method quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon, requires a
> comparison between two QuadEdge objects for not being equal, that's y i
> need a comparison operator. I think CompareTo is implemented in
> Coordinate[1]. And the code is trying to compare the origin and destination
> coordinates of two QuadEdge. Should i compare the origin and destination
> coordinates to be same, in order to say the QuadEdges are the same?

You should strictly follow the JTS implementation, which is comparing
Vertex objects, not QuadEdge nor Coordinates.
It is getVertexUniqueEdges that you're talking about, right ?
Vertex class has an `equals` method (with an override accepting a
tolerance).

--strk;

> 
> [1]
> https://jts-topo-suite.svn.sourceforge.net/svnroot/jts-topo-suite/trunk/jts/java/src/com/vividsolutions/jts/geom/Coordinate.java
> 
> Thanks,
> Vishal
> 
> 
> On 12 July 2013 18:12, Sandro Santilli <strk at keybit.net> wrote:
> 
> > On Fri, Jul 12, 2013 at 05:45:14PM +0530, vishal tiwari wrote:
> > > Hey,
> > >
> > > If i want to compare two QuadEdge objects, then i am comparing the
> > elements
> > > _rot , next , isAlive, data and vertex. As _rot and next are also
> > > QuadEdges, it goes into a recursion, so i am using the break condition as
> > > when both objects are NULL.
> > >
> > > I just want to know if this is the correct way to do it? I am asking this
> > > because i am having troubles in overloading the != operator for QuadEdge.
> >
> > What do you need comparison operator for ?
> > When needsd JTS implements a compareTo method, but I don't see any here:
> >
> > https://jts-topo-suite.svn.sourceforge.net/svnroot/jts-topo-suite/trunk/jts/java/src/com/vividsolutions/jts/triangulate/quadedge/QuadEdge.java
> >
> > --strk;


More information about the geos-devel mailing list