diff --git a/Clipper/pom.xml b/Clipper/pom.xml
new file mode 100644
index 0000000..0571dd7
--- /dev/null
+++ b/Clipper/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+ Clipper
+ Clipper
+ 6.2.1
+
+
+ ISO-8859-1
+
+
+
+ src
+
+
+ maven-compiler-plugin
+ 3.1
+
+
+ 1.7
+
+
+
+
+
\ No newline at end of file
diff --git a/Clipper/src/de/lighti/clipper/ClipperOffset.java b/Clipper/src/de/lighti/clipper/ClipperOffset.java
index 4b333d4..a6d9ce7 100644
--- a/Clipper/src/de/lighti/clipper/ClipperOffset.java
+++ b/Clipper/src/de/lighti/clipper/ClipperOffset.java
@@ -389,7 +389,7 @@ public void execute( PolyTree solution, double delta ) {
//remove the outer PolyNode rectangle ...
if (solution.getChildCount() == 1 && solution.getChilds().get( 0 ).getChildCount() > 0) {
final PolyNode outerNode = solution.getChilds().get( 0 );
- solution.getChilds().set( 0, outerNode.getChilds().get( 0 ) );
+ solution.childs.set( 0, outerNode.getChilds().get( 0 ) );
solution.getChilds().get( 0 ).setParent( solution );
for (int i = 1; i < outerNode.getChildCount(); i++) {
solution.addChild( outerNode.getChilds().get( i ) );
diff --git a/Clipper/src/de/lighti/clipper/DefaultClipper.java b/Clipper/src/de/lighti/clipper/DefaultClipper.java
index dfd4190..06c3f16 100644
--- a/Clipper/src/de/lighti/clipper/DefaultClipper.java
+++ b/Clipper/src/de/lighti/clipper/DefaultClipper.java
@@ -562,16 +562,17 @@ public DefaultClipper( int InitOptions ) //constructor
activeEdges = null;
sortedEdges = null;
intersectList = new ArrayList();
- intersectNodeComparer = ( node1, node2 ) -> {
- final long i = node2.getPt().getY() - node1.getPt().getY();
- if (i > 0) {
- return 1;
- }
- else if (i < 0) {
- return -1;
- }
- else {
- return 0;
+ intersectNodeComparer = new Comparator() {
+ @Override
+ public int compare(IntersectNode node1, IntersectNode node2) {
+ final long i = node2.getPt().getY() - node1.getPt().getY();
+ if (i > 0) {
+ return 1;
+ } else if (i < 0) {
+ return -1;
+ } else {
+ return 0;
+ }
}
};
@@ -908,6 +909,9 @@ private void buildResult2( PolyTree polytree ) {
//add each output polygon/contour to polytree ...
for (int i = 0; i < polyOuts.size(); i++) {
final OutRec outRec = polyOuts.get( i );
+ if (outRec.getPoints() == null) {
+ continue;
+ }
final int cnt = outRec.getPoints().getPointCount();
if (outRec.isOpen && cnt < 2 || !outRec.isOpen && cnt < 3) {
continue;
diff --git a/Clipper/src/de/lighti/clipper/PolyNode.java b/Clipper/src/de/lighti/clipper/PolyNode.java
index fd5f9c4..9eaf25f 100644
--- a/Clipper/src/de/lighti/clipper/PolyNode.java
+++ b/Clipper/src/de/lighti/clipper/PolyNode.java
@@ -8,7 +8,7 @@
import de.lighti.clipper.Clipper.JoinType;
import de.lighti.clipper.Point.LongPoint;
-class PolyNode {
+public class PolyNode {
enum NodeType {
ANY, OPEN, CLOSED
}
diff --git a/Clipper/src/de/lighti/clipper/PolyTree.java b/Clipper/src/de/lighti/clipper/PolyTree.java
index f785cc0..b0c191b 100644
--- a/Clipper/src/de/lighti/clipper/PolyTree.java
+++ b/Clipper/src/de/lighti/clipper/PolyTree.java
@@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;
-class PolyTree extends PolyNode {
+public class PolyTree extends PolyNode {
private final List allPolys = new ArrayList();
public void Clear() {