Merge pull request #71320 from timothyqiu/collision-shape-aabb

[3.x] Make CollisionShape selection box use shape AABB
This commit is contained in:
Rémi Verschelde 2023-01-14 00:41:12 +01:00
commit 031401fe09
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 16 additions and 0 deletions

View file

@ -141,6 +141,18 @@ String CollisionShape::get_configuration_warning() const {
return warning;
}
#ifdef TOOLS_ENABLED
AABB CollisionShape::get_fallback_gizmo_aabb() const {
if (shape.is_null()) {
return Spatial::get_fallback_gizmo_aabb();
}
// get_debug_mesh() is not const because the mesh is lazy initialized and cached.
// It would be better if we can mark the cache mutable and make get_debug_mesh() const.
return const_cast<CollisionShape *>(this)->shape->get_debug_mesh()->get_aabb();
}
#endif
void CollisionShape::_bind_methods() {
//not sure if this should do anything
ClassDB::bind_method(D_METHOD("resource_changed", "resource"), &CollisionShape::resource_changed);

View file

@ -64,6 +64,10 @@ public:
String get_configuration_warning() const;
#ifdef TOOLS_ENABLED
virtual AABB get_fallback_gizmo_aabb() const;
#endif
CollisionShape();
~CollisionShape();
};