def parse_line(self, line): # Ignore empty lines if len(line) == 0: return k = line[0] if k == '#': # Ignore comments and option lines for now # They have position dependencies and usually can be ignored anyway for my purposes # They are mostly used by Hugin #print 'WARNING: ignoring comment line: %s' % line self.comment_lines.append(line) # EOF marker, used for PToptimizer to indicate end of original project elif k == '*': pass # Panorama line elif k == "p": self.panorama_line = PanoramaLine(line, self) # additional options elif k == "m": self.mode_line = ModeLine(line, self) # Image line elif k == "i": self.image_lines.append(ImageLine(line, self)) # Optimization (variable) line elif k == "v": self.variable_lines.append(VariableLine(line, self)) # Control point line elif k == "c": self.control_point_lines.append(ControlPointLine(line, self)) elif k == 'C': self.absolute_control_point_lines.append( AbsoluteControlPointLine(line, self)) # Generated by PToptimizer elif k == "o": self.optimizer_lines.append(OptimizerLine(line, self)) else: print 'WARNING: unknown line type: %s' % line self.misc_lines.append(line)
def set_pano_line_by_text(self, line): self.parse() self.panorama_line = PanoramaLine(line, self)