Class TopoGraph


  • final class TopoGraph
    extends java.lang.Object
    • Field Detail

      • m_firstCluster

        int m_firstCluster
      • m_lastCluster

        int m_lastCluster
      • c_edgeParentageMask

        final int c_edgeParentageMask
      • c_edgeBitMask

        final int c_edgeBitMask
      • m_universeChain

        int m_universeChain
      • m_geometryIDIndex

        int m_geometryIDIndex
      • m_clusterIndex

        int m_clusterIndex
      • m_halfEdgeIndex

        int m_halfEdgeIndex
      • m_tmpHalfEdgeParentageIndex

        int m_tmpHalfEdgeParentageIndex
      • m_tmpHalfEdgeWindingNumberIndex

        int m_tmpHalfEdgeWindingNumberIndex
      • m_tmpHalfEdgeOddEvenNumberIndex

        int m_tmpHalfEdgeOddEvenNumberIndex
      • m_universe_geomID

        int m_universe_geomID
      • m_buildChains

        boolean m_buildChains
      • m_dirty_check_failed

        private boolean m_dirty_check_failed
      • m_check_dirty_planesweep_tolerance

        private double m_check_dirty_planesweep_tolerance
      • m_pointCount

        int m_pointCount
    • Constructor Detail

      • TopoGraph

        TopoGraph()
    • Method Detail

      • check_dirty_planesweep

        void check_dirty_planesweep​(double tolerance)
      • dirty_check_failed

        boolean dirty_check_failed()
      • newCluster_

        int newCluster_()
      • newHalfEdgePair_

        int newHalfEdgePair_()
      • newChain_

        int newChain_()
      • deleteChain_

        int deleteChain_​(int chain)
      • getClusterIndex_

        int getClusterIndex_​(int cluster)
      • setClusterVertexIterator_

        void setClusterVertexIterator_​(int cluster,
                                       int verticeList)
      • setClusterHalfEdge_

        void setClusterHalfEdge_​(int cluster,
                                 int half_edge)
      • setClusterParentage_

        void setClusterParentage_​(int cluster,
                                  int parentage)
      • setPrevCluster_

        void setPrevCluster_​(int cluster,
                             int nextCluster)
      • setNextCluster_

        void setNextCluster_​(int cluster,
                             int nextCluster)
      • setClusterVertexIndex_

        void setClusterVertexIndex_​(int cluster,
                                    int index)
      • getClusterVertexIndex_

        int getClusterVertexIndex_​(int cluster)
      • setClusterChain_

        void setClusterChain_​(int cluster,
                              int chain)
      • addClusterToExteriorChain_

        void addClusterToExteriorChain_​(int chain,
                                        int cluster)
      • getHalfEdgeIndex_

        int getHalfEdgeIndex_​(int he)
      • setHalfEdgeOrigin_

        void setHalfEdgeOrigin_​(int half_edge,
                                int cluster)
      • setHalfEdgeTwin_

        void setHalfEdgeTwin_​(int half_edge,
                              int twinHalfEdge)
      • setHalfEdgePrev_

        void setHalfEdgePrev_​(int half_edge,
                              int prevHalfEdge)
      • setHalfEdgeNext_

        void setHalfEdgeNext_​(int half_edge,
                              int nextHalfEdge)
      • setHalfEdgeChain_

        void setHalfEdgeChain_​(int half_edge,
                               int chain)
      • setHalfEdgeParentage_

        void setHalfEdgeParentage_​(int half_edge,
                                   int parentageMask)
      • getHalfEdgeParentageMask_

        int getHalfEdgeParentageMask_​(int half_edge)
      • setHalfEdgeVertexIterator_

        void setHalfEdgeVertexIterator_​(int half_edge,
                                        int vertexIterator)
      • updateVertexToHalfEdgeConnectionHelper_

        void updateVertexToHalfEdgeConnectionHelper_​(int half_edge,
                                                     boolean bClear)
      • updateVertexToHalfEdgeConnection_

        void updateVertexToHalfEdgeConnection_​(int half_edge,
                                               boolean bClear)
      • getChainIndex_

        int getChainIndex_​(int chain)
      • setChainHalfEdge_

        void setChainHalfEdge_​(int chain,
                               int half_edge)
      • setChainParentage_

        void setChainParentage_​(int chain,
                                int parentage)
      • setChainParent_

        void setChainParent_​(int chain,
                             int parentChain)
      • setChainFirstIsland_

        void setChainFirstIsland_​(int chain,
                                  int islandChain)
      • setChainNextInParent_

        void setChainNextInParent_​(int chain,
                                   int nextInParent)
      • setChainPrev_

        void setChainPrev_​(int chain,
                           int prev)
      • setChainNext_

        void setChainNext_​(int chain,
                           int next)
      • setChainArea_

        void setChainArea_​(int chain,
                           double area)
      • setChainPerimeter_

        void setChainPerimeter_​(int chain,
                                double perimeter)
      • updateChainAreaAndPerimeter_

        void updateChainAreaAndPerimeter_​(int chain)
      • getChainTopMostEdge_

        int getChainTopMostEdge_​(int chain)
      • planeSweepParentage_

        void planeSweepParentage_​(int inputMode,
                                  ProgressTracker progress_tracker)
      • planeSweepParentagePropagateParentage_

        void planeSweepParentagePropagateParentage_​(Treap aet,
                                                    int treeNode,
                                                    int inputMode)
      • propagate_parentage_build_graph_

        void propagate_parentage_build_graph_​(Treap aet,
                                              int treeNode,
                                              int edge,
                                              int leftEdge,
                                              int edgeChain,
                                              int edgeChainParent,
                                              int twinHalfEdgeChain)
      • propagate_parentage_winding_

        void propagate_parentage_winding_​(Treap aet,
                                          int treeNode,
                                          int edge,
                                          int leftEdge,
                                          int twinEdge,
                                          int edgeChain,
                                          int edgeChainParent,
                                          int twinHalfEdgeChain)
      • propagate_parentage_alternate_

        void propagate_parentage_alternate_​(Treap aet,
                                            int treeNode,
                                            int edge,
                                            int leftEdge,
                                            int twinEdge,
                                            int edgeChain,
                                            int edgeChainParent,
                                            int twinHalfEdgeChain)
      • tryOptimizedInsertion_

        boolean tryOptimizedInsertion_​(Treap aet,
                                       int treeNodeIndex,
                                       AttributeStreamOfInt32 new_edges,
                                       int cluster,
                                       int firstHalfEdge)
      • trySetChainParentFromTwin_

        boolean trySetChainParentFromTwin_​(int chainToSet,
                                           int twinChain)
      • mergeVertexListsOfEdges_

        void mergeVertexListsOfEdges_​(int eDst,
                                      int eSrc)
      • sortHalfEdgesByAngle_

        void sortHalfEdgesByAngle_​(int inputMode)
      • buildChains_

        void buildChains_​(int inputMode)
      • simplify_

        void simplify_​(int inputMode)
      • simplifyAlternate_

        void simplifyAlternate_()
      • simplifyWinding_

        void simplifyWinding_()
      • getFirstUnvisitedHalfEdgeOnCluster_

        private int getFirstUnvisitedHalfEdgeOnCluster_​(int cluster,
                                                        int hintEdge,
                                                        int vistiedEdgesIndex)
      • removeSpikes_

        boolean removeSpikes_()
      • deleteEdgeImpl_

        void deleteEdgeImpl_​(int half_edge)
      • getLeftSkipPolylines_

        int getLeftSkipPolylines_​(Treap aet,
                                  int treeNode)
      • setAndSimplifyEditShapeAlternate

        void setAndSimplifyEditShapeAlternate​(EditShape shape,
                                              int geometry,
                                              ProgressTracker progressTracker)
      • setAndSimplifyEditShapeWinding

        void setAndSimplifyEditShapeWinding​(EditShape shape,
                                            int geometry,
                                            ProgressTracker progressTracker)
      • removeShape

        void removeShape()
      • getClusterHalfEdge

        int getClusterHalfEdge​(int cluster)
      • getXY

        void getXY​(int cluster,
                   Point2D pt)
      • getClusterParentage

        int getClusterParentage​(int cluster)
      • getFirstCluster

        int getFirstCluster()
      • getPrevCluster

        int getPrevCluster​(int cluster)
      • getNextCluster

        int getNextCluster​(int cluster)
      • getClusterChain

        int getClusterChain​(int cluster)
      • getClusterVertexIterator

        int getClusterVertexIterator​(int cluster)
      • incrementVertexIterator

        int incrementVertexIterator​(int vertexIterator)
      • getVertexFromVertexIterator

        int getVertexFromVertexIterator​(int vertexIterator)
      • getClusterUserIndex

        int getClusterUserIndex​(int cluster,
                                int index)
      • setClusterUserIndex

        void setClusterUserIndex​(int cluster,
                                 int index,
                                 int value)
      • createUserIndexForClusters

        int createUserIndexForClusters()
      • deleteUserIndexForClusters

        void deleteUserIndexForClusters​(int userIndex)
      • getHalfEdgeOrigin

        int getHalfEdgeOrigin​(int half_edge)
      • getHalfEdgeTo

        int getHalfEdgeTo​(int half_edge)
      • getHalfEdgeTwin

        int getHalfEdgeTwin​(int half_edge)
      • getHalfEdgePrev

        int getHalfEdgePrev​(int half_edge)
      • getHalfEdgeNext

        int getHalfEdgeNext​(int half_edge)
      • getHalfEdgeChain

        int getHalfEdgeChain​(int half_edge)
      • getHalfEdgeFaceParentage

        int getHalfEdgeFaceParentage​(int half_edge)
      • getHalfEdgeVertexIterator

        int getHalfEdgeVertexIterator​(int half_edge)
      • getHalfEdgeFromXY

        void getHalfEdgeFromXY​(int half_edge,
                               Point2D pt)
      • getHalfEdgeToXY

        void getHalfEdgeToXY​(int half_edge,
                             Point2D pt)
      • getHalfEdgeParentage

        int getHalfEdgeParentage​(int half_edge)
      • getHalfEdgeUserIndex

        int getHalfEdgeUserIndex​(int half_edge,
                                 int index)
      • setHalfEdgeUserIndex

        void setHalfEdgeUserIndex​(int half_edge,
                                  int index,
                                  int value)
      • createUserIndexForHalfEdges

        int createUserIndexForHalfEdges()
      • deleteUserIndexForHalfEdges

        void deleteUserIndexForHalfEdges​(int userIndex)
      • deleteEdgeInternal_

        int deleteEdgeInternal_​(int half_edge)
      • doesHalfEdgeBelongToAPolygonInterior

        boolean doesHalfEdgeBelongToAPolygonInterior​(int half_edge,
                                                     int polygonId)
      • doesHalfEdgeBelongToAPolygonExterior

        boolean doesHalfEdgeBelongToAPolygonExterior​(int half_edge,
                                                     int polygonId)
      • doesHalfEdgeBelongToAPolygonBoundary

        boolean doesHalfEdgeBelongToAPolygonBoundary​(int half_edge,
                                                     int polygonId)
      • doesHalfEdgeBelongToAPolylineInterior

        boolean doesHalfEdgeBelongToAPolylineInterior​(int half_edge,
                                                      int polylineId)
      • doesHalfEdgeBelongToAPolylineExterior

        boolean doesHalfEdgeBelongToAPolylineExterior​(int half_edge,
                                                      int polylineId)
      • doesClusterBelongToAPolygonInterior

        boolean doesClusterBelongToAPolygonInterior​(int cluster,
                                                    int polygonId)
      • doesClusterBelongToAPolygonExterior

        boolean doesClusterBelongToAPolygonExterior​(int cluster,
                                                    int polygonId)
      • doesClusterBelongToAPolygonBoundary

        boolean doesClusterBelongToAPolygonBoundary​(int cluster,
                                                    int polygonId)
      • getFirstChain

        int getFirstChain()
      • getChainHalfEdge

        int getChainHalfEdge​(int chain)
      • getChainParentage

        int getChainParentage​(int chain)
      • getChainParent

        int getChainParent​(int chain)
      • getChainFirstIsland

        int getChainFirstIsland​(int chain)
      • getChainNextInParent

        int getChainNextInParent​(int chain)
      • getChainNext

        int getChainNext​(int chain)
      • getChainArea

        double getChainArea​(int chain)
      • getChainPerimeter

        double getChainPerimeter​(int chain)
      • getChainUserIndex

        int getChainUserIndex​(int chain,
                              int index)
      • setChainUserIndex

        void setChainUserIndex​(int chain,
                               int index,
                               int value)
      • createUserIndexForChains

        int createUserIndexForChains()
      • deleteUserIndexForChains

        void deleteUserIndexForChains​(int userIndex)
      • getGeometryID

        int getGeometryID​(int geometry)
      • getClusterFromVertex

        int getClusterFromVertex​(int vertex)
      • getHalfEdgeFromVertex

        int getHalfEdgeFromVertex​(int vertex)
      • getHalfEdgeConnector

        int getHalfEdgeConnector​(int clusterFrom,
                                 int clusterTo)
      • querySegmentXY

        void querySegmentXY​(int half_edge,
                            SegmentBuffer outBuffer)
      • compareEdgeAngles_

        int compareEdgeAngles_​(int edge1,
                               int edge2)
      • compareEdgeAnglesForPair_

        int compareEdgeAnglesForPair_​(int edge1,
                                      int edge2)
      • check_structure_after_dirty_sweep_

        boolean check_structure_after_dirty_sweep_()