public PolyhedralUpperEnvelope(PolyhedralDistanceFunction distfunc, double[] p1, double[] p2)
    {
        this.distfunc = distfunc;
        this.p1       = p1;
        this.p2       = p2;

        sortedfacets = new List <FacetList>();

        for (int i = 0; i < distfunc.getComplexity(); i++)
        {
            sortedfacets.Add(new FacetList(i, p1, p2, distfunc));
        }

//		IComparer myComparer = new sortClass();
        sortedfacets.Sort();         // myComparer );
    }
Ejemplo n.º 2
0
        private static void setDistMetric(int distMetric_)
        {
            distMetric = distMetric_;

            if (distMetric == (int)Metrics.Frechet || distMetric == (int)Metrics.Hausdorff)
            {
                numSelectedDimensions = 0;
                for (int dim = 0; dim < dimensionEnabled.Count(); dim++)
                {
                    if (dimensionEnabled[dim])
                    {
                        numSelectedDimensions++;
                    }
                }

                if (distMetric == (int)Metrics.Frechet)
                {
                    frechet = new PolyhedralFrechetDistance(PolyhedralDistanceFunction.L1(numSelectedDimensions));
                }
            }
        }
Ejemplo n.º 3
0
 public PolyhedralFrechetDistance(PolyhedralDistanceFunction distfunc)
 {
     this.distfunc = distfunc;
 }
 public FacetList(int facet, double[] p1, double[] p2, PolyhedralDistanceFunction distfunc)
 {
     this.facet = facet;
     this.slope = distfunc.getFacetSlope(p1, p2, facet);
 }