def get_o3d_meshes()

in contactopt/hand_object.py [0:0]


    def get_o3d_meshes(self, hand_contact=False, normalize_pos=False):
        """Returns Open3D meshes for visualization
        Draw with: o3dv.draw_geometries([hand_mesh, obj_mesh])"""

        hand_color = np.asarray([224.0, 172.0, 105.0]) / 255
        obj_color = np.asarray([100.0, 100.0, 100.0]) / 255

        obj_centroid = self.obj_verts.mean(0)
        if not normalize_pos:
            obj_centroid *= 0

        hand_mesh = o3dg.TriangleMesh()
        hand_mesh.vertices = o3du.Vector3dVector(self.hand_verts - obj_centroid)
        hand_mesh.triangles = o3du.Vector3iVector(HandObject.closed_faces)
        hand_mesh.compute_vertex_normals()

        if hand_contact and self.hand_contact.mean() != 0:
            util.mesh_set_color(self.hand_contact, hand_mesh)
        else:
            hand_mesh.paint_uniform_color(hand_color)

        obj_mesh = o3dg.TriangleMesh()
        obj_mesh.vertices = o3du.Vector3dVector(self.obj_verts - obj_centroid)
        obj_mesh.triangles = o3du.Vector3iVector(self.obj_faces)
        obj_mesh.compute_vertex_normals()

        if self.obj_contact.mean() != 0:
            util.mesh_set_color(self.obj_contact, obj_mesh)
        else:
            obj_mesh.paint_uniform_color(obj_color)

        return hand_mesh, obj_mesh