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 ); }
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)); } } }
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); }