You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2011/05/15 18:02:08 UTC

svn commit: r1103438 [2/2] - in /commons/proper/math/trunk: ./ src/main/java/org/apache/commons/math/exception/util/ src/main/java/org/apache/commons/math/geometry/ src/main/java/org/apache/commons/math/geometry/euclidean/ src/main/java/org/apache/comm...

Copied: commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/package.html (from r1102972, commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/partitioning/package.html)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/package.html?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/package.html&p1=commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/partitioning/package.html&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/partitioning/package.html (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/package.html Sun May 15 16:02:05 2011
@@ -19,7 +19,7 @@
 This package provides classes to implement Binary Space Partition trees.
 
 <p>
-{@link org.apache.commons.bsp.partitioning.BSPTree BSP trees}
+{@link org.apache.commons.math.geometry.partitioning.BSPTree BSP trees}
 are an efficient way to represent parts of space and in particular
 polytopes (line segments in 1D, polygons in 2D and polyhedrons in 3D)
 and to operate on them. The main principle is to recursively subdivide
@@ -52,9 +52,9 @@ important to note that the polytope is <
 single part, but by several convex ones. This is the property that
 allows BSP-trees to represent non-convex polytopes despites all parts
 are convex. The {@link
-org.apache.commons.bsp.partitioning.Region Region} class is
+org.apache.commons.math.geometry.partitioning.Region Region} class is
 devoted to this representation, it is build on top of the {@link
-org.apache.commons.bsp.partitioning.BSPTree BSPTree} class using
+org.apache.commons.math.geometry.partitioning.BSPTree BSPTree} class using
 boolean objects as the leaf nodes attributes to represent the
 inside/outside property of each leaf part, and also adds various
 methods dealing with boundaries (i.e. the separation between the

Copied: commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTree.java (from r1102972, commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/utilities/AVLTree.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTree.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTree.java&p1=commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/utilities/AVLTree.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/utilities/AVLTree.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTree.java Sun May 15 16:02:05 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.utilities;
+package org.apache.commons.math.geometry.partitioning.utilities;
 
 /** This class implements AVL trees.
 

Copied: commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/OrderedTuple.java (from r1102972, commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/utilities/OrderedTuple.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/OrderedTuple.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/OrderedTuple.java&p1=commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/utilities/OrderedTuple.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/main/java/org/apache/commons/bsp/utilities/OrderedTuple.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/OrderedTuple.java Sun May 15 16:02:05 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.utilities;
+package org.apache.commons.math.geometry.partitioning.utilities;
 
 import java.util.Arrays;
 

Added: commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/package.html
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/package.html?rev=1103438&view=auto
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/package.html (added)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/package.html Sun May 15 16:02:05 2011
@@ -0,0 +1,24 @@
+<html>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+    <!-- $Revision$ -->
+<body>
+<p>
+This package provides multidimensional ordering features for partitioning.
+</p>
+</body>
+</html>

Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/package.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/geometry/partitioning/utilities/package.html
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: commons/proper/math/trunk/src/site/xdoc/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/changes.xml?rev=1103438&r1=1103437&r2=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/changes.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/changes.xml Sun May 15 16:02:05 2011
@@ -52,6 +52,16 @@ The <action> type attribute can be add,u
     If the output is not quite correct, check for invisible trailing spaces!
      -->
     <release version="3.0" date="TBD" description="TBD">
+      <action dev="luc" type="add" issue="MATH-576">
+        A complete generic implementation of Binary Space Partitioning Trees (BSP trees)
+        has been added. A few specializations of this implementation are also provided
+        for 1D, 2D and 3D Euclidean geometry. This allows support for arbitrary
+        intervals sets (1D), polygons sets (2D) and polyhedrons sets (3D) with all
+        sets operations (union, intersection, symmetric difference, difference, complement),
+        with predicates (point inside/outside/on boundary, emptiness, other region contained),
+        with geometrical computation (barycenter, size, boundary size) and with conversions
+        from and to boundary representation.
+      </action>
       <action dev="luc" type="fix" issue="MATH-573">
         Avoid some array copying in add and subtract ArrayFieldVector.
       </action>

Modified: commons/proper/math/trunk/src/site/xdoc/userguide/geometry.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/userguide/geometry.xml?rev=1103438&r1=1103437&r2=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/userguide/geometry.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/userguide/geometry.xml Sun May 15 16:02:05 2011
@@ -30,12 +30,41 @@
       <subsection name="11.1 Overview" href="overview">
         <p>
            The geometry package provides classes useful for many physical simulations
-           in the real 3D space, namely vectors and rotations.
+           in Euclidean spaces, like vectors and rotations in 3D, as well as a general
+           implentation of Binary Space Partitioning Trees (BSP trees).
         </p>
       </subsection>
-      <subsection name="11.2 Vectors" href="vectors">
+      <subsection name="11.2 Euclidean spaces" href="euclidean">
+      <p>
+          <a href="../apidocs/org/apache/commons/math/geometry/euclidean/oneD/Interval.html">
+          Interval</a> and <a href="../apidocs/org/apache/commons/math/geometry/euclidean/oneD/IntervalsSet.html">
+          IntervalsSet</a> represent one dimensional regions. All classical set operations are available
+          for intervals sets: union, intersection, symmetric difference (exclusive or), difference, complement,
+          as well as region predicates (point inside/outside/on boundary, emptiness, other region contained).
+          It is also possible to compute geometrical properties like size, barycenter or boundary size.
+          Intervals sets can be built by constructive geometry (union, intersection ...) or from a boundary
+          representation.
+      </p>
+      <p>
+          <a href="../apidocs/org/apache/commons/math/geometry/euclidean/twoD/PolygonsSet.html">
+          PolygonsSet</a> represent two dimensional regions. All classical set operations are available
+          for polygons sets: union, intersection, symmetric difference (exclusive or), difference, complement,
+          as well as region predicates (point inside/outside/on boundary, emptiness, other region contained).
+          It is also possible to compute geometrical properties like size, barycenter or boundary size and
+          to extract the vertices. Polygons sets can be built by constructive geometry (union, intersection ...)
+          or from a boundary representation.
+      </p>
+      <p>
+          <a href="../apidocs/org/apache/commons/math/geometry/euclidean/threeD/PolyhedronsSet.html">
+          PolyhedronsSet</a> represent three dimensional regions. All classical set operations are available
+          for polyhedrons sets: union, intersection, symmetric difference (exclusive or), difference, complement,
+          as well as region predicates (point inside/outside/on boundary, emptiness, other region contained).
+          It is also possible to compute geometrical properties like size, barycenter or boundary size and
+          to extract the vertices. Polyhedrons sets can be built by constructive geometry (union, intersection ...)
+          or from a boundary representation.
+      </p>
         <p>
-          <a href="../apidocs/org/apache/commons/math/geometry/Vector3D.html">
+          <a href="../apidocs/org/apache/commons/math/geometry/euclidean/threeD/Vector3D.html">
           Vector3D</a> provides a simple vector type. One important feature is
           that instances of this class are guaranteed
           to be immutable, this greatly simplifies modelling dynamical systems
@@ -57,14 +86,12 @@
           is of course also implemented.
         </p>
         <p>
-          <a href="../apidocs/org/apache/commons/math/geometry/Vector3DFormat.html">
+          <a href="../apidocs/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormat.html">
           Vector3DFormat</a> is a specialized format for formatting output or parsing
           input with text representation of 3D vectors.
         </p>
-      </subsection>
-      <subsection name="11.3 Rotations" href="rotations">
         <p>
-          <a href="../apidocs/org/apache/commons/math/geometry/Rotation.html">
+          <a href="../apidocs/org/apache/commons/math/geometry/euclidean/threeD/Rotation.html">
           Rotation</a> represents 3D rotations.
           Rotation instances are also immutable objects, as Vector3D instances.
         </p>
@@ -136,6 +163,41 @@
           <code>applyInverseTo(Rotation)</code>.
         </p>
       </subsection>
+      <subsection name="11.3 Binary Space Partitioning" href="partitioning">
+	    <p>
+          <a href="../apidocs/org/apache/commons/math/geometry/partitioning/BSPTree.html">
+          BSP trees</a> 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>
+       </subsection>
      </section>
   </body>
 </document>

Modified: commons/proper/math/trunk/src/site/xdoc/userguide/overview.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/userguide/overview.xml?rev=1103438&r1=1103437&r2=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/site/xdoc/userguide/overview.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/userguide/overview.xml Sun May 15 16:02:05 2011
@@ -83,7 +83,7 @@
       <li><a href="distribution.html">org.apache.commons.math.distribution</a> - probability distributions</li>
       <li><a href="fraction.html">org.apache.commons.math.fraction</a> - rational numbers</li>
       <li><a href="transform.html">org.apache.commons.math.transform</a> - transform methods (Fast Fourier)</li>
-      <li><a href="geometry.html">org.apache.commons.math.geometry</a> - 3D geometry (vectors and rotations)</li>
+      <li><a href="geometry.html">org.apache.commons.math.geometry</a> - geometry (Euclidean spaces and Binary Space Partitioning)</li>
       <li><a href="optimization.html">org.apache.commons.math.optimization</a> - function maximization or minimization</li>
       <li><a href="ode.html">org.apache.commons.math.ode</a> - Ordinary Differential Equations integration</li>
       <li><a href="genetics.html">org.apache.commons.math.genetics</a> - Genetic Algorithms</li>

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/oneD/IntervalsSetTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/oneD/IntervalsSetTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/oneD/IntervalsSetTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/oneD/IntervalsSetTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/oneD/IntervalsSetTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/oneD/IntervalsSetTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/oneD/IntervalsSetTest.java Sun May 15 16:02:05 2011
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.euclidean.oneD;
+package org.apache.commons.math.geometry.euclidean.oneD;
 
 import java.util.List;
 
-import org.apache.commons.bsp.euclidean.oneD.Interval;
-import org.apache.commons.bsp.euclidean.oneD.IntervalsSet;
-import org.apache.commons.bsp.euclidean.oneD.Point1D;
-import org.apache.commons.bsp.partitioning.Region;
+import org.apache.commons.math.geometry.euclidean.oneD.Interval;
+import org.apache.commons.math.geometry.euclidean.oneD.IntervalsSet;
+import org.apache.commons.math.geometry.euclidean.oneD.Point1D;
+import org.apache.commons.math.geometry.partitioning.Region;
 import org.apache.commons.math.util.FastMath;
 import org.junit.Assert;
 import org.junit.Test;

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/FrenchVector3DFormatTest.java (from r1103365, commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/FrenchVector3DFormatTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/FrenchVector3DFormatTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/FrenchVector3DFormatTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/FrenchVector3DFormatTest.java&r1=1103365&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/FrenchVector3DFormatTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/FrenchVector3DFormatTest.java Sun May 15 16:02:05 2011
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.math.geometry;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
 import java.util.Locale;
 

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/LineTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/LineTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/LineTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/LineTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/LineTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/LineTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/LineTest.java Sun May 15 16:02:05 2011
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.euclidean.threeD;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
-import org.apache.commons.bsp.euclidean.threeD.Line;
-import org.apache.commons.math.geometry.Vector3D;
+import org.apache.commons.math.geometry.euclidean.threeD.Line;
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3D;
 import org.apache.commons.math.util.FastMath;
 import org.junit.Assert;
 import org.junit.Test;

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PlaneTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/PlaneTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PlaneTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PlaneTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/PlaneTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/PlaneTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PlaneTest.java Sun May 15 16:02:05 2011
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.euclidean.threeD;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
-import org.apache.commons.bsp.euclidean.threeD.Line;
-import org.apache.commons.bsp.euclidean.threeD.Plane;
-import org.apache.commons.bsp.euclidean.threeD.Point3D;
-import org.apache.commons.math.geometry.Rotation;
-import org.apache.commons.math.geometry.Vector3D;
+import org.apache.commons.math.geometry.euclidean.threeD.Line;
+import org.apache.commons.math.geometry.euclidean.threeD.Plane;
+import org.apache.commons.math.geometry.euclidean.threeD.Point3D;
+import org.apache.commons.math.geometry.euclidean.threeD.Rotation;
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3D;
 import org.junit.Assert;
 import org.junit.Test;
 

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PolyhedronsSetTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/PolyhedronsSetTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PolyhedronsSetTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PolyhedronsSetTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/PolyhedronsSetTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/threeD/PolyhedronsSetTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/PolyhedronsSetTest.java Sun May 15 16:02:05 2011
@@ -14,22 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.euclidean.threeD;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
 import java.util.Arrays;
 
-import org.apache.commons.bsp.euclidean.threeD.Plane;
-import org.apache.commons.bsp.euclidean.threeD.Point3D;
-import org.apache.commons.bsp.euclidean.threeD.PolyhedronsSet;
-import org.apache.commons.bsp.euclidean.twoD.Point2D;
-import org.apache.commons.bsp.euclidean.twoD.PolygonsSet;
-import org.apache.commons.bsp.partitioning.BSPTree;
-import org.apache.commons.bsp.partitioning.BSPTreeVisitor;
-import org.apache.commons.bsp.partitioning.Hyperplane;
-import org.apache.commons.bsp.partitioning.Region;
-import org.apache.commons.bsp.partitioning.SubHyperplane;
-import org.apache.commons.math.geometry.Rotation;
-import org.apache.commons.math.geometry.Vector3D;
+import org.apache.commons.math.geometry.euclidean.threeD.Plane;
+import org.apache.commons.math.geometry.euclidean.threeD.Point3D;
+import org.apache.commons.math.geometry.euclidean.threeD.PolyhedronsSet;
+import org.apache.commons.math.geometry.euclidean.threeD.Rotation;
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3D;
+import org.apache.commons.math.geometry.euclidean.twoD.Point2D;
+import org.apache.commons.math.geometry.euclidean.twoD.PolygonsSet;
+import org.apache.commons.math.geometry.partitioning.BSPTree;
+import org.apache.commons.math.geometry.partitioning.BSPTreeVisitor;
+import org.apache.commons.math.geometry.partitioning.Hyperplane;
+import org.apache.commons.math.geometry.partitioning.Region;
+import org.apache.commons.math.geometry.partitioning.SubHyperplane;
 import org.apache.commons.math.util.FastMath;
 import org.junit.Assert;
 import org.junit.Test;

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationOrderTest.java (from r1103365, commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/RotationOrderTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationOrderTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationOrderTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/RotationOrderTest.java&r1=1103365&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/RotationOrderTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationOrderTest.java Sun May 15 16:02:05 2011
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.math.geometry;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
 import java.lang.reflect.Field;
 
-import org.apache.commons.math.geometry.RotationOrder;
+import org.apache.commons.math.geometry.euclidean.threeD.RotationOrder;
 import org.junit.Assert;
 import org.junit.Test;
 

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationTest.java (from r1103365, commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/RotationTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/RotationTest.java&r1=1103365&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/RotationTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/RotationTest.java Sun May 15 16:02:05 2011
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.commons.math.geometry;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
-import org.apache.commons.math.geometry.CardanEulerSingularityException;
-import org.apache.commons.math.geometry.NotARotationMatrixException;
-import org.apache.commons.math.geometry.Rotation;
-import org.apache.commons.math.geometry.RotationOrder;
-import org.apache.commons.math.geometry.Vector3D;
+import org.apache.commons.math.geometry.euclidean.threeD.CardanEulerSingularityException;
+import org.apache.commons.math.geometry.euclidean.threeD.NotARotationMatrixException;
+import org.apache.commons.math.geometry.euclidean.threeD.Rotation;
+import org.apache.commons.math.geometry.euclidean.threeD.RotationOrder;
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3D;
 import org.apache.commons.math.util.FastMath;
 import org.apache.commons.math.util.MathUtils;
 import org.junit.Assert;

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatAbstractTest.java (from r1103365, commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DFormatAbstractTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatAbstractTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatAbstractTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DFormatAbstractTest.java&r1=1103365&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DFormatAbstractTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatAbstractTest.java Sun May 15 16:02:05 2011
@@ -15,12 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.commons.math.geometry;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
 import java.text.NumberFormat;
 import java.text.ParsePosition;
 import java.util.Locale;
 
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3D;
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3DFormat;
 import org.junit.Test;
 import org.junit.Assert;
 

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatTest.java (from r1103365, commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DFormatTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DFormatTest.java&r1=1103365&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DFormatTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DFormatTest.java Sun May 15 16:02:05 2011
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.math.geometry;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
 import java.util.Locale;
 

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DTest.java (from r1103365, commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DTest.java&r1=1103365&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/Vector3DTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threeD/Vector3DTest.java Sun May 15 16:02:05 2011
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.math.geometry;
+package org.apache.commons.math.geometry.euclidean.threeD;
 
-import org.apache.commons.math.geometry.Vector3D;
+import org.apache.commons.math.geometry.euclidean.threeD.Vector3D;
 import org.apache.commons.math.util.FastMath;
 import org.apache.commons.math.exception.MathArithmeticException;
 

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/LineTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/twoD/LineTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/LineTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/LineTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/twoD/LineTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/twoD/LineTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/LineTest.java Sun May 15 16:02:05 2011
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.euclidean.twoD;
+package org.apache.commons.math.geometry.euclidean.twoD;
 
-import org.apache.commons.bsp.euclidean.oneD.Point1D;
-import org.apache.commons.bsp.euclidean.twoD.Line;
-import org.apache.commons.bsp.euclidean.twoD.Point2D;
-import org.apache.commons.bsp.partitioning.Transform;
+import org.apache.commons.math.geometry.euclidean.oneD.Point1D;
+import org.apache.commons.math.geometry.euclidean.twoD.Line;
+import org.apache.commons.math.geometry.euclidean.twoD.Point2D;
+import org.apache.commons.math.geometry.partitioning.Transform;
 import org.apache.commons.math.util.FastMath;
 import org.junit.Assert;
 import org.junit.Test;

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/PolygonsSetTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/twoD/PolygonsSetTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/PolygonsSetTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/PolygonsSetTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/twoD/PolygonsSetTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/euclidean/twoD/PolygonsSetTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/twoD/PolygonsSetTest.java Sun May 15 16:02:05 2011
@@ -14,20 +14,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.euclidean.twoD;
+package org.apache.commons.math.geometry.euclidean.twoD;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.bsp.euclidean.oneD.Interval;
-import org.apache.commons.bsp.euclidean.oneD.IntervalsSet;
-import org.apache.commons.bsp.euclidean.oneD.Point1D;
-import org.apache.commons.bsp.euclidean.twoD.Line;
-import org.apache.commons.bsp.euclidean.twoD.Point2D;
-import org.apache.commons.bsp.euclidean.twoD.PolygonsSet;
-import org.apache.commons.bsp.partitioning.BSPTree;
-import org.apache.commons.bsp.partitioning.Region;
-import org.apache.commons.bsp.partitioning.SubHyperplane;
+import org.apache.commons.math.geometry.euclidean.oneD.Interval;
+import org.apache.commons.math.geometry.euclidean.oneD.IntervalsSet;
+import org.apache.commons.math.geometry.euclidean.oneD.Point1D;
+import org.apache.commons.math.geometry.euclidean.twoD.Line;
+import org.apache.commons.math.geometry.euclidean.twoD.Point2D;
+import org.apache.commons.math.geometry.euclidean.twoD.PolygonsSet;
+import org.apache.commons.math.geometry.partitioning.BSPTree;
+import org.apache.commons.math.geometry.partitioning.Region;
+import org.apache.commons.math.geometry.partitioning.SubHyperplane;
 import org.apache.commons.math.util.FastMath;
 import org.junit.Assert;
 import org.junit.Test;

Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTreeTest.java (from r1102972, commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/utilities/AVLTreeTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTreeTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTreeTest.java&p1=commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/utilities/AVLTreeTest.java&r1=1102972&r2=1103438&rev=1103438&view=diff
==============================================================================
--- commons/sandbox/bsp/trunk/src/test/java/org/apache/commons/bsp/utilities/AVLTreeTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/partitioning/utilities/AVLTreeTest.java Sun May 15 16:02:05 2011
@@ -14,8 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.bsp.utilities;
+package org.apache.commons.math.geometry.partitioning.utilities;
 
+import org.apache.commons.math.geometry.partitioning.utilities.AVLTree;
 import org.junit.Assert;
 import org.junit.Test;