| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> |
| <title>BSPTree (Apache Commons Math 3.3 API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="BSPTree (Apache Commons Math 3.3 API)"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar_top"> |
| <!-- --> |
| </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/BSPTree.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BoundaryProjection.html" title="class in org.apache.commons.math3.geometry.partitioning"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="interface in org.apache.commons.math3.geometry.partitioning"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/commons/math3/geometry/partitioning/BSPTree.html" target="_top">Frames</a></li> |
| <li><a href="BSPTree.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested_class_summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor_summary">Constr</a> | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor_detail">Constr</a> | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.commons.math3.geometry.partitioning</div> |
| <h2 title="Class BSPTree" class="title">Class BSPTree<S extends <a href="../../../../../../org/apache/commons/math3/geometry/Space.html" title="interface in org.apache.commons.math3.geometry">Space</a>></h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.commons.math3.geometry.partitioning.BSPTree<S></li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>S</code> - Type of the space.</dd></dl> |
| <hr> |
| <br> |
| <pre>public class <span class="strong">BSPTree<S extends <a href="../../../../../../org/apache/commons/math3/geometry/Space.html" title="interface in org.apache.commons.math3.geometry">Space</a>></span> |
| extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> |
| <div class="block">This class represent a Binary Space Partition tree. |
| |
| <p>BSP trees are an efficient way to represent space partitions and |
| to associate attributes with each cell. Each node in a BSP tree |
| represents a convex region which is partitioned in two convex |
| sub-regions at each side of a cut hyperplane. The root tree |
| contains the complete space.</p> |
| |
| <p>The main use of such partitions is to use a boolean attribute to |
| define an inside/outside property, hence representing arbitrary |
| polytopes (line segments in 1D, polygons in 2D and polyhedrons in |
| 3D) and to operate on them.</p> |
| |
| <p>Another example would be to represent Voronoi tesselations, the |
| attribute of each cell holding the defining point of the cell.</p> |
| |
| <p>The application-defined attributes are shared among copied |
| instances and propagated to split parts. These attributes are not |
| used by the BSP-tree algorithms themselves, so the application can |
| use them for any purpose. Since the tree visiting method holds |
| internal and leaf nodes differently, it is possible to use |
| different classes for internal nodes attributes and leaf nodes |
| attributes. This should be used with care, though, because if the |
| tree is modified in any way after attributes have been set, some |
| internal nodes may become leaf nodes and some leaf nodes may become |
| internal nodes.</p> |
| |
| <p>One of the main sources for the development of this package was |
| Bruce Naylor, John Amanatides and William Thibault paper <a |
| href="http://www.cs.yorku.ca/~amana/research/bsptSetOp.pdf">Merging |
| BSP Trees Yields Polyhedral Set Operations</a> Proc. Siggraph '90, |
| Computer Graphics 24(4), August 1990, pp 115-124, published by the |
| Association for Computing Machinery (ACM).</p></div> |
| <dl><dt><span class="strong">Since:</span></dt> |
| <dd>3.0</dd> |
| <dt><span class="strong">Version:</span></dt> |
| <dd>$Id: BSPTree.java 1560115 2014-01-21 17:49:13Z luc $</dd></dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="nested_class_summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Class and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static interface </code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="interface in org.apache.commons.math3.geometry.partitioning">BSPTree.LeafMerger</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="type parameter in BSPTree.LeafMerger">S</a> extends <a href="../../../../../../org/apache/commons/math3/geometry/Space.html" title="interface in org.apache.commons.math3.geometry">Space</a>></strong></code> |
| <div class="block">This interface gather the merging operations between a BSP tree |
| leaf and another BSP tree.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor_summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#BSPTree()">BSPTree</a></strong>()</code> |
| <div class="block">Build a tree having only one root cell representing the whole space.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#BSPTree(java.lang.Object)">BSPTree</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> attribute)</code> |
| <div class="block">Build a tree having only one root cell representing the whole space.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#BSPTree(org.apache.commons.math3.geometry.partitioning.SubHyperplane, org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.partitioning.BSPTree, java.lang.Object)">BSPTree</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> cut, |
| <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> plus, |
| <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> minus, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> attribute)</code> |
| <div class="block">Build a BSPTree from its underlying elements.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span>Methods</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#copySelf()">copySelf</a></strong>()</code> |
| <div class="block">Copy the instance.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getAttribute()">getAttribute</a></strong>()</code> |
| <div class="block">Get the attribute associated with the instance.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCell(org.apache.commons.math3.geometry.Point, double)">getCell</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/Point.html" title="interface in org.apache.commons.math3.geometry">Point</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> point, |
| double tolerance)</code> |
| <div class="block">Get the cell to which a point belongs.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCell(org.apache.commons.math3.geometry.Vector)">getCell</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/Vector.html" title="interface in org.apache.commons.math3.geometry">Vector</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> point)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>as of 3.3, replaced with <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCell(org.apache.commons.math3.geometry.Point, double)"><code>getCell(Point, double)</code></a></i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCloseCuts(org.apache.commons.math3.geometry.Point, double)">getCloseCuts</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/Point.html" title="interface in org.apache.commons.math3.geometry">Point</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> point, |
| double maxOffset)</code> |
| <div class="block">Get the cells whose cut sub-hyperplanes are close to the point.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCut()">getCut</a></strong>()</code> |
| <div class="block">Get the cut sub-hyperplane.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getMinus()">getMinus</a></strong>()</code> |
| <div class="block">Get the tree on the minus side of the cut hyperplane.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getParent()">getParent</a></strong>()</code> |
| <div class="block">Get the parent node.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getPlus()">getPlus</a></strong>()</code> |
| <div class="block">Get the tree on the plus side of the cut hyperplane.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#insertCut(org.apache.commons.math3.geometry.partitioning.Hyperplane)">insertCut</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/Hyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">Hyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> hyperplane)</code> |
| <div class="block">Insert a cut sub-hyperplane in a node.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#insertInTree(org.apache.commons.math3.geometry.partitioning.BSPTree, boolean)">insertInTree</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> parentTree, |
| boolean isPlusChild)</code> |
| <div class="block">Insert the instance into another tree.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#merge(org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.partitioning.BSPTree.LeafMerger)">merge</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> tree, |
| <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="interface in org.apache.commons.math3.geometry.partitioning">BSPTree.LeafMerger</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> leafMerger)</code> |
| <div class="block">Merge a BSP tree with the instance.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#pruneAroundConvexCell(java.lang.Object, java.lang.Object, java.lang.Object)">pruneAroundConvexCell</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> cellAttribute, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> otherLeafsAttributes, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> internalAttributes)</code> |
| <div class="block">Prune a tree around a cell.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#setAttribute(java.lang.Object)">setAttribute</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> attribute)</code> |
| <div class="block">Associate an attribute with the instance.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#split(org.apache.commons.math3.geometry.partitioning.SubHyperplane)">split</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> sub)</code> |
| <div class="block">Split a BSP tree by an external sub-hyperplane.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#visit(org.apache.commons.math3.geometry.partitioning.BSPTreeVisitor)">visit</a></strong>(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTreeVisitor.html" title="interface in org.apache.commons.math3.geometry.partitioning">BSPTreeVisitor</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> visitor)</code> |
| <div class="block">Visit the BSP tree nodes.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> |
| <code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor_detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="BSPTree()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>BSPTree</h4> |
| <pre>public BSPTree()</pre> |
| <div class="block">Build a tree having only one root cell representing the whole space.</div> |
| </li> |
| </ul> |
| <a name="BSPTree(java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>BSPTree</h4> |
| <pre>public BSPTree(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> attribute)</pre> |
| <div class="block">Build a tree having only one root cell representing the whole space.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>attribute</code> - attribute of the tree (may be null)</dd></dl> |
| </li> |
| </ul> |
| <a name="BSPTree(org.apache.commons.math3.geometry.partitioning.SubHyperplane, org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.partitioning.BSPTree, java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>BSPTree</h4> |
| <pre>public BSPTree(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> cut, |
| <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> plus, |
| <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> minus, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> attribute)</pre> |
| <div class="block">Build a BSPTree from its underlying elements. |
| <p>This method does <em>not</em> perform any verification on |
| consistency of its arguments, it should therefore be used only |
| when then caller knows what it is doing.</p> |
| <p>This method is mainly useful to build trees |
| bottom-up. Building trees top-down is realized with the help of |
| method <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#insertCut(org.apache.commons.math3.geometry.partitioning.Hyperplane)"><code>insertCut</code></a>.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>cut</code> - cut sub-hyperplane for the tree</dd><dd><code>plus</code> - plus side sub-tree</dd><dd><code>minus</code> - minus side sub-tree</dd><dd><code>attribute</code> - attribute associated with the node (may be null)</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#insertCut(org.apache.commons.math3.geometry.partitioning.Hyperplane)"><code>insertCut(org.apache.commons.math3.geometry.partitioning.Hyperplane<S>)</code></a></dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="insertCut(org.apache.commons.math3.geometry.partitioning.Hyperplane)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>insertCut</h4> |
| <pre>public boolean insertCut(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/Hyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">Hyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> hyperplane)</pre> |
| <div class="block">Insert a cut sub-hyperplane in a node. |
| <p>The sub-tree starting at this node will be completely |
| overwritten. The new cut sub-hyperplane will be built from the |
| intersection of the provided hyperplane with the cell. If the |
| hyperplane does intersect the cell, the cell will have two |
| children cells with <code>null</code> attributes on each side of |
| the inserted cut sub-hyperplane. If the hyperplane does not |
| intersect the cell then <em>no</em> cut hyperplane will be |
| inserted and the cell will be changed to a leaf cell. The |
| attribute of the node is never changed.</p> |
| <p>This method is mainly useful when called on leaf nodes |
| (i.e. nodes for which <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCut()"><code>getCut</code></a> returns |
| <code>null</code>), in this case it provides a way to build a |
| tree top-down (whereas the <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#BSPTree(org.apache.commons.math3.geometry.partitioning.SubHyperplane, org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.partitioning.BSPTree, java.lang.Object)"><code>4 arguments constructor</code></a> is devoted to |
| build trees bottom-up).</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>hyperplane</code> - hyperplane to insert, it will be chopped in |
| order to fit in the cell defined by the parent nodes of the |
| instance</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>true if a cut sub-hyperplane has been inserted (i.e. if |
| the cell now has two leaf child nodes)</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#BSPTree(org.apache.commons.math3.geometry.partitioning.SubHyperplane, org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.partitioning.BSPTree, java.lang.Object)"><code>BSPTree(SubHyperplane, BSPTree, BSPTree, Object)</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="copySelf()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>copySelf</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> copySelf()</pre> |
| <div class="block">Copy the instance. |
| <p>The instance created is completely independent of the original |
| one. A deep copy is used, none of the underlying objects are |
| shared (except for the nodes attributes and immutable |
| objects).</p></div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>a new tree, copy of the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="getCut()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCut</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> getCut()</pre> |
| <div class="block">Get the cut sub-hyperplane.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>cut sub-hyperplane, null if this is a leaf tree</dd></dl> |
| </li> |
| </ul> |
| <a name="getPlus()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPlus</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> getPlus()</pre> |
| <div class="block">Get the tree on the plus side of the cut hyperplane.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>tree on the plus side of the cut hyperplane, null if this |
| is a leaf tree</dd></dl> |
| </li> |
| </ul> |
| <a name="getMinus()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMinus</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> getMinus()</pre> |
| <div class="block">Get the tree on the minus side of the cut hyperplane.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>tree on the minus side of the cut hyperplane, null if this |
| is a leaf tree</dd></dl> |
| </li> |
| </ul> |
| <a name="getParent()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getParent</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> getParent()</pre> |
| <div class="block">Get the parent node.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>parent node, null if the node has no parents</dd></dl> |
| </li> |
| </ul> |
| <a name="setAttribute(java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setAttribute</h4> |
| <pre>public void setAttribute(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> attribute)</pre> |
| <div class="block">Associate an attribute with the instance.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>attribute</code> - attribute to associate with the node</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getAttribute()"><code>getAttribute()</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getAttribute()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAttribute</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> getAttribute()</pre> |
| <div class="block">Get the attribute associated with the instance.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>attribute associated with the node or null if no |
| attribute has been explicitly set using the <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#setAttribute(java.lang.Object)"><code>setAttribute</code></a> method</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#setAttribute(java.lang.Object)"><code>setAttribute(java.lang.Object)</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="visit(org.apache.commons.math3.geometry.partitioning.BSPTreeVisitor)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>visit</h4> |
| <pre>public void visit(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTreeVisitor.html" title="interface in org.apache.commons.math3.geometry.partitioning">BSPTreeVisitor</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> visitor)</pre> |
| <div class="block">Visit the BSP tree nodes.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - object visiting the tree nodes</dd></dl> |
| </li> |
| </ul> |
| <a name="getCell(org.apache.commons.math3.geometry.Vector)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCell</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> getCell(<a href="../../../../../../org/apache/commons/math3/geometry/Vector.html" title="interface in org.apache.commons.math3.geometry">Vector</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> point)</pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>as of 3.3, replaced with <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html#getCell(org.apache.commons.math3.geometry.Point, double)"><code>getCell(Point, double)</code></a></i></div> |
| <div class="block">Get the cell to which a point belongs. |
| <p>If the returned cell is a leaf node the points belongs to the |
| interior of the node, if the cell is an internal node the points |
| belongs to the node cut sub-hyperplane.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>point</code> - point to check</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the tree cell to which the point belongs</dd></dl> |
| </li> |
| </ul> |
| <a name="getCell(org.apache.commons.math3.geometry.Point, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCell</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> getCell(<a href="../../../../../../org/apache/commons/math3/geometry/Point.html" title="interface in org.apache.commons.math3.geometry">Point</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> point, |
| double tolerance)</pre> |
| <div class="block">Get the cell to which a point belongs. |
| <p>If the returned cell is a leaf node the points belongs to the |
| interior of the node, if the cell is an internal node the points |
| belongs to the node cut sub-hyperplane.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>point</code> - point to check</dd><dd><code>tolerance</code> - tolerance below which points close to a cut hyperplane |
| are considered to belong to the hyperplane itself</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the tree cell to which the point belongs</dd></dl> |
| </li> |
| </ul> |
| <a name="getCloseCuts(org.apache.commons.math3.geometry.Point, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCloseCuts</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>>> getCloseCuts(<a href="../../../../../../org/apache/commons/math3/geometry/Point.html" title="interface in org.apache.commons.math3.geometry">Point</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> point, |
| double maxOffset)</pre> |
| <div class="block">Get the cells whose cut sub-hyperplanes are close to the point.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>point</code> - point to check</dd><dd><code>maxOffset</code> - offset below which a cut sub-hyperplane is considered |
| close to the point (in absolute value)</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>close cells (may be empty if all cut sub-hyperplanes are farther |
| than maxOffset from the point)</dd></dl> |
| </li> |
| </ul> |
| <a name="merge(org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.partitioning.BSPTree.LeafMerger)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>merge</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> merge(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> tree, |
| <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="interface in org.apache.commons.math3.geometry.partitioning">BSPTree.LeafMerger</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> leafMerger)</pre> |
| <div class="block">Merge a BSP tree with the instance. |
| <p>All trees are modified (parts of them are reused in the new |
| tree), it is the responsibility of the caller to ensure a copy |
| has been done before if any of the former tree should be |
| preserved, <em>no</em> such copy is done here!</p> |
| <p>The algorithm used here is directly derived from the one |
| described in the Naylor, Amanatides and Thibault paper (section |
| III, Binary Partitioning of a BSP Tree).</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>tree</code> - other tree to merge with the instance (will be |
| <em>unusable</em> after the operation, as well as the |
| instance itself)</dd><dd><code>leafMerger</code> - object implementing the final merging phase |
| (this is where the semantic of the operation occurs, generally |
| depending on the attribute of the leaf node)</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new tree, result of <code>instance <op> |
| tree</code>, this value can be ignored if parentTree is not null |
| since all connections have already been established</dd></dl> |
| </li> |
| </ul> |
| <a name="split(org.apache.commons.math3.geometry.partitioning.SubHyperplane)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>split</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> split(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> sub)</pre> |
| <div class="block">Split a BSP tree by an external sub-hyperplane. |
| <p>Split a tree in two halves, on each side of the |
| sub-hyperplane. The instance is not modified.</p> |
| <p>The tree returned is not upward-consistent: despite all of its |
| sub-trees cut sub-hyperplanes (including its own cut |
| sub-hyperplane) are bounded to the current cell, it is <em>not</em> |
| attached to any parent tree yet. This tree is intended to be |
| later inserted into an higher level tree.</p> |
| <p>The algorithm used here is the one given in Naylor, Amanatides |
| and Thibault paper (section III, Binary Partitioning of a BSP |
| Tree).</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>sub</code> - partitioning sub-hyperplane, must be already clipped |
| to the convex region represented by the instance, will be used as |
| the cut sub-hyperplane of the returned tree</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a tree having the specified sub-hyperplane as its cut |
| sub-hyperplane, the two parts of the split instance as its two |
| sub-trees and a null parent</dd></dl> |
| </li> |
| </ul> |
| <a name="insertInTree(org.apache.commons.math3.geometry.partitioning.BSPTree, boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>insertInTree</h4> |
| <pre>public void insertInTree(<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> parentTree, |
| boolean isPlusChild)</pre> |
| <div class="block">Insert the instance into another tree. |
| <p>The instance itself is modified so its former parent should |
| not be used anymore.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>parentTree</code> - parent tree to connect to (may be null)</dd><dd><code>isPlusChild</code> - if true and if parentTree is not null, the |
| resulting tree should be the plus child of its parent, ignored if |
| parentTree is null</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="interface in org.apache.commons.math3.geometry.partitioning"><code>BSPTree.LeafMerger</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="pruneAroundConvexCell(java.lang.Object, java.lang.Object, java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>pruneAroundConvexCell</h4> |
| <pre>public <a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a><<a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="type parameter in BSPTree">S</a>> pruneAroundConvexCell(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> cellAttribute, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> otherLeafsAttributes, |
| <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> internalAttributes)</pre> |
| <div class="block">Prune a tree around a cell. |
| <p> |
| This method can be used to extract a convex cell from a tree. |
| The original cell may either be a leaf node or an internal node. |
| If it is an internal node, it's subtree will be ignored (i.e. the |
| extracted cell will be a leaf node in all cases). The original |
| tree to which the original cell belongs is not touched at all, |
| a new independent tree will be built. |
| </p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>cellAttribute</code> - attribute to set for the leaf node |
| corresponding to the initial instance cell</dd><dd><code>otherLeafsAttributes</code> - attribute to set for the other leaf |
| nodes</dd><dd><code>internalAttributes</code> - attribute to set for the internal nodes</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new tree (the original tree is left untouched) containing |
| a single branch with the cell as a leaf node, and other leaf nodes |
| as the remnants of the pruned branches</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.3</dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar_bottom"> |
| <!-- --> |
| </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/BSPTree.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BoundaryProjection.html" title="class in org.apache.commons.math3.geometry.partitioning"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.LeafMerger.html" title="interface in org.apache.commons.math3.geometry.partitioning"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/commons/math3/geometry/partitioning/BSPTree.html" target="_top">Frames</a></li> |
| <li><a href="BSPTree.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested_class_summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor_summary">Constr</a> | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor_detail">Constr</a> | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2003–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |