From: Ole Streicher <olebole@debian.org>
Date: Sun, 18 Dec 2016 13:31:59 +0100
Subject: Remove reference to HTM pixellation

HTM pixellation is not free.
---
 build.xml                                            |  4 ++++
 .../uk/ac/starlink/ttools/cone/TilingParameter.java  |  4 ----
 src/main/uk/ac/starlink/ttools/func/Tilings.java     | 20 --------------------
 .../starlink/ttools/join/MatchEngineParameter.java   |  5 -----
 .../uk/ac/starlink/ttools/cone/SkyTilingTest.java    | 12 ------------
 .../uk/ac/starlink/ttools/task/SkyMatchTest.java     |  7 -------
 6 files changed, 4 insertions(+), 48 deletions(-)

diff --git a/build.xml b/build.xml
index 62df451..c64503f 100644
--- a/build.xml
+++ b/build.xml
@@ -433,6 +433,7 @@
       <!-- Exclude any files in the source tree that should not be
        !   compiled -->
       <include name="**/*.java"/>
+      <exclude name="uk/ac/starlink/ttools/cone/HtmTiling.java"/>
     </javac>
 
     <!-- Copy extra files that should live with packages classes
@@ -1100,6 +1101,7 @@
       <packageset dir="${java.dir}" defaultexcludes="yes">
          <include name="**"/>
          <exclude name="uk/ac/starlink/ttools/build"/>
+	 <exclude name="uk/ac/starlink/ttools/cone/HtmTiling.java"/>
       </packageset>
 
       <!-- Link to the full Java API at SUNs website -->
@@ -1558,6 +1560,7 @@
 
       <classpath refid="tests-classpath"/>
 
+      <exclude name="uk/ac/starlink/ttools/task/TableMatch1Test.java"/>
     </javac>
 
   </target>
@@ -1599,6 +1602,7 @@
         <fileset dir="${tests.dir}">
           <include name="**/*Test.java"/>
           <exclude name="**/net_tests/*"/>
+          <exclude name="uk/ac/starlink/ttools/task/TableMatch1Test.java"/>
         </fileset>
       </batchtest>
 
diff --git a/src/main/uk/ac/starlink/ttools/cone/TilingParameter.java b/src/main/uk/ac/starlink/ttools/cone/TilingParameter.java
index fdcf6b3..aa0765a 100644
--- a/src/main/uk/ac/starlink/ttools/cone/TilingParameter.java
+++ b/src/main/uk/ac/starlink/ttools/cone/TilingParameter.java
@@ -75,10 +75,6 @@ public class TilingParameter extends Parameter<SkyTiling> {
             int k = getNumberSuffix( svalue, HEALPIX_RING_PREFIX );
             return new HealpixTiling( k, false );
         }
-        else if ( lvalue.startsWith( HTM_PREFIX ) ) {
-            int level = getNumberSuffix( svalue, HTM_PREFIX );
-            return new HtmTiling( level );
-        }
         else {
             throw new ParameterValueException( this, "Unknown tiling scheme \""
                                                    + svalue + "\"" );
diff --git a/src/main/uk/ac/starlink/ttools/func/Tilings.java b/src/main/uk/ac/starlink/ttools/func/Tilings.java
index 733149d..75df7b5 100644
--- a/src/main/uk/ac/starlink/ttools/func/Tilings.java
+++ b/src/main/uk/ac/starlink/ttools/func/Tilings.java
@@ -6,8 +6,6 @@
 package uk.ac.starlink.ttools.func;
 
 import cds.healpix.Healpix;
-import edu.jhu.htm.core.HTMException;
-import edu.jhu.htm.core.HTMfunc;
 
 /**
  * Pixel tiling functions for the celestial sphere.
@@ -33,24 +31,6 @@ public class Tilings {
     private Tilings() {
     }
 
-    /**
-     * Gives the HTM (Hierachical Triangular Mesh) pixel index for a given
-     * sky position.
-     *
-     * @param   level   HTM level
-     * @param   lon     longitude in degrees
-     * @param   lat     latitude in degrees
-     * @return   pixel index
-     * @see      <a href="http://www.skyserver.org/htm/">HTM web site</a>
-     */
-    public static long htmIndex( int level, double lon, double lat ) {
-        try {
-            return HTMfunc.lookupId( lon, lat, level );
-        }
-        catch ( HTMException e ) {
-            throw new IllegalArgumentException( e.getMessage() );
-        }
-    }
 
     /**
      * Gives the pixel index for a given sky position in the HEALPix 
diff --git a/src/main/uk/ac/starlink/ttools/join/MatchEngineParameter.java b/src/main/uk/ac/starlink/ttools/join/MatchEngineParameter.java
index 0a579ad..f2eb78a 100644
--- a/src/main/uk/ac/starlink/ttools/join/MatchEngineParameter.java
+++ b/src/main/uk/ac/starlink/ttools/join/MatchEngineParameter.java
@@ -14,7 +14,6 @@ import uk.ac.starlink.table.join.EllipseCartesianMatchEngine;
 import uk.ac.starlink.table.join.EllipseSkyMatchEngine;
 import uk.ac.starlink.table.join.EqualsMatchEngine;
 import uk.ac.starlink.table.join.FixedSkyMatchEngine;
-import uk.ac.starlink.table.join.HtmSkyPixellator;
 import uk.ac.starlink.table.join.IsotropicCartesianMatchEngine;
 import uk.ac.starlink.table.join.MatchEngine;
 import uk.ac.starlink.table.join.SphericalPolarMatchEngine;
@@ -496,10 +495,6 @@ public class MatchEngineParameter extends Parameter<MatchEngine>
                 component =
                    new CuboidCartesianMatchEngine( new double[ ndim ] );
             }
-            else if ( cName.equalsIgnoreCase( "htm" ) ) {
-                component = new FixedSkyMatchEngine( new HtmSkyPixellator(),
-                                                     ARC_SECOND );
-            }
             else {
                 component = Loader.getClassInstance( cName, MatchEngine.class );
                 if ( component == null ) {
diff --git a/src/testcases/uk/ac/starlink/ttools/cone/SkyTilingTest.java b/src/testcases/uk/ac/starlink/ttools/cone/SkyTilingTest.java
index 4ac4aad..1de8c76 100644
--- a/src/testcases/uk/ac/starlink/ttools/cone/SkyTilingTest.java
+++ b/src/testcases/uk/ac/starlink/ttools/cone/SkyTilingTest.java
@@ -13,15 +13,6 @@ public class SkyTilingTest extends TestCase {
         super( name );
     }
 
-    public void testHtmTilings() {
-        double radius = 0.1/3600;
-        for ( int i = 0; i < 10; i++ ) {
-            int level = Tilings.htmLevel( radius );
-            checkTiling( new HtmTiling( level ), radius );
-            radius *= 2;
-        }
-    }
-
     public void testHealpixTilings() {
         double radius = 0.25/3600;
         for ( int i = 0; i < 10; i++ ) {
@@ -46,9 +37,6 @@ public class SkyTilingTest extends TestCase {
                     new HealpixTiling( k, false )
                        .getPositionTile( ra, dec),
                     Tilings.healpixRingIndex( k, ra, dec ) );
-                assertEquals(
-                    new HtmTiling( level ).getPositionTile( ra, dec ),
-                    Tilings.htmIndex( level, ra, dec ) );
             }
         }
     }
diff --git a/src/testcases/uk/ac/starlink/ttools/task/SkyMatchTest.java b/src/testcases/uk/ac/starlink/ttools/task/SkyMatchTest.java
index 54a2710..255647d 100644
--- a/src/testcases/uk/ac/starlink/ttools/task/SkyMatchTest.java
+++ b/src/testcases/uk/ac/starlink/ttools/task/SkyMatchTest.java
@@ -246,12 +246,6 @@ public class SkyMatchTest extends TableTestCase {
          * especially sky and sky3d, which are using geometrically quite
          * different criteria. */
         if ( withChecks ) {
-            MapEnvironment thtmEnv = new MapEnvironment()
-               .setValue( "params", Double.toString( tol ) )
-               .setValue( "matcher", "htm" );
-            StarTable thtmResult =
-                tmatch2( thtmEnv, t1, "ra1 dec1", t2, "ra2 dec2" );
-
             MapEnvironment tsky3dEnv = new MapEnvironment()
                .setValue( "params",
                           Double.toString( tol * CoordsRadians
@@ -285,7 +279,6 @@ public class SkyMatchTest extends TableTestCase {
                                                  t2, "ra2", "dec2", tol );
 
             assertSameData( tskyResult, skyResult );
-            assertSameData( tskyResult, thtmResult );
 
             // Sky3d matcher output will be different since the separation
             // column is not the same.  It will have the same number of
