📄 node.html
字号:
<DL>
<DD>Seek the last element of the node. No checking
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="seekElement(int)"><!-- --></A><H3>
seekElement</H3>
<PRE>
private void <B>seekElement</B>(int elmtIndex) throws java.io.IOException</PRE>
<DL>
<DD>seek the specified element.No checking
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="seekElementPtr(int)"><!-- --></A><H3>
seekElementPtr</H3>
<PRE>
private void <B>seekElementPtr</B>(int elmtIndex) throws java.io.IOException</PRE>
<DL>
<DD>seek the specified element's pointer.No checking
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getElementType()"><!-- --></A><H3>
getElementType</H3>
<PRE>
public int <B>getElementType</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="writeNodeHeader(long, int, long, int, int)"><!-- --></A><H3>
writeNodeHeader</H3>
<PRE>
private void <B>writeNodeHeader</B>(long nodeIdx, int totElmt, long prnt, int elmtSz, int elmtTp) throws java.io.IOException, <A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></PRE>
<DL>
<DD>this func. writes the passed info to the current node's header. Also updates the local variables.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE><DD><CODE><A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="writeNodeHeader(long, int, long, int, int, java.io.DataOutputStream)"><!-- --></A><H3>
writeNodeHeader</H3>
<PRE>
private void <B>writeNodeHeader</B>(long nodeIdx, int totElmt, long prnt, int elmtSz, int elmtTp, java.io.DataOutputStream ds) throws java.io.IOException, <A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></PRE>
<DL>
<DD>This method will write the node header into the <code>ds</code>. Will also update the local variables. It is assumed that the write pointer is correctly set in the o/p stream.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE><DD><CODE><A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getNodeIndex()"><!-- --></A><H3>
getNodeIndex</H3>
<PRE>
public long <B>getNodeIndex</B>()</PRE>
<DL>
<DD>will return the index of the node.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="refreshNode()"><!-- --></A><H3>
refreshNode</H3>
<PRE>
private void <B>refreshNode</B>() throws java.io.IOException</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getAllRectangles()"><!-- --></A><H3>
getAllRectangles</H3>
<PRE>
<A HREF="../rtree/Rect.html" title="class in rtree">Rect</A>[] <B>getAllRectangles</B>() throws <A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getLeastEnlargement(rtree.Element)"><!-- --></A><H3>
getLeastEnlargement</H3>
<PRE>
public <A HREF="../rtree/Element.html" title="class in rtree">Element</A> <B>getLeastEnlargement</B>(<A HREF="../rtree/Element.html" title="class in rtree">Element</A> elmt) throws <A HREF="../rtree/NodeEmptyException.html" title="class in rtree">NodeEmptyException</A>, <A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A>, <A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></PRE>
<DL>
<DD>Returns the element(of the current node) whose rectangle needs the least enlargment to include <code>elmt</code>. The logic assumes that the elements are not sorted. See the documentation for least enlargement logic.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/NodeEmptyException.html" title="class in rtree">NodeEmptyException</A></CODE><DD><CODE><A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></CODE><DD><CODE><A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="isInsertPossible()"><!-- --></A><H3>
isInsertPossible</H3>
<PRE>
boolean <B>isInsertPossible</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a boolean describing whether there is space for another element</DL>
</DD>
</DL>
<HR>
<A NAME="splitNode(rtree.Element, long)"><!-- --></A><H3>
splitNode</H3>
<PRE>
public <A HREF="../rtree/Node.html" title="class in rtree">Node</A>[] <B>splitNode</B>(<A HREF="../rtree/Element.html" title="class in rtree">Element</A> elmtM1, long slotIndex) throws <A HREF="../rtree/RTreeException.html" title="class in rtree">RTreeException</A>, <A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></PRE>
<DL>
<DD>See ./Logic.txt Linear split Algo. February 1003 - Now quad split algo.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>slotIndex</CODE> - The index of the slot of this tree if any, else give NOT_DEFINED.<DT><B>Returns:</B><DD>First node would be the original node.Second would be the new one.<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/RTreeException.html" title="class in rtree">RTreeException</A></CODE><DD><CODE><A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="lnrPickSeeds(rtree.Element[])"><!-- --></A><H3>
lnrPickSeeds</H3>
<PRE>
private int[] <B>lnrPickSeeds</B>(<A HREF="../rtree/Element.html" title="class in rtree">Element</A>[] elmts) throws <A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></PRE>
<DL>
<DD>The linear Pick Seed method from Guttman. Assuming that we have only 2 dimensions. <br>this method is no longer used (certainly not deprecated), instead <code>quadPickSeeds</code> is being used
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the two picked indexes from the node<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="quadPickSeeds(rtree.Element[])"><!-- --></A><H3>
quadPickSeeds</H3>
<PRE>
private int[] <B>quadPickSeeds</B>(<A HREF="../rtree/Element.html" title="class in rtree">Element</A>[] elmts) throws <A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></PRE>
<DL>
<DD>The quadratic Pick Seed method from Guttman. Assuming that we have only 2 dimensions. This method is slightly slower than the linear method but it results in better splits, besides it is much easier to implement.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the two picked indexes from the node<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getParent()"><!-- --></A><H3>
getParent</H3>
<PRE>
public long <B>getParent</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getElementIndex(long)"><!-- --></A><H3>
getElementIndex</H3>
<PRE>
public int <B>getElementIndex</B>(long ptr)</PRE>
<DL>
<DD>returns index of the element with the pointer passed in the parameter
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>returns NOT_DEFINED if ptr is not found</DL>
</DD>
</DL>
<HR>
<A NAME="modifyElement(int, rtree.Element)"><!-- --></A><H3>
modifyElement</H3>
<PRE>
public void <B>modifyElement</B>(int index, <A HREF="../rtree/Element.html" title="class in rtree">Element</A> elmt) throws <A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A>, java.io.IOException, <A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></PRE>
<DL>
<DD>Used to overwrite the old Element with the new one. It modifies the element in the disk as well as in the local variables.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></CODE><DD><CODE>java.io.IOException</CODE><DD><CODE><A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="modifyElement(int, long)"><!-- --></A><H3>
modifyElement</H3>
<PRE>
public void <B>modifyElement</B>(int index, long pointer) throws <A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A>, java.io.IOException, <A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></PRE>
<DL>
<DD>Overloaded
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><CODE><A HREF="../rtree/IllegalValueException.html" title="class in rtree">IllegalValueException</A></CODE><DD><CODE>java.io.IOException</CODE><DD><CODE><A HREF="../rtree/NodeWriteException.html" title="class in rtree">NodeWriteException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="modifyElement(int, rtree.Rect)"><!-- --></A><H3>
modifyElement</H3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -