File: src\fork\box2d\collision\b2Pair.js
/*
* Copyright (c) 2006-2007 Erin Catto http:
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked, and must not be
* misrepresented the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
/**
* The pair manager is used by the broad-phase to quickly add/remove/find pairs
* of overlapping proxies. It is based closely on code provided by Pierre Terdiman.
* http:
*
* @class b2Pair
* @constructor
*/
var b2Pair = function () {
//
};
b2Pair.prototype =
{
SetBuffered: function() { this.status |= b2Pair.e_pairBuffered; },
ClearBuffered: function() { this.status &= ~b2Pair.e_pairBuffered; },
IsBuffered: function(){ return (this.status & b2Pair.e_pairBuffered) == b2Pair.e_pairBuffered; },
SetRemoved: function() { this.status |= b2Pair.e_pairRemoved; },
ClearRemoved: function() { this.status &= ~b2Pair.e_pairRemoved; },
IsRemoved: function(){ return (this.status & b2Pair.e_pairRemoved) == b2Pair.e_pairRemoved; },
SetFinal: function() { this.status |= b2Pair.e_pairFinal; },
IsFinal: function(){ return (this.status & b2Pair.e_pairFinal) == b2Pair.e_pairFinal; },
userData: null,
proxyId1: 0,
proxyId2: 0,
next: 0,
status: 0
// STATIC
// enum
};
b2Pair.b2_nullPair = b2Settings.USHRT_MAX;
b2Pair.b2_nullProxy = b2Settings.USHRT_MAX;
b2Pair.b2_tableCapacity = b2Settings.b2_maxPairs;
b2Pair.b2_tableMask = b2Pair.b2_tableCapacity - 1;
b2Pair.e_pairBuffered = 0x0001;
b2Pair.e_pairRemoved = 0x0002;
b2Pair.e_pairFinal = 0x0004;