module:Position

Pair of value in 2d space

Constructor

new module:Position(x, y)

Position constructor

Parameters:
NameTypeDefaultDescription
xNumber0

Vertical component

yNumber0

Horizontal component

Members

angle

Get the angle of a position relative to the horizontal axis

length

Get vector length

Methods

(static) from(positionDefinitionopt) → {Position}

Create a Position from a generic definition or do nothing if already a Position

Parameters:
NameTypeAttributesDescription
positionDefinitionPositionDefinition<optional>

Position definition

Returns:
Type: 
Position

add(definition, yopt) → {Position}

Add another position or number

Parameters:
NameTypeAttributesDescription
definitionPositionDefinition | Number

Another position or a number

yNumber<optional>

Value for "y" if "position" is a number

Returns:

Itself

Type: 
Position

calc(operation, definition, diffYopt) → {Position}

Apply an operation to this position values

Parameters:
NameTypeAttributesDescription
operationfunction

Function to apply on value

definitionPositionDefinition | Number

Another position or a number

diffYNumber<optional>

Value to apply on "y" if "definition" is a number

Returns:

Itself

Type: 
Position

clone() → {Position}

Create a copy of this position

Returns:

New instance

Type: 
Position

crossProduct(positionDefinition) → {Number}

Cross product

Parameters:
NameTypeDescription
positionDefinitionPositionDefinition

Another position

Returns:
Type: 
Number

distance(positionDefinition) → {Number}

Compute distance with another position

Parameters:
NameTypeDescription
positionDefinitionPositionDefinition

Any position

Returns:
Type: 
Number

divide(definition, yopt) → {Position}

Divide by another position or number

Parameters:
NameTypeAttributesDescription
definitionPositionDefinition | Number

Another position or a number

yNumber<optional>

Value for "y" if "position" is a number

Returns:

Itself

Type: 
Position

dotProduct(positionDefinition) → {Number}

Dot product

Parameters:
NameTypeDescription
positionDefinitionPositionDefinition

Another position

Returns:
Type: 
Number

isOnSameSide(positionDefinition, vector) → {Boolean}

Define if this is on the same side of a vector as another position

Parameters:
NameTypeDescription
positionDefinitionPositionDefinition

Another position

vectorVector

Any vector

Returns:
Type: 
Boolean

multiply(definition, yopt) → {Position}

Multiply by another position or number

Parameters:
NameTypeAttributesDescription
definitionPositionDefinition | Number

Another position or a number

yNumber<optional>

Value for "y" if "position" is a number

Returns:

Itself

Type: 
Position

power(definition, yopt) → {Position}

Raise to a power

Parameters:
NameTypeAttributesDescription
definitionPositionDefinition | Number

Another position or a number

yNumber<optional>

Value for "y" if "position" is a number

Returns:

Itself

Type: 
Position

rotate(angleopt, originDefinitionopt) → {Position}

Rotate the position around the origin clockwise

Parameters:
NameTypeAttributesDefaultDescription
angleNumber<optional>
0

Angle of rotation in ratio of full circle (0 means no rotation, 1 means go full circle back to same position)

originDefinitionPositionDefinition<optional>

Point of origin to rotate around (by default (0, 0))

Returns:

Itself

Type: 
Position

set(definition, diffYopt) → {Position}

Define this position value

Parameters:
NameTypeAttributesDescription
definitionPositionDefinition | Number

Horizontal position or another position

diffYNumber<optional>

Vertical position if "definition" is a number

Returns:

Itself

Type: 
Position

subtract(definition, yopt) → {Position}

Subtract another position or number

Parameters:
NameTypeAttributesDescription
definitionPositionDefinition | Number

Another position or a number

yNumber<optional>

Value for "y" if "position" is a number

Returns:

Itself

Type: 
Position

toJSON() → {Array.<Number>}

Return a JSON ready Position definition

Returns:
Type: 
Array.<Number>

Type Definitions

AbstractPosition

Type:
  • Object
Properties
NameTypeAttributesDefaultDescription
xNumber<optional>
0

Vertical position

yNumber<optional>
0

Horizontal position

PositionDefinition

Type:
  • Array.<Number> | AbstractPosition