[Geom4j-developer] SF.net SVN: geom4j:[30] trunk/src/net/sourceforge/geom4j/ SegmentIntersectionAlg
Status: Pre-Alpha
Brought to you by:
skhenkin
|
From: <skh...@us...> - 2010-01-16 08:24:42
|
Revision: 30
http://geom4j.svn.sourceforge.net/geom4j/?rev=30&view=rev
Author: skhenkin
Date: 2010-01-16 08:24:36 +0000 (Sat, 16 Jan 2010)
Log Message:
-----------
Precision bug fixed in Bentley-Ottmann algorithm implementation
Modified Paths:
--------------
trunk/src/net/sourceforge/geom4j/SegmentIntersectionAlgorithm.java
Modified: trunk/src/net/sourceforge/geom4j/SegmentIntersectionAlgorithm.java
===================================================================
--- trunk/src/net/sourceforge/geom4j/SegmentIntersectionAlgorithm.java 2010-01-15 22:21:21 UTC (rev 29)
+++ trunk/src/net/sourceforge/geom4j/SegmentIntersectionAlgorithm.java 2010-01-16 08:24:36 UTC (rev 30)
@@ -22,6 +22,7 @@
import java.util.Set;
import net.sourceforge.geom4j.util.BinaryTreeBasedSmartQueue;
+import net.sourceforge.geom4j.util.ListBasedSmartQueue;
import net.sourceforge.geom4j.util.SmartQueue;
/**
@@ -149,8 +150,8 @@
Segment seg2, Point curPoint, boolean isLeftPoint) {
if (seg1 != null && seg2 != null) {
for (Point p : seg1.intersects(seg2).getPoints()) {
- if (p.getX() >= curPoint.getX() && isLeftPoint
- || p.getX() > curPoint.getX() && !isLeftPoint) {
+ if (Config.greaterThanOrEqual(p.getX(), curPoint.getX()) && isLeftPoint
+ || Config.greaterThan(p.getX(), curPoint.getX()) && !isLeftPoint) {
IntersectionEvent templateEvent = new IntersectionEvent(p, seg1, seg2, sweepLineComparator);
Event existingEvent = eventQueue.find(templateEvent);
if (existingEvent != null && existingEvent instanceof IntersectionEvent) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|