def bounding_primitive(self):
        """
        The minimum volume primitive (box, sphere, or cylinder) that
        bounds the mesh.

        Returns
        ---------
        bounding_primitive : trimesh.primitives.Sphere
                             trimesh.primitives.Box
                             trimesh.primitives.Cylinder
          Primitive which bounds the mesh with the smallest volume
        """
        options = [self.bounding_box_oriented,
                   self.bounding_sphere,
                   self.bounding_cylinder]
        volume_min = np.argmin([i.volume for i in options])
        bounding_primitive = options[volume_min]
        return bounding_primitive
The minimum volume primitive (box, sphere, or cylinder) that
        bounds the mesh.

        Returns
        ---------
        bounding_primitive : trimesh.primitives.Sphere
                             trimesh.primitives.Box
                             trimesh.primitives.Cylinder
          Primitive which bounds the mesh with the smallest volume