Documentation of 'visad.Irregular2DSet' Java class
Irregular2DSet
visad

Class Irregular2DSet

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Data, SampledSetIface, SetIface, SimpleSetIface, Thing


    public class Irregular2DSet
    extends IrregularSet

    IrregularSet for a finite number of samples of R.

    NOTE: There is no Irregular2DSet with a manifold dimension equal to one. Use Gridded2DSet with a manifold dimension equal to one instead.

    When you call an Irregular2DSet constructor without a Delaunay argument, the constructor uses the Delaunay.factory(float[][], boolean) method to implictly compute a Delaunay triangulation. 3000 points is the current break-point from Watson's algorithm to Clarkson's algorithm. So, currently, at 3001 points you start using Clarkson's algorithm, which rounds coordinates to integers. If your values are small enough that integer rounding will merge some of them to the same value (and hence create colinear or colocated points), there will be trouble. One approach is to scale your coordinates up so integer rounding does not merge values. Another is to ensure that you use Watson's algorithm by using new DelaunayWatson(samples) as the Delaunay argument of the Irregular2DSet constructor.

    See Also:
    Serialized Form
    • Constructor Detail

      • Irregular2DSet

        public Irregular2DSet(MathType type,
                              float[][] samples)
                       throws VisADException
        a 2-D irregular set with null errors, CoordinateSystem and Units are defaults from type; topology is computed by the constructor
        Throws:
        VisADException
      • Irregular2DSet

        public Irregular2DSet(MathType type,
                              float[][] samples,
                              CoordinateSystem coord_sys,
                              Unit[] units,
                              ErrorEstimate[] errors,
                              Delaunay delan)
                       throws VisADException
        a 2-D irregular set; samples array is organized float[2][number_of_samples]; no geometric constraint on samples; if delan is non-null it defines the topology of samples (which must have manifold dimension 2), else the constructor computes a topology with manifold dimension 2; note that Gridded2DSet can be used for an irregular set with domain dimension 2 and manifold dimension 1; coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null
        Throws:
        VisADException
      • Irregular2DSet

        public Irregular2DSet(MathType type,
                              float[][] samples,
                              int[] new2old,
                              int[] old2new)
                       throws VisADException
        shortcut constructor for constructing Irregular2DSet using sort from existing Irregular1DSet
        Throws:
        VisADException
    • Method Detail

      • indexToValue

        public float[][] indexToValue(int[] index)
                               throws VisADException
        convert an array of 1-D indices to an array of values in R^DomainDimension
        Specified by:
        indexToValue in interface SetIface
        Overrides:
        indexToValue in class IrregularSet
        Parameters:
        index - array of integer indices
        Returns:
        float[domain_dimension][indices.length] array of Set values
        Throws:
        VisADException - a VisAD error occurred
      • valueToTri

        public int[] valueToTri(float[][] value)
                         throws VisADException
        valueToTri returns an array of containing triangles given an array of points in R^DomainDimension
        Throws:
        VisADException
      • valueToIndex

        public int[] valueToIndex(float[][] value)
                           throws VisADException
        convert an array of values in R^DomainDimension to an array of 1-D indices
        Specified by:
        valueToIndex in interface SetIface
        Overrides:
        valueToIndex in class IrregularSet
        Parameters:
        value - float[domain_dimension][number_of_values] array of Set values
        Returns:
        array of integer indices
        Throws:
        VisADException - a VisAD error occurred
      • valueToInterp

        public void valueToInterp(float[][] value,
                                  int[][] indices,
                                  float[][] weights)
                           throws VisADException
        for each of an array of values in R^DomainDimension, compute an array of 1-D indices and an array of weights, to be used for interpolation; indices[i] and weights[i] are null if no interpolation is possible
        Specified by:
        valueToInterp in interface SimpleSetIface
        Overrides:
        valueToInterp in class IrregularSet
        Parameters:
        value - An array of points. value[i][j] is the i-th coordinate of the j-th points.
        indices - Indices of the neighboring samples in the set. If the j-th points lies within the set, then returned element [i][j] is the index of the i-th neighboring sample in the set; otherwise, returned array [j] is null.
        weights - Weights for interpolating the neighboring samples in the set. If the j-th points lies within the set, then returned element [i][j] is the weight of the i-th neighboring sample in the set; otherwise, returned array [j] is null.
        Throws:
        VisADException - VisAD failure.
      • cloneButType

        public java.lang.Object cloneButType(MathType type)
                                      throws VisADException
        Description copied from class: Set
        copy this Set, but give it a new MathType; this is safe, since constructor checks consistency of DomainCoordinateSystem and SetUnits with Type
        Specified by:
        cloneButType in interface SetIface
        Overrides:
        cloneButType in class IrregularSet
        Parameters:
        type - The MathType for the clone.
        Returns:
        A clone of this set with the new MathType.
        Throws:
        VisADException - VisAD failure.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.