Package com.esri.core.geometry
Class Simplificator
- java.lang.Object
-
- com.esri.core.geometry.Simplificator
-
class Simplificator extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Simplificator.SimplificatorAngleComparer
private static class
Simplificator.SimplificatorVertexComparer
-
Field Summary
Fields Modifier and Type Field Description private int[]
m_ar
private int[]
m_br
private AttributeStreamOfInt32
m_bunchEdgeCenterPoints
private AttributeStreamOfInt32
m_bunchEdgeEndPoints
private AttributeStreamOfInt32
m_bunchEdgeIndices
private int
m_firstCoincidentVertex
private boolean
m_fixSelfTangency
private int
m_geometry
private int
m_nextVertexToProcess
private ProgressTracker
m_progressTracker
private EditShape
m_shape
private IndexMultiDCList
m_sortedVertices
private int
m_sortedVerticesListIndex
private int
m_userIndexSortedAngleIndexToVertex
private int
m_userIndexSortedIndexToVertex
-
Constructor Summary
Constructors Modifier Constructor Description protected
Simplificator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
_beforeRemoveVertex(int vertex, boolean bChangePathFirst)
private boolean
_cleanupSpikes()
private boolean
_detectAndResolveCrossOver(boolean bDirection1, boolean bDirection2, int vertexB1, int vertexA1, int vertexC1, int vertexB2, int vertexA2, int vertexC2)
private void
_fixOrphanVertices()
private boolean
_getDirection(int vert1, int vert2)
private int
_getNextEdgeIndex(int indexIn)
private boolean
_processBunch()
private boolean
_processCrossOvers(Point2D ptCenter)
private void
_removeAngleSortInfo(int vertex)
private boolean
_removeSpike(int vertexIn)
private void
_resolveOverlap(boolean bDirection1, boolean bDirection2, int vertexA1, int vertexB1, int vertexA2, int vertexB2)
private void
_resolveOverlapOddEven(boolean bDirection1, boolean bDirection2, int vertexA1, int vertexB1, int vertexA2, int vertexB2)
private boolean
_simplify()
private void
_transferVertexData(int vertexFrom, int vertexTo)
static boolean
execute(EditShape shape, int geometry, int knownSimpleResult, boolean fixSelfTangency, ProgressTracker progressTracker)
-
-
-
Field Detail
-
m_shape
private EditShape m_shape
-
m_geometry
private int m_geometry
-
m_sortedVertices
private IndexMultiDCList m_sortedVertices
-
m_bunchEdgeEndPoints
private AttributeStreamOfInt32 m_bunchEdgeEndPoints
-
m_bunchEdgeCenterPoints
private AttributeStreamOfInt32 m_bunchEdgeCenterPoints
-
m_bunchEdgeIndices
private AttributeStreamOfInt32 m_bunchEdgeIndices
-
m_sortedVerticesListIndex
private int m_sortedVerticesListIndex
-
m_userIndexSortedIndexToVertex
private int m_userIndexSortedIndexToVertex
-
m_userIndexSortedAngleIndexToVertex
private int m_userIndexSortedAngleIndexToVertex
-
m_nextVertexToProcess
private int m_nextVertexToProcess
-
m_firstCoincidentVertex
private int m_firstCoincidentVertex
-
m_fixSelfTangency
private boolean m_fixSelfTangency
-
m_progressTracker
private ProgressTracker m_progressTracker
-
m_ar
private int[] m_ar
-
m_br
private int[] m_br
-
-
Method Detail
-
_beforeRemoveVertex
private void _beforeRemoveVertex(int vertex, boolean bChangePathFirst)
-
_processBunch
private boolean _processBunch()
-
_processCrossOvers
private boolean _processCrossOvers(Point2D ptCenter)
-
_simplify
private boolean _simplify()
-
_getDirection
private boolean _getDirection(int vert1, int vert2)
-
_detectAndResolveCrossOver
private boolean _detectAndResolveCrossOver(boolean bDirection1, boolean bDirection2, int vertexB1, int vertexA1, int vertexC1, int vertexB2, int vertexA2, int vertexC2)
-
_resolveOverlap
private void _resolveOverlap(boolean bDirection1, boolean bDirection2, int vertexA1, int vertexB1, int vertexA2, int vertexB2)
-
_resolveOverlapOddEven
private void _resolveOverlapOddEven(boolean bDirection1, boolean bDirection2, int vertexA1, int vertexB1, int vertexA2, int vertexB2)
-
_cleanupSpikes
private boolean _cleanupSpikes()
-
_removeSpike
private boolean _removeSpike(int vertexIn)
-
_fixOrphanVertices
private void _fixOrphanVertices()
-
_getNextEdgeIndex
private int _getNextEdgeIndex(int indexIn)
-
_transferVertexData
private void _transferVertexData(int vertexFrom, int vertexTo)
-
_removeAngleSortInfo
private void _removeAngleSortInfo(int vertex)
-
execute
public static boolean execute(EditShape shape, int geometry, int knownSimpleResult, boolean fixSelfTangency, ProgressTracker progressTracker)
-
-