@@ -49,11 +49,6 @@ def send_models(sock: zmq.Socket, model_str, geom_str):
4949 return sock .recv ()
5050
5151
52- def send_state (sock : zmq .Socket , q : np .ndarray , v : np .ndarray | None = None ):
53- payload = _encoder .encode ((q , v ))
54- sock .send_multipart ([b"state_update" , payload ])
55-
56-
5752def send_cam_pose (sock : zmq .Socket , M : np .ndarray ):
5853 assert sock .socket_type == zmq .REQ
5954 assert M .shape == (4 , 4 )
@@ -114,7 +109,8 @@ def display(self, q: np.ndarray, v: Optional[np.ndarray] = None):
114109 assert q .size == self .model .nq
115110 if v is not None :
116111 assert v .size == self .model .nv
117- send_state (self .publisher , q , v )
112+ payload = _encoder .encode ((q , v ))
113+ self .sync_sock .send_multipart ([b"state_update" , payload ])
118114
119115 def clean (self ):
120116 """Clean the robot from the renderer. Equivalent to `viz.clean()` on the synchronous `Visualizer` class."""
@@ -127,6 +123,11 @@ def close(self):
127123 self .publisher .close ()
128124 self .sync_sock .close ()
129125
126+ def toggleGui (self ):
127+ self .sync_sock .send_multipart ([b"toggle_gui" , b"" ])
128+ response = self .sync_sock .recv ().decode ()
129+ assert response == "ok"
130+
130131 def displayCollisions (self , visibility ):
131132 raise NotImplementedError ()
132133
0 commit comments