healpix.essentials

## Class Moc

- java.lang.Object
- - healpix.essentials.Moc

    public class Moc
    extends Object

Support for MOC algorithms.

### Constructor Summary

Constructors
Constructor and Description
`Moc()` Creates a new, empty Moc.
`Moc(Moc other)` Creates a new Moc, which is identical to "other".
`Moc(RangeSet rs2, int order)` Creates a new Moc from the range set of NESTED pixels at the given order.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addPixel(int order, long p)`
`void` `addPixelRange(int order, long p1, long p2)` Adds a range of pixels at a given HEALPix order to the Moc.
`Moc` `complement()` Returns the complement of this Moc.
`boolean` `contains(Moc other)`
`Moc` `degradedToOrder(int order, boolean keepPartialCells)` Returns a Moc with degraded resolution.
`boolean` `equals(Object obj)`
`static Moc` `fromCompressed(byte[] data)`
`static Moc` `fromUniq(long[] u)`
`static Moc` `fromUniqRS(RangeSet ru)`
`RangeSet` `getRangeSet()` Returns the internal range set.
`int` `hashCode()`
`Moc` `intersection(Moc other)` Returns a new Moc that contains the intersection of this Moc and "other".
`int` `maxOrder()` Returns the maximum HEALPix order necessary to describe the Moc exactly.
`int` `nranges()`
`boolean` `overlaps(Moc other)`
`Moc` `subtraction(Moc other)` Returns a new Moc that contains all parts of this Moc that are not contained in "other".
`byte[]` `toCompressed()`
`long[]` `toUniq()`
`RangeSet` `toUniqRS()`
`Moc` `union(Moc other)` Returns a new Moc that contains the union of this Moc and "other".

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Moc

    public Moc()

Creates a new, empty Moc.

#### Moc

    public Moc(Moc other)

Creates a new Moc, which is identical to "other".

#### Moc

    public Moc(RangeSet rs2,
               int order)

Creates a new Moc from the range set of NESTED pixels at the given order.

### Method Detail

#### getRangeSet

    public RangeSet getRangeSet()

Returns the internal range set.

#### maxOrder

    public int maxOrder()

Returns the maximum HEALPix order necessary to describe the Moc exactly.

#### degradedToOrder

    public Moc degradedToOrder(int order,
                               boolean keepPartialCells)

Returns a Moc with degraded resolution.

Parameters:
  `order` - the maximum HEALPix order used for the result
  `keepPartialCells` - if true, partially filled cells will be included in the output Moc; if false, they will be ignored.

#### addPixelRange

    public void addPixelRange(int order,
                              long p1,
                              long p2)

Adds a range of pixels at a given HEALPix order to the Moc.

Parameters:
  `order` - the HEALPix order of the added pixels
  `p1` - the first pixel of the range
  `p2` - the one-after-last pixel of the range

#### addPixel

    public void addPixel(int order,
                         long p)

#### union

    public Moc union(Moc other)

Returns a new Moc that contains the union of this Moc and "other".

#### intersection

    public Moc intersection(Moc other)

Returns a new Moc that contains the intersection of this Moc and "other".

#### subtraction

    public Moc subtraction(Moc other)

Returns a new Moc that contains all parts of this Moc that are not contained in "other".

#### complement

    public Moc complement()

Returns the complement of this Moc.

#### contains

    public boolean contains(Moc other)

Returns:
  true, if "other" is a subset of this Moc, else false.

#### overlaps

    public boolean overlaps(Moc other)

Returns:
  true, if the intersection of this Moc and "other" is not empty.

#### toUniqRS

    public RangeSet toUniqRS()

Returns:
  A RangeSet containing all HEALPix pixels (in NUNIQ order) covered by this Moc. The result is well-formed in the sense that every pixel is given at its lowest possible HEALPix order.

#### toUniq

    public long[] toUniq()

#### fromUniqRS

    public static Moc fromUniqRS(RangeSet ru)

Returns:
  A Moc built from the RangeSet of NUNIQ HEALPix pixels given in "ru". "ru" need not be well-formed.

#### fromUniq

    public static Moc fromUniq(long[] u)

#### toCompressed

    public byte[] toCompressed()
                        throws Exception

Returns:
  A compressed representation of the Moc obtained by interpolative coding.
Throws:
  `Exception`

#### fromCompressed

    public static Moc fromCompressed(byte[] data)
                              throws Exception

Returns:
  A Moc built from the compressed representation given in "data".
Throws:
  `Exception`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### nranges

    public int nranges()