/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.math.interpolation;
import java.io.Serializable;
import java.util.Map;
import com.opengamma.analytics.math.interpolation.data.Interpolator1DDataBundle;
import com.opengamma.util.tuple.DoublesPair;
/**
* A base class for two-dimensional interpolation.
*/
public abstract class Interpolator2D implements Interpolator<Map<Double, Interpolator1DDataBundle>, DoublesPair>, Serializable {
/**
* @param dataBundle
* A map of (x, y) pairs to z values.
* @param value
* The (x, y) value for which an interpolated value for z is to be
* found.
* @return The value of z
*/
@Override
public abstract Double interpolate(Map<Double, Interpolator1DDataBundle> dataBundle, DoublesPair value);
public abstract Map<DoublesPair, Double> getNodeSensitivitiesForValue(final Map<Double, Interpolator1DDataBundle> dataBundle, final DoublesPair value);
}