|
@@ -84,10 +84,6 @@ int PhysicsDirectSpaceState2DSW::_intersect_point_impl(const Vector2 &p_point, S
|
|
|
|
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
|
|
|
|
- if (col_obj->is_shape_set_as_disabled(shape_idx)) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
Shape2DSW *shape = col_obj->get_shape(shape_idx);
|
|
Shape2DSW *shape = col_obj->get_shape(shape_idx);
|
|
|
|
|
|
Vector2 local_point = (col_obj->get_transform() * col_obj->get_shape_transform(shape_idx)).affine_inverse().xform(p_point);
|
|
Vector2 local_point = (col_obj->get_transform() * col_obj->get_shape_transform(shape_idx)).affine_inverse().xform(p_point);
|
|
@@ -233,10 +229,6 @@ int PhysicsDirectSpaceState2DSW::intersect_shape(const RID &p_shape, const Trans
|
|
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
|
|
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
|
|
|
|
- if (col_obj->is_shape_set_as_disabled(shape_idx)) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (!CollisionSolver2DSW::solve(shape, p_xform, p_motion, col_obj->get_shape(shape_idx), col_obj->get_transform() * col_obj->get_shape_transform(shape_idx), Vector2(), nullptr, nullptr, nullptr, p_margin)) {
|
|
if (!CollisionSolver2DSW::solve(shape, p_xform, p_motion, col_obj->get_shape(shape_idx), col_obj->get_transform() * col_obj->get_shape_transform(shape_idx), Vector2(), nullptr, nullptr, nullptr, p_margin)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -280,10 +272,6 @@ bool PhysicsDirectSpaceState2DSW::cast_motion(const RID &p_shape, const Transfor
|
|
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
|
|
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
|
|
|
|
- if (col_obj->is_shape_set_as_disabled(shape_idx)) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
Transform2D col_obj_xform = col_obj->get_transform() * col_obj->get_shape_transform(shape_idx);
|
|
Transform2D col_obj_xform = col_obj->get_transform() * col_obj->get_shape_transform(shape_idx);
|
|
//test initial overlap, does it collide if going all the way?
|
|
//test initial overlap, does it collide if going all the way?
|
|
if (!CollisionSolver2DSW::solve(shape, p_xform, p_motion, col_obj->get_shape(shape_idx), col_obj_xform, Vector2(), nullptr, nullptr, nullptr, p_margin)) {
|
|
if (!CollisionSolver2DSW::solve(shape, p_xform, p_motion, col_obj->get_shape(shape_idx), col_obj_xform, Vector2(), nullptr, nullptr, nullptr, p_margin)) {
|
|
@@ -365,10 +353,6 @@ bool PhysicsDirectSpaceState2DSW::collide_shape(RID p_shape, const Transform2D &
|
|
|
|
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
|
|
|
|
- if (col_obj->is_shape_set_as_disabled(shape_idx)) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
cbk.valid_dir = Vector2();
|
|
cbk.valid_dir = Vector2();
|
|
cbk.valid_depth = 0;
|
|
cbk.valid_depth = 0;
|
|
|
|
|
|
@@ -460,10 +444,6 @@ bool PhysicsDirectSpaceState2DSW::rest_info(RID p_shape, const Transform2D &p_sh
|
|
|
|
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
int shape_idx = space->intersection_query_subindex_results[i];
|
|
|
|
|
|
- if (col_obj->is_shape_set_as_disabled(shape_idx)) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
rcd.valid_dir = Vector2();
|
|
rcd.valid_dir = Vector2();
|
|
rcd.object = col_obj;
|
|
rcd.object = col_obj;
|
|
rcd.shape = shape_idx;
|
|
rcd.shape = shape_idx;
|
|
@@ -516,8 +496,6 @@ int Space2DSW::_cull_aabb_for_body(Body2DSW *p_body, const Rect2 &p_aabb) {
|
|
keep = false;
|
|
keep = false;
|
|
} else if (static_cast<Body2DSW *>(intersection_query_results[i])->has_exception(p_body->get_self()) || p_body->has_exception(intersection_query_results[i]->get_self())) {
|
|
} else if (static_cast<Body2DSW *>(intersection_query_results[i])->has_exception(p_body->get_self()) || p_body->has_exception(intersection_query_results[i]->get_self())) {
|
|
keep = false;
|
|
keep = false;
|
|
- } else if (static_cast<Body2DSW *>(intersection_query_results[i])->is_shape_set_as_disabled(intersection_query_subindex_results[i])) {
|
|
|
|
- keep = false;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (!keep) {
|
|
if (!keep) {
|
|
@@ -540,7 +518,7 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t
|
|
bool shapes_found = false;
|
|
bool shapes_found = false;
|
|
|
|
|
|
for (int i = 0; i < p_body->get_shape_count(); i++) {
|
|
for (int i = 0; i < p_body->get_shape_count(); i++) {
|
|
- if (p_body->is_shape_set_as_disabled(i)) {
|
|
|
|
|
|
+ if (p_body->is_shape_disabled(i)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -592,7 +570,7 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t
|
|
int amount = _cull_aabb_for_body(p_body, body_aabb);
|
|
int amount = _cull_aabb_for_body(p_body, body_aabb);
|
|
|
|
|
|
for (int j = 0; j < p_body->get_shape_count(); j++) {
|
|
for (int j = 0; j < p_body->get_shape_count(); j++) {
|
|
- if (p_body->is_shape_set_as_disabled(j)) {
|
|
|
|
|
|
+ if (p_body->is_shape_disabled(j)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -732,7 +710,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
|
|
bool shapes_found = false;
|
|
bool shapes_found = false;
|
|
|
|
|
|
for (int i = 0; i < p_body->get_shape_count(); i++) {
|
|
for (int i = 0; i < p_body->get_shape_count(); i++) {
|
|
- if (p_body->is_shape_set_as_disabled(i)) {
|
|
|
|
|
|
+ if (p_body->is_shape_disabled(i)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -795,7 +773,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
|
|
int amount = _cull_aabb_for_body(p_body, body_aabb);
|
|
int amount = _cull_aabb_for_body(p_body, body_aabb);
|
|
|
|
|
|
for (int j = 0; j < p_body->get_shape_count(); j++) {
|
|
for (int j = 0; j < p_body->get_shape_count(); j++) {
|
|
- if (p_body->is_shape_set_as_disabled(j)) {
|
|
|
|
|
|
+ if (p_body->is_shape_disabled(j)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -918,7 +896,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
|
|
int amount = _cull_aabb_for_body(p_body, motion_aabb);
|
|
int amount = _cull_aabb_for_body(p_body, motion_aabb);
|
|
|
|
|
|
for (int body_shape_idx = 0; body_shape_idx < p_body->get_shape_count(); body_shape_idx++) {
|
|
for (int body_shape_idx = 0; body_shape_idx < p_body->get_shape_count(); body_shape_idx++) {
|
|
- if (p_body->is_shape_set_as_disabled(body_shape_idx)) {
|
|
|
|
|
|
+ if (p_body->is_shape_disabled(body_shape_idx)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1060,7 +1038,7 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co
|
|
int to_shape = best_shape != -1 ? best_shape + 1 : p_body->get_shape_count();
|
|
int to_shape = best_shape != -1 ? best_shape + 1 : p_body->get_shape_count();
|
|
|
|
|
|
for (int j = from_shape; j < to_shape; j++) {
|
|
for (int j = from_shape; j < to_shape; j++) {
|
|
- if (p_body->is_shape_set_as_disabled(j)) {
|
|
|
|
|
|
+ if (p_body->is_shape_disabled(j)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|