Esempio n. 1
0
    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)
Esempio n. 2
0
 def set_mode_line_by_text(self, line):
     self.parse()
     self.mode_line = ModeLine(line, self)