Class IntervalTreeImpl
java.lang.Object
com.esri.core.geometry.IntervalTreeImpl
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate class(package private) static final classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate intprivate AttributeStreamOfInt32private ArrayList<Envelope2D> private AttributeStreamOfInt32private StridedIndexTypeCollectionprivate ArrayList<Envelope1D> private intprivate IndexMultiDCListprivate Treapprivate StridedIndexTypeCollection -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate intaddEndIndex_(int secondary_handle, int end_index) (package private) voidaddEnvelopesRef(ArrayList<Envelope2D> envelopes) (package private) voidaddInterval(double min, double max) (package private) voidaddInterval(Envelope1D interval) private intcalculateDiscriminantIndex1_(int il, int ir) private intprivate intprivate intcreateSecondary_(int tertiary_handle) private intcreateTertiaryNode_(int discriminant_index_1) (package private) voidprivate doublegetDiscriminant_(int tertiary_handle) private doublegetDiscriminantFromIndex1_(int discriminant_index_1) private intgetDiscriminantIndex1_(int tertiary_handle) private intgetFirst_(int secondary_handle) (package private) IntervalTreeImpl.IntervalTreeIteratorImplGets an iterator on the Interval_tree_impl.(package private) IntervalTreeImpl.IntervalTreeIteratorImplgetIterator(double query, double tolerance) Gets an iterator on the Interval_tree_impl using the input double as the stabbing query.(package private) IntervalTreeImpl.IntervalTreeIteratorImplgetIterator(Envelope1D query, double tolerance) Gets an iterator on the Interval_tree_impl using the input Envelope_1D interval as the query.private intgetLast_(int secondary_handle) private intgetLeftEnd_(int interval_handle) private intgetLPTR_(int tertiary_handle) private doublegetMax_(int i) private doublegetMin_(int i) private intgetPPTR_(int tertiary_handle) private intgetRightEnd_(int interval_handle) private intgetRPTR_(int tertiary_handle) private intgetSecondaryFromInterval_(int interval_handle) private intgetSecondaryFromTertiary_(int tertiary_handle) private doublegetValue_(int e) (package private) voidinsert(int index) private intinsertIntervalEnd_(int end_index, int root) private voidprivate static booleanisLeft_(int end_index) private static booleanisRight_(int end_index) private voidquerySortedDuplicatesRemoved_(AttributeStreamOfInt32 end_indices_sorted) private voidquerySortedEndPointIndices_(AttributeStreamOfInt32 end_indices) (package private) voidremove(int index) (package private) voidreset()private voidreset_(boolean b_new_intervals, boolean b_envelopes_ref) private voidsetDiscriminantIndex1_(int tertiary_handle, int end_index) private voidsetLeftEnd_(int interval_handle, int left_end_handle) private voidsetLPTR_(int tertiary_handle, int lptr) private voidsetPPTR_(int tertiary_handle, int pptr) private voidsetRightEnd_(int interval_handle, int right_end_handle) private voidsetRPTR_(int tertiary_handle, int rptr) private voidsetSecondaryToInterval_(int interval_handle, int secondary_handle) private voidsetSecondaryToTertiary_(int tertiary_handle, int secondary_handle) (package private) intsize()Returns the number of intervals stored in the Interval_tree_implprivate voidsortEndIndices_(AttributeStreamOfInt32 end_indices, int begin_, int end_) private voidsortEndIndicesHelper_(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)
-