Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-8746

Make EdgeTree (aka ComponentTree) support different type of components

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 8.4
    • None
    • None
    • New

    Description

      Currently the class EdgeTree is a bit confusing as it is in reality a tree of components. The inner class Edge is the one that builds a tree of edges which is used by Polygon2D and Line2D to represent their structure.

      Here is proposed:

      1) Create a new class called ComponentTree which is in fact the current EdgeTree

      2) Modify EdgeTree to be in fact the inner class Edge

      3) Extract a Component interface so we can have different types of components in the same tree. This allow us to support heterogeneous trees of components.

      4) Make Polygon2D and Line2D instance of the component interface.

      4) With this change, LatLonShapePolygonQuery and LatLonShapeLineQuery can be replaced with one LatLonShapeComponentQuery.  

       

       

       

      Attachments

        Activity

          People

            ivera Ignacio Vera
            ivera Ignacio Vera
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 3h 40m
                3h 40m