Difference between revisions of "Oolite JavaScript Reference: SystemInfo"

From Elite Wiki
(Added systemsInRange)
m (coordinates)
Line 8: Line 8:
 
=== <code>coordinates</code> ===
 
=== <code>coordinates</code> ===
 
  '''coordinates''' : Vector (read-only)
 
  '''coordinates''' : Vector (read-only)
The coordinates of the system in light years. e.g. for Lave: <code>(8, 69.2, 0)</code>. The z component is always zero.
+
The coordinates of the system in light years. e.g. for Lave: <code>(8, 34.6, 0)</code>. The z component is always zero.
  
 
=== <code>galaxyID</code> ===
 
=== <code>galaxyID</code> ===

Revision as of 14:55, 30 January 2010

Prototype: Object

This class was added in Oolite test release 1.74.

SystemInfo objects provide information about a specific system.

Properties

coordinates

coordinates : Vector (read-only)

The coordinates of the system in light years. e.g. for Lave: (8, 34.6, 0). The z component is always zero.

galaxyID

galaxyID : Number (read/write nonnegative integer)

The ID number of the galaxy.

systemID

systemID : Number (read/write nonnegative integer)

The ID number of the system.


Methods

distanceToSystem

function distanceToSystem(SystenInfo) : Number

Returns the distance in light year to the other SystemInfo.

systemsInRange

function systemsInRange(Number) : Array

Returns an array of SystemInfos in range. When no distance is defined, 7 is assumed.


Static methods

filteredSystems

function filteredSystems(this : Object, predicate : Function ) : Array of SystemInfo

A list of the SystemInfos for which predicate returns true. Example:

SystemInfo.systemsInRange = function(range) 
{ 
   if (range === undefined) 
   { 
       range = 7; 
   } 
   
   var thisSystem = system.info; 
   return SystemInfo.filteredSystems(this, function(other) 
   { 
       return (other !== thisSystem) && (thisSystem.distanceToSystem(other) <= range); 
   }); 
}