Skip to content

Commit acc354b

Browse files
committed
Fixed MSVC warning for potential mod by 0 (C4724)
1 parent be3ecae commit acc354b

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

editor/plugins/gizmos/collision_polygon_3d_gizmo_plugin.cpp

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,10 @@ void CollisionPolygon3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
9898
float depth = polygon->get_depth() * 0.5;
9999

100100
Vector<Vector3> lines;
101-
for (int i = 0; i < points.size(); i++) {
102-
int n = (i + 1) % points.size();
101+
const uint64_t points_size = points.size();
102+
103+
for (int i = 0; i < points_size; i++) {
104+
int n = (i + 1) % points_size;
103105
lines.push_back(Vector3(points[i].x, points[i].y, depth));
104106
lines.push_back(Vector3(points[n].x, points[n].y, depth));
105107
lines.push_back(Vector3(points[i].x, points[i].y, -depth));
@@ -119,24 +121,25 @@ void CollisionPolygon3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
119121
// Determine orientation of the 2D polygon's vertices to determine
120122
// which direction to draw outer polygons.
121123
float signed_area = 0.0f;
122-
for (int i = 0; i < points.size(); i++) {
123-
const int j = (i + 1) % points.size();
124+
for (int i = 0; i < points_size; i++) {
125+
const int j = (i + 1) % points_size;
124126
signed_area += points[i].x * points[j].y - points[j].x * points[i].y;
125127
}
126128

127129
// Generate triangles for the sides of the extruded polygon.
128-
for (int i = 0; i < points.size(); i++) {
130+
for (int i = 0; i < points_size; i++) {
129131
verts.push_back(Vector3(points[i].x, points[i].y, depth));
130132
verts.push_back(Vector3(points[i].x, points[i].y, -depth));
131133

132134
colors.push_back(collision_color);
133135
colors.push_back(collision_color);
134136
}
135137

136-
for (int i = 0; i < verts.size(); i += 2) {
137-
const int j = (i + 1) % verts.size();
138-
const int k = (i + 2) % verts.size();
139-
const int l = (i + 3) % verts.size();
138+
const uint64_t verts_size = verts.size();
139+
for (int i = 0; i < verts_size; i += 2) {
140+
const int j = (i + 1) % verts_size;
141+
const int k = (i + 2) % verts_size;
142+
const int l = (i + 3) % verts_size;
140143

141144
indices.push_back(i);
142145
if (signed_area < 0) {
@@ -165,18 +168,19 @@ void CollisionPolygon3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
165168
Vector<Color> cap_colours_bottom;
166169
Vector<int> cap_indices_bottom;
167170

168-
const int index_offset = verts.size();
171+
const int index_offset = verts_size;
169172

170173
const Vector<Vector2> &convex = decomp[i];
174+
const uint64_t convex_size = convex.size();
171175

172-
for (int j = 0; j < convex.size(); j++) {
176+
for (int j = 0; j < convex_size; j++) {
173177
cap_verts_bottom.push_back(Vector3(convex[j].x, convex[j].y, -depth));
174178
cap_colours_bottom.push_back(collision_color);
175179
}
176180

177-
if (convex.size() >= 3) {
178-
for (int j = 1; j < convex.size(); j++) {
179-
const int k = (j + 1) % convex.size();
181+
if (convex_size >= 3) {
182+
for (int j = 1; j < convex_size; j++) {
183+
const int k = (j + 1) % convex_size;
180184

181185
cap_indices_bottom.push_back(index_offset + 0);
182186
cap_indices_bottom.push_back(index_offset + j);
@@ -194,18 +198,19 @@ void CollisionPolygon3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) {
194198
Vector<Color> cap_colours_top;
195199
Vector<int> cap_indices_top;
196200

197-
const int index_offset = verts.size();
201+
const int index_offset = verts_size;
198202

199203
const Vector<Vector2> &convex = decomp[i];
204+
const uint64_t convex_size = convex.size();
200205

201-
for (int j = 0; j < convex.size(); j++) {
206+
for (int j = 0; j < convex_size; j++) {
202207
cap_verts_top.push_back(Vector3(convex[j].x, convex[j].y, depth));
203208
cap_colours_top.push_back(collision_color);
204209
}
205210

206-
if (convex.size() >= 3) {
207-
for (int j = 1; j < convex.size(); j++) {
208-
const int k = (j + 1) % convex.size();
211+
if (convex_size >= 3) {
212+
for (int j = 1; j < convex_size; j++) {
213+
const int k = (j + 1) % convex_size;
209214

210215
cap_indices_top.push_back(index_offset + k);
211216
cap_indices_top.push_back(index_offset + j);

0 commit comments

Comments
 (0)