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 classSimplificator.SimplificatorAngleComparerprivate static classSimplificator.SimplificatorVertexComparer
-
Field Summary
Fields Modifier and Type Field Description private int[]m_arprivate int[]m_brprivate AttributeStreamOfInt32m_bunchEdgeCenterPointsprivate AttributeStreamOfInt32m_bunchEdgeEndPointsprivate AttributeStreamOfInt32m_bunchEdgeIndicesprivate intm_firstCoincidentVertexprivate booleanm_fixSelfTangencyprivate intm_geometryprivate intm_nextVertexToProcessprivate ProgressTrackerm_progressTrackerprivate EditShapem_shapeprivate IndexMultiDCListm_sortedVerticesprivate intm_sortedVerticesListIndexprivate intm_userIndexSortedAngleIndexToVertexprivate intm_userIndexSortedIndexToVertex
-
Constructor Summary
Constructors Modifier Constructor Description protectedSimplificator()
-
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 booleanexecute(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)
-
-