summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/rb_sim/mod.rs13
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,
}