Package com.esri.core.geometry
Class TopologicalOperations
- java.lang.Object
-
- com.esri.core.geometry.TopologicalOperations
-
final class TopologicalOperations extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
TopologicalOperations.CompareCuts
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
m_bOGCOutput
(package private) Point2D
m_dummy_pt_1
(package private) Point2D
m_dummy_pt_2
(package private) int
m_from_edge_for_polylines
(package private) boolean[]
m_mask_lookup
(package private) TopoGraph
m_topo_graph
-
Constructor Summary
Constructors Constructor Description TopologicalOperations()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static Geometry
_denormalizeGeometry(Geometry geom, Geometry geomA, Geometry geomB)
private void
collectPolygonPathsPreservingFrom_(int geometryFrom, int newGeometry, int visitedEdges, int visitedClusters, int geometry_dominant)
(package private) void
cut(int sideIndex, int cuttee, int cutter, AttributeStreamOfInt32 cutHandles)
private void
cutPolygonPolyline_(int sideIndex, int cuttee, int cutter, AttributeStreamOfInt32 cutHandles)
int
difference(int geometry_a, int geometry_b)
static Geometry
difference(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
(package private) static MultiPoint
difference(MultiPoint multi_point, Geometry multi_path, double tolerance)
(package private) static Point
difference(Point point, Geometry geom, double tolerance)
(package private) static Point
difference(Point point, Point point2, double tolerance)
(package private) int
dissolve(int geometry_a, int geometry_b)
static Geometry
dissolve(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
(package private) void
dissolveCommonEdges_()
(package private) static Geometry
dissolveDirty(java.util.ArrayList<Geometry> geometries, SpatialReference sr, ProgressTracker progress_tracker)
(package private) int
extractShape(int geometry_in)
private void
flushVertices_(int geometry, AttributeStreamOfInt32 vertices)
(package private) int
getCombinedHalfEdgeParentage_(int e)
(package private) int
getVertexByID_(int vertex, int geometry_id)
(package private) int
getVertexByIDImpl_(int vertex, int geometry_id)
(package private) void
initMaskLookupArray_(int len)
int
intersection(int geometry_a, int geometry_b)
static Geometry
intersection(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
(package private) static MultiPoint
intersection(MultiPoint multi_point, Geometry multi_path, double tolerance)
(package private) static Point
intersection(Point point, Geometry geom, double tolerance)
(package private) static Point
intersection(Point point, Point point2, double tolerance)
(package private) int[]
intersectionEx(int geometry_a, int geometry_b)
(package private) static Geometry[]
intersectionEx(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
(package private) boolean
isGoodParentage(int parentage)
(package private) static Geometry
normalizeInputGeometry_(Geometry geom)
(package private) static Geometry
normalizeResult_(Geometry geomRes, Geometry geom_a, Geometry dummy, char op)
(package private) MultiVertexGeometry
planarSimplify(EditShape shape, int geom, double tolerance, boolean b_use_winding_rule_for_polygons, boolean dirty_result, ProgressTracker progress_tracker)
(package private) static MultiVertexGeometry
planarSimplify(MultiVertexGeometry input_geom, double tolerance, boolean use_winding_rule_for_polygons, boolean dirty_result, ProgressTracker progress_tracker)
(package private) MultiVertexGeometry
planarSimplifyImpl_(MultiVertexGeometry input_geom, double tolerance, boolean b_use_winding_rule_for_polygons, boolean dirty_result, ProgressTracker progress_tracker)
(package private) boolean
planarSimplifyNoCrackingAndCluster(boolean OGCoutput, EditShape shape, int geom, ProgressTracker progress_tracker)
private double
prevailingDirection_(EditShape shape, int half_edge)
(package private) static MultiPoint
processMultiPointIntersectOrDiff_(MultiPoint multi_point, Geometry intersector, double tolerance, boolean bClipIn)
(package private) static Point
processPointIntersectOrDiff_(Point point, Geometry intersector, double tolerance, boolean bClipIn)
private void
processPolygonCuts_(int orientationIndex, int sideIndex, int cuttee, int cutter)
(package private) void
removeShape()
private void
restorePolylineParts_(int first_edge, int newGeometry, int visitedEdges, int visitedClusters, int geometry_dominant)
(package private) int
selectVertex_(int cluster, EditShape shape)
(package private) void
setEditShape(EditShape shape, ProgressTracker progressTracker)
(package private) void
setEditShapeCrackAndCluster(EditShape shape, double tolerance, ProgressTracker progressTracker)
private void
setHalfEdgeOrientations_(int orientationIndex, int cutter)
(package private) static MultiVertexGeometry
simplifyOGC(MultiVertexGeometry input_geom, double tolerance, boolean dirty_result, ProgressTracker progress_tracker)
int
symmetricDifference(int geometry_a, int geometry_b)
static Geometry
symmetricDifference(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
private int
topoOperationMultiPoint_()
private int
topoOperationPolygonPolygon_(int geometry_a, int geometry_b, int geometry_dominant)
(package private) int[]
topoOperationPolygonPolygonEx_(int geometry_a, int geometry_b, int geometry_dominant)
private void
topoOperationPolygonPolygonHelper_(int geometry_a, int geometry_b, int newGeometryPolygon, int geometry_dominant, int visitedEdges, int visitedClusters)
private int
topoOperationPolylinePolylineOrPolygon_(int geometry_dominant)
(package private) int[]
topoOperationPolylinePolylineOrPolygonEx_(int geometry_dominant)
(package private) int
tryMoveThroughCrossroadBackwards_(int half_edge)
(package private) int
tryMoveThroughCrossroadForward_(int half_edge)
-
-
-
Method Detail
-
isGoodParentage
boolean isGoodParentage(int parentage)
-
cut
void cut(int sideIndex, int cuttee, int cutter, AttributeStreamOfInt32 cutHandles)
-
setEditShape
void setEditShape(EditShape shape, ProgressTracker progressTracker)
-
setEditShapeCrackAndCluster
void setEditShapeCrackAndCluster(EditShape shape, double tolerance, ProgressTracker progressTracker)
-
collectPolygonPathsPreservingFrom_
private void collectPolygonPathsPreservingFrom_(int geometryFrom, int newGeometry, int visitedEdges, int visitedClusters, int geometry_dominant)
-
dissolveCommonEdges_
void dissolveCommonEdges_()
-
getVertexByID_
int getVertexByID_(int vertex, int geometry_id)
-
getVertexByIDImpl_
int getVertexByIDImpl_(int vertex, int geometry_id)
-
topoOperationPolygonPolygon_
private int topoOperationPolygonPolygon_(int geometry_a, int geometry_b, int geometry_dominant)
-
topoOperationPolygonPolygonHelper_
private void topoOperationPolygonPolygonHelper_(int geometry_a, int geometry_b, int newGeometryPolygon, int geometry_dominant, int visitedEdges, int visitedClusters)
-
topoOperationPolygonPolygonEx_
int[] topoOperationPolygonPolygonEx_(int geometry_a, int geometry_b, int geometry_dominant)
-
selectVertex_
int selectVertex_(int cluster, EditShape shape)
-
prevailingDirection_
private double prevailingDirection_(EditShape shape, int half_edge)
-
getCombinedHalfEdgeParentage_
int getCombinedHalfEdgeParentage_(int e)
-
tryMoveThroughCrossroadBackwards_
int tryMoveThroughCrossroadBackwards_(int half_edge)
-
tryMoveThroughCrossroadForward_
int tryMoveThroughCrossroadForward_(int half_edge)
-
restorePolylineParts_
private void restorePolylineParts_(int first_edge, int newGeometry, int visitedEdges, int visitedClusters, int geometry_dominant)
-
topoOperationPolylinePolylineOrPolygon_
private int topoOperationPolylinePolylineOrPolygon_(int geometry_dominant)
-
topoOperationPolylinePolylineOrPolygonEx_
int[] topoOperationPolylinePolylineOrPolygonEx_(int geometry_dominant)
-
topoOperationMultiPoint_
private int topoOperationMultiPoint_()
-
initMaskLookupArray_
void initMaskLookupArray_(int len)
-
processMultiPointIntersectOrDiff_
static MultiPoint processMultiPointIntersectOrDiff_(MultiPoint multi_point, Geometry intersector, double tolerance, boolean bClipIn)
-
intersection
static MultiPoint intersection(MultiPoint multi_point, Geometry multi_path, double tolerance)
-
difference
static MultiPoint difference(MultiPoint multi_point, Geometry multi_path, double tolerance)
-
processPointIntersectOrDiff_
static Point processPointIntersectOrDiff_(Point point, Geometry intersector, double tolerance, boolean bClipIn)
-
planarSimplifyImpl_
MultiVertexGeometry planarSimplifyImpl_(MultiVertexGeometry input_geom, double tolerance, boolean b_use_winding_rule_for_polygons, boolean dirty_result, ProgressTracker progress_tracker)
-
planarSimplify
MultiVertexGeometry planarSimplify(EditShape shape, int geom, double tolerance, boolean b_use_winding_rule_for_polygons, boolean dirty_result, ProgressTracker progress_tracker)
-
planarSimplify
static MultiVertexGeometry planarSimplify(MultiVertexGeometry input_geom, double tolerance, boolean use_winding_rule_for_polygons, boolean dirty_result, ProgressTracker progress_tracker)
-
planarSimplifyNoCrackingAndCluster
boolean planarSimplifyNoCrackingAndCluster(boolean OGCoutput, EditShape shape, int geom, ProgressTracker progress_tracker)
-
simplifyOGC
static MultiVertexGeometry simplifyOGC(MultiVertexGeometry input_geom, double tolerance, boolean dirty_result, ProgressTracker progress_tracker)
-
difference
public int difference(int geometry_a, int geometry_b)
-
dissolve
int dissolve(int geometry_a, int geometry_b)
-
intersection
public int intersection(int geometry_a, int geometry_b)
-
intersectionEx
int[] intersectionEx(int geometry_a, int geometry_b)
-
symmetricDifference
public int symmetricDifference(int geometry_a, int geometry_b)
-
extractShape
int extractShape(int geometry_in)
-
normalizeResult_
static Geometry normalizeResult_(Geometry geomRes, Geometry geom_a, Geometry dummy, char op)
-
difference
public static Geometry difference(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
-
dissolve
public static Geometry dissolve(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
-
dissolveDirty
static Geometry dissolveDirty(java.util.ArrayList<Geometry> geometries, SpatialReference sr, ProgressTracker progress_tracker)
-
intersection
public static Geometry intersection(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
-
intersectionEx
static Geometry[] intersectionEx(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
-
symmetricDifference
public static Geometry symmetricDifference(Geometry geometry_a, Geometry geometry_b, SpatialReference sr, ProgressTracker progress_tracker)
-
_denormalizeGeometry
static Geometry _denormalizeGeometry(Geometry geom, Geometry geomA, Geometry geomB)
-
flushVertices_
private void flushVertices_(int geometry, AttributeStreamOfInt32 vertices)
-
setHalfEdgeOrientations_
private void setHalfEdgeOrientations_(int orientationIndex, int cutter)
-
processPolygonCuts_
private void processPolygonCuts_(int orientationIndex, int sideIndex, int cuttee, int cutter)
-
cutPolygonPolyline_
private void cutPolygonPolyline_(int sideIndex, int cuttee, int cutter, AttributeStreamOfInt32 cutHandles)
-
removeShape
void removeShape()
-
-