Skip to content

Commit 35345ff

Browse files
committed
no more silly pinhole box
1 parent 3c27687 commit 35345ff

File tree

1 file changed

+7
-18
lines changed

1 file changed

+7
-18
lines changed

crates/store/re_tf/src/transform_resolution_cache.rs

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -324,14 +324,14 @@ struct TransformsForChildFrameEvents {
324324
/// Whenever it changes, the previous parent frame is no longer reachable.
325325
frame_transforms: FrameTransformTimeMap,
326326

327-
pinhole_projections: Option<Box<PinholeProjectionMap>>, // TODO: stop doing a box here?
327+
pinhole_projections: PinholeProjectionMap,
328328
}
329329

330330
impl TransformsForChildFrameEvents {
331331
fn new_empty() -> Self {
332332
Self {
333333
frame_transforms: BTreeMap::new(),
334-
pinhole_projections: None,
334+
pinhole_projections: BTreeMap::new(),
335335
}
336336
}
337337

@@ -341,7 +341,6 @@ impl TransformsForChildFrameEvents {
341341
frame_transforms,
342342
pinhole_projections,
343343
} = self;
344-
let pinhole_projections = pinhole_projections.get_or_insert(Default::default());
345344

346345
frame_transforms.insert(time, CachedTransformValue::Cleared);
347346
pinhole_projections.insert(time, CachedTransformValue::Cleared);
@@ -353,7 +352,6 @@ impl TransformsForChildFrameEvents {
353352
frame_transforms,
354353
pinhole_projections,
355354
} = self;
356-
let pinhole_projections = pinhole_projections.get_or_insert(Default::default());
357355

358356
frame_transforms.extend(time.iter().map(|t| (*t, CachedTransformValue::Cleared)));
359357
pinhole_projections.extend(time.iter().map(|t| (*t, CachedTransformValue::Cleared)));
@@ -367,9 +365,7 @@ impl TransformsForChildFrameEvents {
367365
} = self;
368366

369367
frame_transforms.remove(&time);
370-
if let Some(pinhole_projections) = &mut pinhole_projections.as_mut() {
371-
pinhole_projections.remove(&time);
372-
}
368+
pinhole_projections.remove(&time);
373369
}
374370

375371
fn is_empty(&self) -> bool {
@@ -378,10 +374,7 @@ impl TransformsForChildFrameEvents {
378374
pinhole_projections,
379375
} = self;
380376

381-
frame_transforms.is_empty()
382-
&& pinhole_projections
383-
.as_ref()
384-
.is_none_or(|pinholes| pinholes.is_empty())
377+
frame_transforms.is_empty() && pinhole_projections.is_empty()
385378
}
386379
}
387380

@@ -530,8 +523,7 @@ impl TreeTransformsForChildFrame {
530523
/// Inserts an invalidation point for pinhole projections.
531524
fn invalidate_pinhole_projection_at(&mut self, time: TimeInt) {
532525
let events = self.events.get_mut();
533-
let pinhole_projections = events.pinhole_projections.get_or_insert_default();
534-
add_invalidated_entry_if_not_already_cleared(pinhole_projections, time);
526+
add_invalidated_entry_if_not_already_cleared(&mut events.pinhole_projections, time);
535527
}
536528

537529
#[inline]
@@ -596,7 +588,6 @@ impl TreeTransformsForChildFrame {
596588

597589
let pinhole_projection = events
598590
.pinhole_projections
599-
.as_mut()?
600591
.range_mut(..query.at().inc())
601592
.next_back()?
602593
.1;
@@ -1041,9 +1032,7 @@ impl TransformResolutionCache {
10411032
per_timeline.per_child_frame_transforms.get_mut(&frame)
10421033
{
10431034
let events = transforms.events.get_mut();
1044-
if let Some(pinhole_projections) = events.pinhole_projections.as_mut() {
1045-
pinhole_projections.remove(&time);
1046-
}
1035+
events.pinhole_projections.remove(&time);
10471036
}
10481037
}
10491038
}
@@ -1294,7 +1283,7 @@ mod tests {
12941283
#[cfg(debug_assertions)]
12951284
assert_eq!(transforms.timeline, Some(*timeline.name()));
12961285
assert_eq!(transforms.events.lock().frame_transforms.len(), 1);
1297-
assert_eq!(transforms.events.lock().pinhole_projections, None);
1286+
assert_eq!(transforms.events.lock().pinhole_projections.len(), 0);
12981287
Ok(())
12991288
}
13001289

0 commit comments

Comments
 (0)