Skip to content

Commit bc4c60c

Browse files
committed
Merge pull request #94893 from rune-scape/no-const-cast-mesh-storage
Avoid `const_cast` in `mesh_storage.h`
2 parents 91c66b5 + f04a9bb commit bc4c60c

File tree

7 files changed

+10
-10
lines changed

7 files changed

+10
-10
lines changed

drivers/gles3/storage/mesh_storage.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1769,14 +1769,14 @@ AABB MeshStorage::_multimesh_get_custom_aabb(RID p_multimesh) const {
17691769
return multimesh->custom_aabb;
17701770
}
17711771

1772-
AABB MeshStorage::_multimesh_get_aabb(RID p_multimesh) const {
1772+
AABB MeshStorage::_multimesh_get_aabb(RID p_multimesh) {
17731773
MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh);
17741774
ERR_FAIL_NULL_V(multimesh, AABB());
17751775
if (multimesh->custom_aabb != AABB()) {
17761776
return multimesh->custom_aabb;
17771777
}
17781778
if (multimesh->aabb_dirty) {
1779-
const_cast<MeshStorage *>(this)->_update_dirty_multimeshes();
1779+
_update_dirty_multimeshes();
17801780
}
17811781
return multimesh->aabb;
17821782
}

drivers/gles3/storage/mesh_storage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ class MeshStorage : public RendererMeshStorage {
510510
virtual RID _multimesh_get_mesh(RID p_multimesh) const override;
511511
virtual void _multimesh_set_custom_aabb(RID p_multimesh, const AABB &p_aabb) override;
512512
virtual AABB _multimesh_get_custom_aabb(RID p_multimesh) const override;
513-
virtual AABB _multimesh_get_aabb(RID p_multimesh) const override;
513+
virtual AABB _multimesh_get_aabb(RID p_multimesh) override;
514514

515515
virtual Transform3D _multimesh_instance_get_transform(RID p_multimesh, int p_index) const override;
516516
virtual Transform2D _multimesh_instance_get_transform_2d(RID p_multimesh, int p_index) const override;

servers/rendering/dummy/storage/mesh_storage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class MeshStorage : public RendererMeshStorage {
163163
virtual AABB _multimesh_get_custom_aabb(RID p_multimesh) const override { return AABB(); }
164164

165165
virtual RID _multimesh_get_mesh(RID p_multimesh) const override { return RID(); }
166-
virtual AABB _multimesh_get_aabb(RID p_multimesh) const override { return AABB(); }
166+
virtual AABB _multimesh_get_aabb(RID p_multimesh) override { return AABB(); }
167167

168168
virtual Transform3D _multimesh_instance_get_transform(RID p_multimesh, int p_index) const override { return Transform3D(); }
169169
virtual Transform2D _multimesh_instance_get_transform_2d(RID p_multimesh, int p_index) const override { return Transform2D(); }

servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2041,15 +2041,15 @@ AABB MeshStorage::_multimesh_get_custom_aabb(RID p_multimesh) const {
20412041
return multimesh->custom_aabb;
20422042
}
20432043

2044-
AABB MeshStorage::_multimesh_get_aabb(RID p_multimesh) const {
2044+
AABB MeshStorage::_multimesh_get_aabb(RID p_multimesh) {
20452045
MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh);
20462046
ERR_FAIL_NULL_V(multimesh, AABB());
20472047
if (multimesh->custom_aabb != AABB()) {
20482048
return multimesh->custom_aabb;
20492049
}
20502050

20512051
if (multimesh->aabb_dirty) {
2052-
const_cast<MeshStorage *>(this)->_update_dirty_multimeshes();
2052+
_update_dirty_multimeshes();
20532053
}
20542054
return multimesh->aabb;
20552055
}

servers/rendering/renderer_rd/storage_rd/mesh_storage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ class MeshStorage : public RendererMeshStorage {
652652
virtual void _multimesh_set_custom_aabb(RID p_multimesh, const AABB &p_aabb) override;
653653
virtual AABB _multimesh_get_custom_aabb(RID p_multimesh) const override;
654654

655-
virtual AABB _multimesh_get_aabb(RID p_multimesh) const override;
655+
virtual AABB _multimesh_get_aabb(RID p_multimesh) override;
656656

657657
virtual MultiMeshInterpolator *_multimesh_get_interpolator(RID p_multimesh) const override;
658658

servers/rendering/storage/mesh_storage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ int RendererMeshStorage::multimesh_get_visible_instances(RID p_multimesh) const
285285
return _multimesh_get_visible_instances(p_multimesh);
286286
}
287287

288-
AABB RendererMeshStorage::multimesh_get_aabb(RID p_multimesh) const {
288+
AABB RendererMeshStorage::multimesh_get_aabb(RID p_multimesh) {
289289
return _multimesh_get_aabb(p_multimesh);
290290
}
291291

servers/rendering/storage/mesh_storage.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ class RendererMeshStorage {
151151
virtual void multimesh_set_visible_instances(RID p_multimesh, int p_visible);
152152
virtual int multimesh_get_visible_instances(RID p_multimesh) const;
153153

154-
virtual AABB multimesh_get_aabb(RID p_multimesh) const;
154+
virtual AABB multimesh_get_aabb(RID p_multimesh);
155155

156156
virtual RID _multimesh_allocate() = 0;
157157
virtual void _multimesh_initialize(RID p_rid) = 0;
@@ -183,7 +183,7 @@ class RendererMeshStorage {
183183
virtual void _multimesh_set_visible_instances(RID p_multimesh, int p_visible) = 0;
184184
virtual int _multimesh_get_visible_instances(RID p_multimesh) const = 0;
185185

186-
virtual AABB _multimesh_get_aabb(RID p_multimesh) const = 0;
186+
virtual AABB _multimesh_get_aabb(RID p_multimesh) = 0;
187187

188188
// Multimesh is responsible for allocating / destroying a MultiMeshInterpolator object.
189189
// This allows shared functionality for interpolation across backends.

0 commit comments

Comments
 (0)