# ZOO

The following constants and functions are available for the ZOO class:

## Constants

NAME | DESCRIPTION
--- | ---
SERVICE_ACCEPTED | {Integer} used for
SERVICE_STARTED | {Integer} used for
SERVICE_PAUSED | {Integer} used for
SERVICE_SUCCEEDED | {Integer} used for
SERVICE_FAILED | {Integer} used for

## Functions

NAME | DESCRIPTION
--- | ---
removeItem | Remove an object from an array.
indexOf |
extend | Copy all properties of a source object to a destination object.
rad |
distVincenty | Given two objects representing points with geographic coordinates, this calculates the distance between those points on the surface of an ellipsoid.
Class | Method used to create ZOO classes.
UpdateStatus | Method used to update the status of the process

Constants

SERVICE_ACCEPTED
  `{Integer}` used for

SERVICE_STARTED
  `{Integer}` used for

SERVICE_PAUSED
  `{Integer}` used for

SERVICE_SUCCEEDED
  `{Integer}` used for

SERVICE_FAILED
  `{Integer}` used for

Functions

removeItem

      removeItem: function(array,item)

  Remove an object from an array. Iterates through the array to find the item, then removes it.

  Parameters

  `array {Array}`
  `item {Object}`

  Returns

  `{Array}` A reference to the array

indexOf

      indexOf: function(array,obj)

  Parameters

  `array {Array}`
  `obj {Object}`

  Returns

  `{Integer}` The index at, which the first object was found in the array. If not found, returns -1.

extend

      extend: function(destination,source)

  Copy all properties of a source object to a destination object. Modifies the passed in destination object. Any properties on the source object that are set to undefined will not be (re)set on the destination object.

  Parameters

  `destination {Object}` The object that will be modified
  `source {Object}` The object with properties to be set on the destination

  Returns

  `{Object}` The destination object.

rad

      rad: function(x)

  Parameters

  `x {Float}`

  Returns

  `{Float}`

distVincenty

      distVincenty: function(p1,p2)

  Given two objects representing points with geographic coordinates, this calculates the distance between those points on the surface of an ellipsoid.

  Parameters:

  `p1` {ZOO.Geometry.Point} (or any object with both .x, .y properties)
  `p2` {ZOO.Geometry.Point} (or any object with both .x, .y properties)

Class

      Class: function()

  Method used to create ZOO classes. Includes support for multiple inheritance.

UpdateStatus

      UpdateStatus: function(env,value)

  Method used to update the status of the process

  Parameters

  `env {Object}` The environment object
  `value {Float}` The status value between 0 to 100