File tree Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -133,14 +133,17 @@ pub fn clip_aabb_line(
133
133
let near = if near_diag {
134
134
( tmin, -dir. normalize ( ) , near_side)
135
135
} else {
136
+ // If near_side is 0, the index calculation would be invalid (-1).
137
+ if near_side == 0 {
138
+ return None ;
139
+ }
140
+
136
141
let mut normal = Vector :: zeros ( ) ;
137
142
138
143
if near_side < 0 {
139
144
normal[ ( -near_side - 1 ) as usize ] = 1.0 ;
140
- } else if near_side > 0 {
141
- normal[ ( near_side - 1 ) as usize ] = -1.0 ;
142
145
} else {
143
- return None ;
146
+ normal [ ( near_side - 1 ) as usize ] = - 1.0 ;
144
147
}
145
148
146
149
( tmin, normal, near_side)
@@ -149,14 +152,17 @@ pub fn clip_aabb_line(
149
152
let far = if far_diag {
150
153
( tmax, -dir. normalize ( ) , far_side)
151
154
} else {
155
+ // If far_side is 0, the index calculation would be invalid (-1).
156
+ if far_side == 0 {
157
+ return None ;
158
+ }
159
+
152
160
let mut normal = Vector :: zeros ( ) ;
153
161
154
162
if far_side < 0 {
155
163
normal[ ( -far_side - 1 ) as usize ] = -1.0 ;
156
- } else if far_side > 0 {
157
- normal[ ( far_side - 1 ) as usize ] = 1.0 ;
158
164
} else {
159
- return None ;
165
+ normal [ ( far_side - 1 ) as usize ] = 1.0 ;
160
166
}
161
167
162
168
( tmax, normal, far_side)
You can’t perform that action at this time.
0 commit comments