collision detection
Only allocates data when it has a callback registered.
SVN revision: 78725
double rate;
int wy, wh;
- if ((!body) || (!contact_body))
+ if ((!body) || (!contact_body) || (body->collision_cb < 1))
return;
collision = (EPhysics_Body_Collision *)calloc(
cb->data = (void *)data;
body->callbacks = eina_inlist_append(body->callbacks, EINA_INLIST_GET(cb));
+ if (type == EPHYSICS_CALLBACK_BODY_COLLISION)
+ body->collision_cb++;
}
EAPI void *
cb_data = cb->data;
_ephysics_body_event_callback_del(body, cb);
+ if (type == EPHYSICS_CALLBACK_BODY_COLLISION)
+ body->collision_cb--;
break;
-
}
return cb_data;
int cloth_columns;
int cloth_rows;
int material_index;
+ int collision_cb;
EPhysics_Body_Soft_Body_Data *soft_data;
struct {
int triangle;