parameters: (self, shot: pymap.Shot)
return_statement: return ret
docstring: Creates a copy of the passed shot in the current reconstruction
          If the shot belong to a Rig, we recursively copy the entire rig
          instance, so rigs stay consistents.
docstring_summary: Creates a copy of the passed shot in the current reconstruction
          If the shot belong to a Rig, we recursively copy the entire rig
          instance, so rigs stay consistents.
docstring_tokens: Creates a copy of the passed shot in the current reconstruction If the shot belong to a Rig we recursively copy the entire rig instance so rigs stay consistents .
function: def add_shot(self, shot: pymap.Shot) -> pymap.Shot:
          """Creates a copy of the passed shot in the current reconstruction
          If the shot belong to a Rig, we recursively copy the entire rig
          instance, so rigs stay consistents.
          """
  
          if shot.camera.id not in self.cameras:
              self.add_camera(shot.camera)
          if shot.rig_instance_id not in self.rig_instances:
              self.map.create_rig_instance(shot.rig_instance_id)
          if shot.rig_camera_id not in self.rig_cameras:
              self.map.create_rig_camera(shot.rig_camera)
          if shot.id not in self.shots:
              self.map.create_shot(
                  shot.id,
                  shot.camera.id,
                  shot.rig_camera_id,
                  shot.rig_instance_id,
                  shot.pose,
              )
          ret = self.map.update_shot(shot)
          return ret
function_tokens: def add_shot ( self , shot : pymap . Shot ) -> pymap . Shot : if shot . camera . id not in self . cameras : self . add_camera ( shot . camera ) if shot . rig_instance_id not in self . rig_instances : self . map . create_rig_instance ( shot . rig_instance_id ) if shot . rig_camera_id not in self . rig_cameras : self . map . create_rig_camera ( shot . rig_camera ) if shot . id not in self . shots : self . map . create_shot ( shot . id , shot . camera . id , shot . rig_camera_id , shot . rig_instance_id , shot . pose , ) ret = self . map . update_shot ( shot ) return ret