UNPKG

cannon

Version:

A lightweight 3D physics engine written in JavaScript.

66 lines (58 loc) 1.09 kB
module.exports = TupleDictionary; /** * @class TupleDictionary * @constructor */ function TupleDictionary() { /** * The data storage * @property data * @type {Object} */ this.data = { keys:[] }; } /** * @method get * @param {Number} i * @param {Number} j * @return {Number} */ TupleDictionary.prototype.get = function(i, j) { if (i > j) { // swap var temp = j; j = i; i = temp; } return this.data[i+'-'+j]; }; /** * @method set * @param {Number} i * @param {Number} j * @param {Number} value */ TupleDictionary.prototype.set = function(i, j, value) { if (i > j) { var temp = j; j = i; i = temp; } var key = i+'-'+j; // Check if key already exists if(!this.get(i,j)){ this.data.keys.push(key); } this.data[key] = value; }; /** * @method reset */ TupleDictionary.prototype.reset = function() { var data = this.data, keys = data.keys; while(keys.length > 0){ var key = keys.pop(); delete data[key]; } };