code: def add_geometry(self, name, geometry, **kwargs):
          
          # convert geometry to constructor args
          args = rendering.convert_to_vertexlist(geometry, **kwargs)
          # create the indexed vertex list
          self.vertex_list[name] = self.batch.add_indexed(*args)
          # save the MD5 of the geometry
          self.vertex_list_hash[name] = geometry_hash(geometry)
          # save the rendering mode from the constructor args
          self.vertex_list_mode[name] = args[1]
  
          # if a geometry has a texture defined convert it to opengl form and
          # save
          if hasattr(geometry, 'visual') and hasattr(
                  geometry.visual, 'material'):
              tex = rendering.material_to_texture(geometry.visual.material)
              if tex is not None:
                  self.textures[name] = tex
docs: Add a geometry to the viewer.
  
          Parameters
          --------------
          name : hashable
            Name that references geometry
          geometry : Trimesh, Path2D, Path3D, PointCloud
            Geometry to display in the viewer window
          kwargs **
            Passed to rendering.convert_to_vertexlist