示例#1
0
cpContactInit(cpContact con, cpVect p, cpVect n, double dist, cpHashValue hash)
{
	con.p = p;
	con.n = n;
	con.dist = dist;
	
	con.jnAcc = 0.0f;
	con.jtAcc = 0.0f;
	con.jBias = 0.0f;
	
	con.hash = hash;
		
	return con;
}
示例#2
0
cpSpaceHashInsert(cpSpaceHash *hash, object obj, cpHashValue hashid)
{
	cpHandle *hand = (cpHandle *)cpHashSetInsert(hash.handleSet, hashid, obj, hash, (cpHashSetTransFunc)handleSetTrans);
	hashHandle(hash, hand, hash.spatialIndex.bbfunc(obj));
}
示例#3
0
cpSpaceHashRemove(cpSpaceHash *hash, object obj, cpHashValue hashid)
{
	cpHandle *hand = (cpHandle *)cpHashSetRemove(hash.handleSet, hashid, obj);
	
	if(hand){
		hand.obj = null;
		cpHandleRelease(hand, hash.pooledHandles);
	}
}
示例#4
0
hash_func(cpHashValue x, cpHashValue y, cpHashValue n)
{
	return (x*1640531513ul ^ y*2654435789ul) % n;
}