Class Simplificator


  • class Simplificator
    extends java.lang.Object
    • Field Detail

      • m_geometry

        private int m_geometry
      • 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_ar

        private int[] m_ar
      • m_br

        private int[] m_br
    • Constructor Detail

      • Simplificator

        protected Simplificator()
    • 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)