@@ -158,7 +158,7 @@ pub fn calc_bbox_3d(objects: &re_data_store::Objects<'_>) -> macaw::BoundingBox
158
158
}
159
159
160
160
for ( _, obj) in objects. camera . iter ( ) {
161
- bbox. extend ( obj. camera . position . into ( ) ) ;
161
+ bbox. extend ( obj. camera . extrinsics . position . into ( ) ) ;
162
162
}
163
163
164
164
bbox
@@ -174,7 +174,7 @@ pub mod cam {
174
174
/// Rerun uses a RHS view-space with +X=right, +Y=up, -Z=fwd.
175
175
/// This creates a transform from the Rerun view-space
176
176
/// to the parent space of the camera.
177
- pub fn world_from_view ( cam : & re_log_types:: Camera ) -> macaw:: IsoTransform {
177
+ pub fn world_from_view ( cam : & re_log_types:: Extrinsics ) -> macaw:: IsoTransform {
178
178
use re_log_types:: CameraSpaceConvention ;
179
179
180
180
let rotation = Quat :: from_slice ( & cam. rotation ) ;
@@ -192,15 +192,15 @@ pub mod cam {
192
192
macaw:: IsoTransform :: from_rotation_translation ( rotation, translation)
193
193
}
194
194
195
- pub fn view_from_world ( cam : & re_log_types:: Camera ) -> macaw:: IsoTransform {
195
+ pub fn view_from_world ( cam : & re_log_types:: Extrinsics ) -> macaw:: IsoTransform {
196
196
world_from_view ( cam) . inverse ( )
197
197
}
198
198
199
199
/// Projects image coordinates into world coordinates
200
200
pub fn world_from_image ( cam : & re_log_types:: Camera ) -> Option < glam:: Affine3A > {
201
201
cam. intrinsics . map ( |intrinsics| {
202
- let intrinsics = glam:: Mat3 :: from_cols_array_2d ( & intrinsics) ;
203
- world_from_view ( cam)
202
+ let intrinsics = glam:: Mat3 :: from_cols_array_2d ( & intrinsics. intrinsics_matrix ) ;
203
+ world_from_view ( & cam. extrinsics )
204
204
* Affine3A :: from_scale ( [ 1.0 , -1.0 , -1.0 ] . into ( ) ) // negate Y and Z here here because image space and view space are different.
205
205
* Affine3A :: from_mat3 ( intrinsics. inverse ( ) )
206
206
} )
@@ -209,10 +209,10 @@ pub mod cam {
209
209
/// Projects world coordinates onto 2D image coordinates
210
210
pub fn image_from_world ( cam : & re_log_types:: Camera ) -> Option < glam:: Affine3A > {
211
211
cam. intrinsics . map ( |intrinsics| {
212
- let intrinsics = glam:: Mat3 :: from_cols_array_2d ( & intrinsics) ;
212
+ let intrinsics = glam:: Mat3 :: from_cols_array_2d ( & intrinsics. intrinsics_matrix ) ;
213
213
Affine3A :: from_mat3 ( intrinsics)
214
214
* Affine3A :: from_scale ( [ 1.0 , -1.0 , -1.0 ] . into ( ) ) // negate Y and Z here here because image space and view space are different.
215
- * view_from_world ( cam)
215
+ * view_from_world ( & cam. extrinsics )
216
216
} )
217
217
}
218
218
@@ -227,7 +227,7 @@ pub mod cam {
227
227
/// Unproject a 2D image coordinate as a ray in 3D space
228
228
pub fn unproject_as_ray ( cam : & re_log_types:: Camera , pos2d : Vec2 ) -> Option < Ray3 > {
229
229
world_from_image ( cam) . map ( |world_from_pixel| {
230
- let origin = Vec3 :: from_slice ( & cam. position ) ;
230
+ let origin = Vec3 :: from_slice ( & cam. extrinsics . position ) ;
231
231
let stop = world_from_pixel. transform_point3 ( pos2d. extend ( 1.0 ) ) ;
232
232
let dir = ( stop - origin) . normalize ( ) ;
233
233
Ray3 :: from_origin_dir ( origin, dir)
0 commit comments