private static class MultipolygonBuilder.Worker extends java.util.concurrent.RecursiveTask<java.util.List<MultipolygonBuilder.PolygonLevel>>
Modifier and Type | Field and Description |
---|---|
private MultipolygonBuilder.IntersectionMatrix |
cache |
private int |
directExecutionTaskSize |
private int |
from |
private java.util.List<MultipolygonBuilder.JoinedPolygon> |
input |
private java.util.List<MultipolygonBuilder.PolygonLevel> |
output |
private static long |
serialVersionUID |
private int |
to |
Constructor and Description |
---|
Worker(MultipolygonBuilder.IntersectionMatrix cache,
java.util.List<MultipolygonBuilder.JoinedPolygon> input,
int from,
int to,
java.util.List<MultipolygonBuilder.PolygonLevel> output,
int directExecutionTaskSize) |
Modifier and Type | Method and Description |
---|---|
protected java.util.List<MultipolygonBuilder.PolygonLevel> |
compute() |
(package private) java.util.List<MultipolygonBuilder.PolygonLevel> |
computeDirectly() |
private static java.util.List<MultipolygonBuilder.PolygonLevel> |
findOuterWaysRecursive(int level,
MultipolygonBuilder.IntersectionMatrix cache,
java.util.List<MultipolygonBuilder.JoinedPolygon> boundaryWays)
Collects outer way and corresponding inner ways from all boundaries.
|
private static java.util.List<MultipolygonBuilder.PolygonLevel> |
processOuterWay(int level,
MultipolygonBuilder.IntersectionMatrix cache,
java.util.List<MultipolygonBuilder.JoinedPolygon> boundaryWays,
java.util.List<MultipolygonBuilder.PolygonLevel> result,
MultipolygonBuilder.JoinedPolygon outerWay) |
private void |
readObject(java.io.ObjectInputStream ois) |
private void |
writeObject(java.io.ObjectOutputStream oos) |
adapt, adapt, adapt, cancel, compareAndSetForkJoinTaskTag, complete, completeExceptionally, fork, get, get, getException, getForkJoinTaskTag, getPool, getQueuedTaskCount, getSurplusQueuedTaskCount, helpQuiesce, inForkJoinPool, invoke, invokeAll, invokeAll, invokeAll, isCancelled, isCompletedAbnormally, isCompletedNormally, isDone, join, peekNextLocalTask, pollNextLocalTask, pollTask, quietlyComplete, quietlyInvoke, quietlyJoin, reinitialize, setForkJoinTaskTag, tryUnfork
private static final long serialVersionUID
private final transient java.util.List<MultipolygonBuilder.JoinedPolygon> input
private final int from
private final int to
private final transient java.util.List<MultipolygonBuilder.PolygonLevel> output
private final int directExecutionTaskSize
private final MultipolygonBuilder.IntersectionMatrix cache
Worker(MultipolygonBuilder.IntersectionMatrix cache, java.util.List<MultipolygonBuilder.JoinedPolygon> input, int from, int to, java.util.List<MultipolygonBuilder.PolygonLevel> output, int directExecutionTaskSize)
private static java.util.List<MultipolygonBuilder.PolygonLevel> findOuterWaysRecursive(int level, MultipolygonBuilder.IntersectionMatrix cache, java.util.List<MultipolygonBuilder.JoinedPolygon> boundaryWays)
level
- nesting levelcache
- cache that tracks previously calculated resultsboundaryWays
- boundary waysnull
if intersection found.private static java.util.List<MultipolygonBuilder.PolygonLevel> processOuterWay(int level, MultipolygonBuilder.IntersectionMatrix cache, java.util.List<MultipolygonBuilder.JoinedPolygon> boundaryWays, java.util.List<MultipolygonBuilder.PolygonLevel> result, MultipolygonBuilder.JoinedPolygon outerWay)
protected java.util.List<MultipolygonBuilder.PolygonLevel> compute()
compute
in class java.util.concurrent.RecursiveTask<java.util.List<MultipolygonBuilder.PolygonLevel>>
java.util.List<MultipolygonBuilder.PolygonLevel> computeDirectly()
private void readObject(java.io.ObjectInputStream ois) throws java.lang.ClassNotFoundException, java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException
private void writeObject(java.io.ObjectOutputStream oos) throws java.io.IOException
java.io.IOException