Ejemplo n.º 1
0
// Hashset reject func to throw away old arbiters.
static int
contactSetReject(void *ptr, void *data)
{
	cpArbiter *arb = (cpArbiter *)ptr;
	cpSpace *space = (cpSpace *)data;
	
	if((space->stamp - arb->stamp) > cp_contact_persistence){
		cpArbiterFree(arb);
		return 0;
	}
	
	return 1;
}
Ejemplo n.º 2
0
// Hashset filter func to throw away old arbiters.
static int
contactSetFilter(cpArbiter *arb, cpSpace *space)
{
	int ticks = space->stamp - arb->stamp;
	
	// was used last frame, but not this one
	if(ticks == 1){
		arb->handler->separate(arb, space, arb->handler->data);
		arb->stamp = -1; // mark it as a new pair again.
	}
	
	if(ticks >= cp_contact_persistence){
		cpArbiterFree(arb);
		return 0;
	}
	
	return 1;
}
Ejemplo n.º 3
0
static void      arbiterFreeWrap(cpArbiter    *ptr, void *unused){   cpArbiterFree(ptr);}