diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-16 18:37:24 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-16 18:37:24 -0700 |
| commit | e937ac372fa92cd971d344748978a08316a55db4 (patch) | |
| tree | 32f12bbc3d9167d1192473883ce7001253819084 /src/sim/rb_sim/mod.rs | |
| parent | 1759cdce2845d24183f34febd8319cb4ff1ac673 (diff) | |
instance buffer, rotation
Diffstat (limited to 'src/sim/rb_sim/mod.rs')
| -rw-r--r-- | src/sim/rb_sim/mod.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/sim/rb_sim/mod.rs b/src/sim/rb_sim/mod.rs index 4a80729..4cac8a2 100644 --- a/src/sim/rb_sim/mod.rs +++ b/src/sim/rb_sim/mod.rs @@ -74,12 +74,21 @@ impl RbSimManager { ); } - pub fn get_rb_entity_position(&self, entity_id: u32) -> Option<(f32, f32)> { + pub fn get_rb_entity_transform(&self, entity_id: u32) -> Option<(f32, f32, f32, f32)> { let entity = self.rb_entities.get(&entity_id); match entity { Some(entity) => { let rb = self.physics_manager.rigid_body_set.get(entity.rb_parent); - rb.map(|rb| (rb.position().translation.x, rb.position().translation.y)) + rb.map(|rb| { + let position = rb.position(); + let angle = position.rotation.angle(); + ( + position.translation.x, + position.translation.y, + angle.cos(), + angle.sin(), + ) + }) } None => return None, } |
