Ignacio Vera created LUCENE-8746:
------------------------------------

             Summary: Make EdgeTree (aka ComponentTree) support different type 
of components
                 Key: LUCENE-8746
                 URL: https://issues.apache.org/jira/browse/LUCENE-8746
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Ignacio Vera


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.}}  

 

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to