1
0
mirror of https://github.com/rockam/xgamejs synced 2024-12-26 13:59:19 +01:00
xgamejs/src/JS/XgameJS/Segment.js
Víctor Hernández Molpeceres f720fa90b0 first project upload
2015-11-21 17:29:35 +01:00

39 lines
941 B
JavaScript

/**
* Represents a 2D segment, which is composed of two points.
* @constructor
* @param {Point} pointA - The A point of the segment.
* @param {Point} pointB - The B point of the segment.
*/
function Segment(pointA, pointB) {
"use strict";
/*global Vector2*/
this.pointA = pointA;
this.pointB = pointB;
}
/**
* Gets the distance of the segment.
* @name Distance
* @function
* @memberOf Segment
*/
Segment.prototype.Distance = function () {
"use strict";
var self = this;
return Math.sqrt(Math.pow((self.pointB.X - self.pointA.X), 2) + Math.pow((self.pointB.Y - self.pointA.Y), 2));
};
/**
* Gets the direction vector of the segment.
* @name DirectionVector
* @function
* @memberOf Segment
*/
Segment.prototype.DirectionVector = function () {
"use strict";
var self = this,
distance = self.Distance();
return new Vector2((self.pointB.X - self.pointA.X) / distance, (self.pointB.Y - self.pointA.Y) / distance);
};