<!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>PolygonsSet (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="PolygonsSet (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/PolygonsSet.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/euclidean/twod/Line.html" title="class in org.apache.commons.math3.geometry.euclidean.twod"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Segment.html" title="class in org.apache.commons.math3.geometry.euclidean.twod"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html" target="_top">Frames</a></li>
<li><a href="PolygonsSet.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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</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.euclidean.twod</div>
<h2 title="Class PolygonsSet" class="title">Class PolygonsSet</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><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html" title="class in org.apache.commons.math3.geometry.partitioning">org.apache.commons.math3.geometry.partitioning.AbstractRegion</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>,<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/oned/Euclidean1D.html" title="class in org.apache.commons.math3.geometry.euclidean.oned">Euclidean1D</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html" title="interface in org.apache.commons.math3.geometry.partitioning">Region</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">PolygonsSet</span>
extends <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html" title="class in org.apache.commons.math3.geometry.partitioning">AbstractRegion</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>,<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/oned/Euclidean1D.html" title="class in org.apache.commons.math3.geometry.euclidean.oned">Euclidean1D</a>&gt;</pre>
<div class="block">This class represents a 2D region: a set of polygons.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: PolygonsSet.java 1590560 2014-04-28 06:39:01Z 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>
<ul class="blockList">
<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.commons.math3.geometry.partitioning.Region">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.commons.math3.geometry.partitioning.<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html" title="interface in org.apache.commons.math3.geometry.partitioning">Region</a></h3>
<code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.Location.html" title="enum in org.apache.commons.math3.geometry.partitioning">Region.Location</a></code></li>
</ul>
</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">&nbsp;</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/euclidean/twod/PolygonsSet.html#PolygonsSet()">PolygonsSet</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double)"><code>PolygonsSet(double)</code></a></i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(org.apache.commons.math3.geometry.partitioning.BSPTree)">PolygonsSet</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&nbsp;tree)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(org.apache.commons.math3.geometry.partitioning.BSPTree, double)"><code>PolygonsSet(BSPTree, double)</code></a></i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(org.apache.commons.math3.geometry.partitioning.BSPTree, double)">PolygonsSet</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&nbsp;tree,
           double&nbsp;tolerance)</code>
<div class="block">Build a polygons set from a BSP tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(java.util.Collection)">PolygonsSet</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&gt;&nbsp;boundary)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(java.util.Collection, double)"><code>PolygonsSet(Collection, double)</code></a></i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(java.util.Collection, double)">PolygonsSet</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&gt;&nbsp;boundary,
           double&nbsp;tolerance)</code>
<div class="block">Build a polygons set from a Boundary REPresentation (B-rep).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double)">PolygonsSet</a></strong>(double&nbsp;tolerance)</code>
<div class="block">Build a polygons set representing the whole plane.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double, double, double, double)">PolygonsSet</a></strong>(double&nbsp;xMin,
           double&nbsp;xMax,
           double&nbsp;yMin,
           double&nbsp;yMax)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double, double, double, double, double)"><code>PolygonsSet(double, double, double, double, double)</code></a></i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double, double, double, double, double)">PolygonsSet</a></strong>(double&nbsp;xMin,
           double&nbsp;xMax,
           double&nbsp;yMin,
           double&nbsp;yMax,
           double&nbsp;tolerance)</code>
<div class="block">Build a parallellepipedic box.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double, org.apache.commons.math3.geometry.euclidean.twod.Vector2D...)">PolygonsSet</a></strong>(double&nbsp;hyperplaneThickness,
           <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Vector2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Vector2D</a>...&nbsp;vertices)</code>
<div class="block">Build a polygon from a simple list of vertices.</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">&nbsp;</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/euclidean/twod/PolygonsSet.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">PolygonsSet</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#buildNew(org.apache.commons.math3.geometry.partitioning.BSPTree)">buildNew</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&nbsp;tree)</code>
<div class="block">Build a region using the instance as a prototype.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#computeGeometricalProperties()">computeGeometricalProperties</a></strong>()</code>
<div class="block">Compute some geometrical properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Vector2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Vector2D</a>[][]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#getVertices()">getVertices</a></strong>()</code>
<div class="block">Get the vertices of the polygon.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.geometry.partitioning.AbstractRegion">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.geometry.partitioning.<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html" title="class in org.apache.commons.math3.geometry.partitioning">AbstractRegion</a></h3>
<code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#applyTransform(org.apache.commons.math3.geometry.partitioning.Transform)">applyTransform</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#checkPoint(org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.Point)">checkPoint</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#checkPoint(org.apache.commons.math3.geometry.partitioning.BSPTree, org.apache.commons.math3.geometry.Vector)">checkPoint</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#checkPoint(org.apache.commons.math3.geometry.Point)">checkPoint</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#checkPoint(org.apache.commons.math3.geometry.Vector)">checkPoint</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#contains(org.apache.commons.math3.geometry.partitioning.Region)">contains</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#copySelf()">copySelf</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#getBarycenter()">getBarycenter</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#getBoundarySize()">getBoundarySize</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#getSize()">getSize</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#getTolerance()">getTolerance</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#getTree(boolean)">getTree</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#intersection(org.apache.commons.math3.geometry.partitioning.SubHyperplane)">intersection</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#isEmpty()">isEmpty</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#isEmpty(org.apache.commons.math3.geometry.partitioning.BSPTree)">isEmpty</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#isFull()">isFull</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#isFull(org.apache.commons.math3.geometry.partitioning.BSPTree)">isFull</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#projectToBoundary(org.apache.commons.math3.geometry.Point)">projectToBoundary</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#setBarycenter(org.apache.commons.math3.geometry.Point)">setBarycenter</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#setBarycenter(org.apache.commons.math3.geometry.Vector)">setBarycenter</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#setSize(double)">setSize</a>, <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#side(org.apache.commons.math3.geometry.partitioning.Hyperplane)">side</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;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="PolygonsSet(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</h4>
<pre>public&nbsp;PolygonsSet(double&nbsp;tolerance)</pre>
<div class="block">Build a polygons set representing the whole plane.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tolerance</code> - tolerance below which points are considered identical</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.3</dd></dl>
</li>
</ul>
<a name="PolygonsSet(org.apache.commons.math3.geometry.partitioning.BSPTree, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</h4>
<pre>public&nbsp;PolygonsSet(<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&nbsp;tree,
           double&nbsp;tolerance)</pre>
<div class="block">Build a polygons set from a BSP tree.
 <p>The leaf nodes of the BSP tree <em>must</em> have a
 <code>Boolean</code> attribute representing the inside status of
 the corresponding cell (true for inside cells, false for outside
 cells). In order to avoid building too many small objects, it is
 recommended to use the predefined constants
 <code>Boolean.TRUE</code> and <code>Boolean.FALSE</code></p>
 <p>
 This constructor is aimed at expert use, as building the tree may
 be a difficult task. It is not intended for general use and for
 performances reasons does not check thoroughly its input, as this would
 require walking the full tree each time. Failing to provide a tree with
 the proper attributes, <em>will</em> therefore generate problems like
 <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang"><code>NullPointerException</code></a> or <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang"><code>ClassCastException</code></a> only later on.
 This limitation is known and explains why this constructor is for expert
 use only. The caller does have the responsibility to provided correct arguments.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tree</code> - inside/outside BSP tree representing the region</dd><dd><code>tolerance</code> - tolerance below which points are considered identical</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.3</dd></dl>
</li>
</ul>
<a name="PolygonsSet(java.util.Collection, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</h4>
<pre>public&nbsp;PolygonsSet(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&gt;&nbsp;boundary,
           double&nbsp;tolerance)</pre>
<div class="block">Build a polygons set from a Boundary REPresentation (B-rep).
 <p>The boundary is provided as a collection of <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning"><code>sub-hyperplanes</code></a>. Each sub-hyperplane has the
 interior part of the region on its minus side and the exterior on
 its plus side.</p>
 <p>The boundary elements can be in any order, and can form
 several non-connected sets (like for example polygons with holes
 or a set of disjoint polygons considered as a whole). In
 fact, the elements do not even need to be connected together
 (their topological connections are not used here). However, if the
 boundary does not really separate an inside open from an outside
 open (open having here its topological meaning), then subsequent
 calls to the <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html#checkPoint(org.apache.commons.math3.geometry.Point)"><code>checkPoint</code></a> method will not be meaningful anymore.</p>
 <p>If the boundary is empty, the region will represent the whole
 space.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>boundary</code> - collection of boundary elements, as a
 collection of <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning"><code>SubHyperplane</code></a> objects</dd><dd><code>tolerance</code> - tolerance below which points are considered identical</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.3</dd></dl>
</li>
</ul>
<a name="PolygonsSet(double, double, double, double, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</h4>
<pre>public&nbsp;PolygonsSet(double&nbsp;xMin,
           double&nbsp;xMax,
           double&nbsp;yMin,
           double&nbsp;yMax,
           double&nbsp;tolerance)</pre>
<div class="block">Build a parallellepipedic box.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>xMin</code> - low bound along the x direction</dd><dd><code>xMax</code> - high bound along the x direction</dd><dd><code>yMin</code> - low bound along the y direction</dd><dd><code>yMax</code> - high bound along the y direction</dd><dd><code>tolerance</code> - tolerance below which points are considered identical</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.3</dd></dl>
</li>
</ul>
<a name="PolygonsSet(double, org.apache.commons.math3.geometry.euclidean.twod.Vector2D...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</h4>
<pre>public&nbsp;PolygonsSet(double&nbsp;hyperplaneThickness,
           <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Vector2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Vector2D</a>...&nbsp;vertices)</pre>
<div class="block">Build a polygon from a simple list of vertices.
 <p>The boundary is provided as a list of points considering to
 represent the vertices of a simple loop. The interior part of the
 region is on the left side of this path and the exterior is on its
 right side.</p>
 <p>This constructor does not handle polygons with a boundary
 forming several disconnected paths (such as polygons with holes).</p>
 <p>For cases where this simple constructor applies, it is expected to
 be numerically more robust than the <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(java.util.Collection)"><code>general
 constructor</code></a> using <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning"><code>subhyperplanes</code></a>.</p>
 <p>If the list is empty, the region will represent the whole
 space.</p>
 <p>
 Polygons with thin pikes or dents are inherently difficult to handle because
 they involve lines with almost opposite directions at some vertices. Polygons
 whose vertices come from some physical measurement with noise are also
 difficult because an edge that should be straight may be broken in lots of
 different pieces with almost equal directions. In both cases, computing the
 lines intersections is not numerically robust due to the almost 0 or almost
 &pi; angle. Such cases need to carefully adjust the <code>hyperplaneThickness</code>
 parameter. A too small value would often lead to completely wrong polygons
 with large area wrongly identified as inside or outside. Large values are
 often much safer. As a rule of thumb, a value slightly below the size of the
 most accurate detail needed is a good value for the <code>hyperplaneThickness</code>
 parameter.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hyperplaneThickness</code> - tolerance below which points are considered to
 belong to the hyperplane (which is therefore more a slab)</dd><dd><code>vertices</code> - vertices of the simple loop boundary</dd></dl>
</li>
</ul>
<a name="PolygonsSet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</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&nbsp;PolygonsSet()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double)"><code>PolygonsSet(double)</code></a></i></div>
<div class="block">Build a polygons set representing the whole real line.</div>
</li>
</ul>
<a name="PolygonsSet(org.apache.commons.math3.geometry.partitioning.BSPTree)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</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&nbsp;PolygonsSet(<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&nbsp;tree)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(org.apache.commons.math3.geometry.partitioning.BSPTree, double)"><code>PolygonsSet(BSPTree, double)</code></a></i></div>
<div class="block">Build a polygons set from a BSP tree.
 <p>The leaf nodes of the BSP tree <em>must</em> have a
 <code>Boolean</code> attribute representing the inside status of
 the corresponding cell (true for inside cells, false for outside
 cells). In order to avoid building too many small objects, it is
 recommended to use the predefined constants
 <code>Boolean.TRUE</code> and <code>Boolean.FALSE</code></p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tree</code> - inside/outside BSP tree representing the region</dd></dl>
</li>
</ul>
<a name="PolygonsSet(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PolygonsSet</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&nbsp;PolygonsSet(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning">SubHyperplane</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&gt;&nbsp;boundary)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(java.util.Collection, double)"><code>PolygonsSet(Collection, double)</code></a></i></div>
<div class="block">Build a polygons set from a Boundary REPresentation (B-rep).
 <p>The boundary is provided as a collection of <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning"><code>sub-hyperplanes</code></a>. Each sub-hyperplane has the
 interior part of the region on its minus side and the exterior on
 its plus side.</p>
 <p>The boundary elements can be in any order, and can form
 several non-connected sets (like for example polygons with holes
 or a set of disjoint polygons considered as a whole). In
 fact, the elements do not even need to be connected together
 (their topological connections are not used here). However, if the
 boundary does not really separate an inside open from an outside
 open (open having here its topological meaning), then subsequent
 calls to the <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html#checkPoint(org.apache.commons.math3.geometry.Point)"><code>checkPoint</code></a> method will not be meaningful anymore.</p>
 <p>If the boundary is empty, the region will represent the whole
 space.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>boundary</code> - collection of boundary elements, as a
 collection of <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/SubHyperplane.html" title="interface in org.apache.commons.math3.geometry.partitioning"><code>SubHyperplane</code></a> objects</dd></dl>
</li>
</ul>
<a name="PolygonsSet(double, double, double, double)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PolygonsSet</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&nbsp;PolygonsSet(double&nbsp;xMin,
                      double&nbsp;xMax,
                      double&nbsp;yMin,
                      double&nbsp;yMax)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>as of 3.3, replaced with <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html#PolygonsSet(double, double, double, double, double)"><code>PolygonsSet(double, double, double, double, double)</code></a></i></div>
<div class="block">Build a parallellepipedic box.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>xMin</code> - low bound along the x direction</dd><dd><code>xMax</code> - high bound along the x direction</dd><dd><code>yMin</code> - low bound along the y direction</dd><dd><code>yMax</code> - high bound along the y direction</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="buildNew(org.apache.commons.math3.geometry.partitioning.BSPTree)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildNew</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">PolygonsSet</a>&nbsp;buildNew(<a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/BSPTree.html" title="class in org.apache.commons.math3.geometry.partitioning">BSPTree</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;&nbsp;tree)</pre>
<div class="block">Build a region using the instance as a prototype.
 <p>This method allow to create new instances without knowing
 exactly the type of the region. It is an application of the
 prototype design pattern.</p>
 <p>The leaf nodes of the BSP tree <em>must</em> have a
 <code>Boolean</code> attribute representing the inside status of
 the corresponding cell (true for inside cells, false for outside
 cells). In order to avoid building too many small objects, it is
 recommended to use the predefined constants
 <code>Boolean.TRUE</code> and <code>Boolean.FALSE</code>. The
 tree also <em>must</em> have either null internal nodes or
 internal nodes representing the boundary as specified in the
 <a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html#getTree(boolean)"><code>getTree</code></a> method).</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html#buildNew(org.apache.commons.math3.geometry.partitioning.BSPTree)">buildNew</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/Region.html" title="interface in org.apache.commons.math3.geometry.partitioning">Region</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>&gt;</code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#buildNew(org.apache.commons.math3.geometry.partitioning.BSPTree)">buildNew</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html" title="class in org.apache.commons.math3.geometry.partitioning">AbstractRegion</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>,<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/oned/Euclidean1D.html" title="class in org.apache.commons.math3.geometry.euclidean.oned">Euclidean1D</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>tree</code> - inside/outside BSP tree representing the new region</dd>
<dt><span class="strong">Returns:</span></dt><dd>the built region</dd></dl>
</li>
</ul>
<a name="computeGeometricalProperties()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeGeometricalProperties</h4>
<pre>protected&nbsp;void&nbsp;computeGeometricalProperties()</pre>
<div class="block">Compute some geometrical properties.
 <p>The properties to compute are the barycenter and the size.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html#computeGeometricalProperties()">computeGeometricalProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/commons/math3/geometry/partitioning/AbstractRegion.html" title="class in org.apache.commons.math3.geometry.partitioning">AbstractRegion</a>&lt;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Euclidean2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Euclidean2D</a>,<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/oned/Euclidean1D.html" title="class in org.apache.commons.math3.geometry.euclidean.oned">Euclidean1D</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getVertices()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getVertices</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Vector2D.html" title="class in org.apache.commons.math3.geometry.euclidean.twod">Vector2D</a>[][]&nbsp;getVertices()</pre>
<div class="block">Get the vertices of the polygon.
 <p>The polygon boundary can be represented as an array of loops,
 each loop being itself an array of vertices.</p>
 <p>In order to identify open loops which start and end by
 infinite edges, the open loops arrays start with a null point. In
 this case, the first non null point and the last point of the
 array do not represent real vertices, they are dummy points
 intended only to get the direction of the first and last edge. An
 open loop consisting of a single infinite line will therefore be
 represented by a three elements array with one null point
 followed by two dummy points. The open loops are always the first
 ones in the loops array.</p>
 <p>If the polygon has no boundary at all, a zero length loop
 array will be returned.</p>
 <p>All line segments in the various loops have the inside of the
 region on their left side and the outside on their right side
 when moving in the underlying line direction. This means that
 closed loops surrounding finite areas obey the direct
 trigonometric orientation.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>vertices of the polygon, organized as oriented boundary
 loops with the open loops first (the returned value is guaranteed
 to be non-null)</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/PolygonsSet.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/euclidean/twod/Line.html" title="class in org.apache.commons.math3.geometry.euclidean.twod"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/twod/Segment.html" title="class in org.apache.commons.math3.geometry.euclidean.twod"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html" target="_top">Frames</a></li>
<li><a href="PolygonsSet.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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</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 &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
