class NodalDoublesSurface extends DoublesSurface {

  public static NodalDoublesSurface from(final double[] xData, final double[] yData, final double[] zData) {
    return new NodalDoublesSurface(xData, yData, zData);
  }

  public  NodalDoublesSurface(final double[] xData, final double[] yData, final double[] zData);
  public  NodalDoublesSurface(final Double[] xData, final Double[] yData, final Double[] zData);
  public  NodalDoublesSurface(final List<Double> xData, final List<Double> yData, final List<Double> zData);
  public  NodalDoublesSurface(final DoublesPair[] xyData, final double[] zData);
  public  NodalDoublesSurface(final DoublesPair[] xyData, final Double[] zData);
  public  NodalDoublesSurface(final List<DoublesPair> xyData, final List<Double> zData);
  public  NodalDoublesSurface(final Map<DoublesPair, Double> xyzData);
  public  NodalDoublesSurface(final List<Triple<Double, Double, Double>> xyzData);
  public  NodalDoublesSurface(final double[] xData, final double[] yData, final double[] zData, final String name);
  public  NodalDoublesSurface(final Double[] xData, final Double[] yData, final Double[] zData, final String name);
  public  NodalDoublesSurface(final List<Double> xData, final List<Double> yData, final List<Double> zData, final String name);
  public  NodalDoublesSurface(final DoublesPair[] xyData, final double[] zData, final String name);
  public  NodalDoublesSurface(final DoublesPair[] xyData, final Double[] zData, final String name);
  public  NodalDoublesSurface(final List<DoublesPair> xyData, final List<Double> zData, final String name);
  public  NodalDoublesSurface(final Map<DoublesPair, Double> xyzData, final String name);
  public  NodalDoublesSurface(final List<Triple<Double, Double, Double>> xyzData, final String name);

}