Skip to content

Commit

Permalink
Enhance MeshcatVisualizer to support base frame in load_model method
Browse files Browse the repository at this point in the history
  • Loading branch information
GiulioRomualdi committed Feb 7, 2025
1 parent 83bd07a commit 62fc5cc
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions bindings/python/visualize/meshcat_visualizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,7 @@ def set_primitive_geometry_property(
else:
with self._animation.at_frame(self.viewer, self._current_frame) as frame:
raise NotImplementedError("The set_property method is not implemented for animations.")

def load_model_from_file(
self, model_path: str, considered_joints=None, model_name="iDynTree", color=None
):
Expand Down Expand Up @@ -621,7 +621,7 @@ def load_model_from_file(

self.load_model(model=model_loader.model(), model_name=model_name, color=color)

def load_model(self, model: idyn.Model, model_name="iDynTree", color=None):
def load_model(self, model: idyn.Model, base_frame = None, model_name="iDynTree", color=None):

# check if the model already exist
if self.__model_exists(model_name):
Expand All @@ -633,7 +633,12 @@ def load_model(self, model: idyn.Model, model_name="iDynTree", color=None):
self.traversal[model_name] = idyn.Traversal()
self.link_pos[model_name] = idyn.LinkPositions()

self.model[model_name].computeFullTreeTraversal(self.traversal[model_name])
if base_frame is None:
self.model[model_name].computeFullTreeTraversal(self.traversal[model_name])
else:
base_frame_index = self.model[model_name].getFrameIndex(base_frame)
self.model[model_name].computeFullTreeTraversal(self.traversal[model_name], base_frame_index)

self.link_pos[model_name].resize(self.model[model_name])

self.__add_model_geometry_to_viewer(
Expand Down

0 comments on commit 62fc5cc

Please sign in to comment.