Package com.esri.core.geometry
Class IntervalTreeImpl
java.lang.Object
com.esri.core.geometry.IntervalTreeImpl
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private class
(package private) static final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private boolean
private boolean
private boolean
private int
private AttributeStreamOfInt32
private ArrayList
<Envelope2D> private AttributeStreamOfInt32
private StridedIndexTypeCollection
private ArrayList
<Envelope1D> private int
private IndexMultiDCList
private Treap
private StridedIndexTypeCollection
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate int
addEndIndex_
(int secondary_handle, int end_index) (package private) void
addEnvelopesRef
(ArrayList<Envelope2D> envelopes) (package private) void
addInterval
(double min, double max) (package private) void
addInterval
(Envelope1D interval) private int
calculateDiscriminantIndex1_
(int il, int ir) private int
private int
private int
createSecondary_
(int tertiary_handle) private int
createTertiaryNode_
(int discriminant_index_1) (package private) void
private double
getDiscriminant_
(int tertiary_handle) private double
getDiscriminantFromIndex1_
(int discriminant_index_1) private int
getDiscriminantIndex1_
(int tertiary_handle) private int
getFirst_
(int secondary_handle) (package private) IntervalTreeImpl.IntervalTreeIteratorImpl
Gets an iterator on the Interval_tree_impl.(package private) IntervalTreeImpl.IntervalTreeIteratorImpl
getIterator
(double query, double tolerance) Gets an iterator on the Interval_tree_impl using the input double as the stabbing query.(package private) IntervalTreeImpl.IntervalTreeIteratorImpl
getIterator
(Envelope1D query, double tolerance) Gets an iterator on the Interval_tree_impl using the input Envelope_1D interval as the query.private int
getLast_
(int secondary_handle) private int
getLeftEnd_
(int interval_handle) private int
getLPTR_
(int tertiary_handle) private double
getMax_
(int i) private double
getMin_
(int i) private int
getPPTR_
(int tertiary_handle) private int
getRightEnd_
(int interval_handle) private int
getRPTR_
(int tertiary_handle) private int
getSecondaryFromInterval_
(int interval_handle) private int
getSecondaryFromTertiary_
(int tertiary_handle) private double
getValue_
(int e) (package private) void
insert
(int index) private int
insertIntervalEnd_
(int end_index, int root) private void
private static boolean
isLeft_
(int end_index) private static boolean
isRight_
(int end_index) private void
querySortedDuplicatesRemoved_
(AttributeStreamOfInt32 end_indices_sorted) private void
querySortedEndPointIndices_
(AttributeStreamOfInt32 end_indices) (package private) void
remove
(int index) (package private) void
reset()
private void
reset_
(boolean b_new_intervals, boolean b_envelopes_ref) private void
setDiscriminantIndex1_
(int tertiary_handle, int end_index) private void
setLeftEnd_
(int interval_handle, int left_end_handle) private void
setLPTR_
(int tertiary_handle, int lptr) private void
setPPTR_
(int tertiary_handle, int pptr) private void
setRightEnd_
(int interval_handle, int right_end_handle) private void
setRPTR_
(int tertiary_handle, int rptr) private void
setSecondaryToInterval_
(int interval_handle, int secondary_handle) private void
setSecondaryToTertiary_
(int tertiary_handle, int secondary_handle) (package private) int
size()
Returns the number of intervals stored in the Interval_tree_implprivate void
sortEndIndices_
(AttributeStreamOfInt32 end_indices, int begin_, int end_) private void
sortEndIndicesHelper_
(AttributeStreamOfInt32 end_indices, int begin_, int end_) (package private) void
-
Field Details
-
m_b_envelopes_ref
private boolean m_b_envelopes_ref -
m_b_offline_dynamic
private boolean m_b_offline_dynamic -
m_intervals
-
m_envelopes_ref
-
m_tertiary_nodes
-
m_interval_nodes
-
m_interval_handles
-
m_secondary_lists
-
m_secondary_treaps
-
m_end_indices_unique
-
m_c_count
private int m_c_count -
m_root
private int m_root -
m_b_sort_intervals
private boolean m_b_sort_intervals -
m_b_constructing
private boolean m_b_constructing -
m_b_construction_ended
private boolean m_b_construction_ended
-
-
Constructor Details
-
IntervalTreeImpl
IntervalTreeImpl(boolean b_offline_dynamic)
-
-
Method Details
-
sortEndIndices_
-
sortEndIndicesHelper_
-
getValue_
private double getValue_(int e) -
addEnvelopesRef
-
startConstruction
void startConstruction() -
addInterval
-
addInterval
void addInterval(double min, double max) -
endConstruction
void endConstruction() -
reset
void reset() -
size
int size()Returns the number of intervals stored in the Interval_tree_impl -
getIterator
Gets an iterator on the Interval_tree_impl using the input Envelope_1D interval as the query. To reuse the existing iterator on the same Interval_tree_impl but with a new query, use the reset_iterator function on the Interval_tree_iterator_impl. \param query The Envelope_1D interval used for the query. \param tolerance The tolerance used for the intersection tests. -
getIterator
Gets an iterator on the Interval_tree_impl using the input double as the stabbing query. To reuse the existing iterator on the same Interval_tree_impl but with a new query, use the reset_iterator function on the Interval_tree_iterator_impl. \param query The double used for the stabbing query. \param tolerance The tolerance used for the intersection tests. -
getIterator
IntervalTreeImpl.IntervalTreeIteratorImpl getIterator()Gets an iterator on the Interval_tree_impl. -
querySortedEndPointIndices_
-
querySortedDuplicatesRemoved_
-
insert
void insert(int index) -
insertIntervalsStatic_
private void insertIntervalsStatic_() -
createRoot_
private int createRoot_() -
insertIntervalEnd_
private int insertIntervalEnd_(int end_index, int root) -
remove
void remove(int index) -
reset_
private void reset_(boolean b_new_intervals, boolean b_envelopes_ref) -
getDiscriminant_
private double getDiscriminant_(int tertiary_handle) -
getDiscriminantFromIndex1_
private double getDiscriminantFromIndex1_(int discriminant_index_1) -
calculateDiscriminantIndex1_
private int calculateDiscriminantIndex1_(int il, int ir) -
createTertiaryNode_
private int createTertiaryNode_(int discriminant_index_1) -
createSecondary_
private int createSecondary_(int tertiary_handle) -
createIntervalNode_
private int createIntervalNode_() -
setDiscriminantIndex1_
private void setDiscriminantIndex1_(int tertiary_handle, int end_index) -
setSecondaryToTertiary_
private void setSecondaryToTertiary_(int tertiary_handle, int secondary_handle) -
setLPTR_
private void setLPTR_(int tertiary_handle, int lptr) -
setRPTR_
private void setRPTR_(int tertiary_handle, int rptr) -
setPPTR_
private void setPPTR_(int tertiary_handle, int pptr) -
setSecondaryToInterval_
private void setSecondaryToInterval_(int interval_handle, int secondary_handle) -
addEndIndex_
private int addEndIndex_(int secondary_handle, int end_index) -
setLeftEnd_
private void setLeftEnd_(int interval_handle, int left_end_handle) -
setRightEnd_
private void setRightEnd_(int interval_handle, int right_end_handle) -
getDiscriminantIndex1_
private int getDiscriminantIndex1_(int tertiary_handle) -
getSecondaryFromTertiary_
private int getSecondaryFromTertiary_(int tertiary_handle) -
getLPTR_
private int getLPTR_(int tertiary_handle) -
getRPTR_
private int getRPTR_(int tertiary_handle) -
getPPTR_
private int getPPTR_(int tertiary_handle) -
getSecondaryFromInterval_
private int getSecondaryFromInterval_(int interval_handle) -
getLeftEnd_
private int getLeftEnd_(int interval_handle) -
getRightEnd_
private int getRightEnd_(int interval_handle) -
getMin_
private double getMin_(int i) -
getMax_
private double getMax_(int i) -
getFirst_
private int getFirst_(int secondary_handle) -
getLast_
private int getLast_(int secondary_handle) -
isLeft_
private static boolean isLeft_(int end_index) -
isRight_
private static boolean isRight_(int end_index)
-