|
1 | 1 | pub use rusty_mujoco as binding; |
2 | | -pub use binding::{mjModel, mjData, ObjectId, obj, JointObjectId, Joint, mjMAXVAL, mjMINVAL}; |
| 2 | +pub use binding::{mjModel, mjData, ObjectId, obj, Joint, joint, mjMAXVAL, mjMINVAL}; |
3 | 3 |
|
4 | 4 | use binding::{Obj, mjtObj}; |
5 | 5 | use crate::error::Error; |
@@ -54,27 +54,13 @@ impl Physics { |
54 | 54 | rusty_mujoco::mj_resetData(&self.model, &mut self.data); |
55 | 55 | } |
56 | 56 |
|
57 | | - pub fn object_id_of<O: Obj>(&self, name: &str) -> Option<ObjectId<O>> { |
58 | | - binding::mj_name2id::<O>(&self.model, name) |
| 57 | + pub fn object_id<O: Obj>(&self, name: &str) -> Option<ObjectId<O>> { |
| 58 | + self.model.object_id(name) |
59 | 59 | } |
60 | 60 |
|
61 | | - pub fn object_name_of<O: Obj>(&self, id: ObjectId<O>) -> String { |
| 61 | + pub fn object_name<O: Obj>(&self, id: ObjectId<O>) -> String { |
62 | 62 | binding::mj_id2name::<O>(&self.model, id) |
63 | 63 | } |
64 | | - |
65 | | - pub fn object_count_of<O: Obj>(&self) -> usize { |
66 | | - match O::TYPE { |
67 | | - mjtObj::BODY => self.model.nbody(), |
68 | | - mjtObj::JOINT => self.model.njnt(), |
69 | | - mjtObj::GEOM => self.model.ngeom(), |
70 | | - mjtObj::SITE => self.model.nsite(), |
71 | | - mjtObj::CAMERA => self.model.ncam(), |
72 | | - mjtObj::LIGHT => self.model.nlight(), |
73 | | - mjtObj::TENDON => self.model.ntendon(), |
74 | | - mjtObj::ACTUATOR => self.model.nu(), |
75 | | - _ => 0, |
76 | | - } |
77 | | - } |
78 | 64 | } |
79 | 65 |
|
80 | 66 | pub struct Actuators<'a> { |
@@ -116,17 +102,17 @@ impl Physics { |
116 | 102 | self.data.set_act(id, value, &self.model) |
117 | 103 | } |
118 | 104 |
|
119 | | - pub fn qpos<J: Joint>(&self, id: JointObjectId<J>) -> J::Qpos { |
| 105 | + pub fn qpos<J: Joint>(&self, id: ObjectId<J>) -> J::Qpos { |
120 | 106 | self.data.qpos(id, &self.model) |
121 | 107 | } |
122 | | - pub fn set_qpos<J: Joint>(&mut self, id: JointObjectId<J>, qpos: J::Qpos) { |
| 108 | + pub fn set_qpos<J: Joint>(&mut self, id: ObjectId<J>, qpos: J::Qpos) { |
123 | 109 | self.data.set_qpos(id, qpos, &self.model); |
124 | 110 | } |
125 | 111 |
|
126 | | - pub fn qvel<J: Joint>(&self, id: JointObjectId<J>) -> J::Qvel { |
| 112 | + pub fn qvel<J: Joint>(&self, id: ObjectId<J>) -> J::Qvel { |
127 | 113 | self.data.qvel(id, &self.model) |
128 | 114 | } |
129 | | - pub fn set_qvel<J: Joint>(&mut self, id: JointObjectId<J>, qvel: J::Qvel) { |
| 115 | + pub fn set_qvel<J: Joint>(&mut self, id: ObjectId<J>, qvel: J::Qvel) { |
130 | 116 | self.data.set_qvel(id, qvel, &self.model); |
131 | 117 | } |
132 | 118 |
|
|
0 commit comments