示例#1
0
    def draw_svg(self, drawing, g):
        # rect = drawing.rect(width=1,height=1,)
        # g.add(rect)
        rect = drawing.rect(insert=(-0.5, -0.5),
                            width=1,
                            height=1,
                            fill="#eee",
                            style='opacity:0.4',
                            stroke_width="0.01",
                            stroke="none", )
        # g.add(rect)

        if self.fn:
            # texture = get_jpeg_bytes(self.fn)
            texture = open(self.fn, 'rb').read()
            href = data_encoded_for_src(texture, 'image/jpeg')
            img = drawing.image(href=href,
                                size=(1, 1),
                                insert=(-0.5, -0.5),
                                style='transform: rotate(90deg) scaleX(-1)  rotate(-90deg) '
                                )
            img.attribs['class'] = 'tile-textures'
            g.add(img)
        #
        # if draw_directions_lanes:
        #     if self.kind != 'floor':
        #         start = (-0.5, -0.25)
        #         end = (+0, -0.25)
        #         line = drawing.line(start=start, end=end, stroke='blue', stroke_width='0.01')
        #         g.add(line)

        draw_axes(drawing, g)

        draw_children(drawing, self, g)
示例#2
0
    def draw_svg(self, drawing, g):
        T = 0.562 / 0.585
        S = 1.0
        rect = drawing.rect(
            insert=(-S / 2, -S / 2),
            size=(S, S),
            fill='#222',
            stroke="none",
        )
        g.add(rect)

        if self.fn:
            # texture = get_jpeg_bytes(self.fn)
            texture = open(self.fn, 'rb').read()
            href = data_encoded_for_src(texture, mime_from_fn(self.fn))
            img = drawing.image(
                href=href,
                size=(T, T),
                insert=(-T / 2, -T / 2),
                style='transform: rotate(90deg) scaleX(-1)  rotate(-90deg) ')
            img.attribs['class'] = 'tile-textures'
            g.add(img)
        #
        # if draw_directions_lanes:
        #     if self.kind != 'floor':
        #         start = (-0.5, -0.25)
        #         end = (+0, -0.25)
        #         line = drawing.line(start=start, end=end, stroke='blue', stroke_width='0.01')
        #         g.add(line)

        draw_axes(drawing, g)

        draw_children(drawing, self, g)
示例#3
0
    def draw_svg(self, drawing, g):
        T = 0.562 / 0.585
        S = 1.0
        rect = drawing.rect(insert=(-S / 2, -S / 2),
                            size=(S, S),
                            fill="#222",
                            stroke="none")
        g.add(rect)

        if self.fn:
            # texture = get_jpeg_bytes(self.fn)
            with open(self.fn, "rb") as _:
                texture = _.read()
            if b"git-lfs" in texture:
                msg = f"The file {self.fn} is a Git LFS pointer. Repo not checked out correctly."
                raise Exception(msg)
            # print(f'drawing defs {drawing.defs}')

            ID = f"texture-{self.kind}"

            for img in drawing.defs.elements:
                if img.attribs.get("id", None) == ID:
                    break
            else:

                href = data_encoded_for_src(texture, mime_from_fn(self.fn))
                img = drawing.image(
                    href=href,
                    size=(T, T),
                    insert=(-T / 2, -T / 2),
                    style=
                    "transform: rotate(90deg) scaleX(-1)  rotate(-90deg) ",
                )
                img.attribs["class"] = "tile-textures"

                img.attribs["id"] = ID
                drawing.defs.add(img)

            use = Use(f"#{ID}")
            g.add(use)
        #
        # if draw_directions_lanes:
        #     if self.kind != 'floor':
        #         start = (-0.5, -0.25)
        #         end = (+0, -0.25)
        #         line = drawing.line(start=start, end=end, stroke='blue', stroke_width='0.01')
        #         g.add(line)

        draw_axes(drawing, g)

        draw_children(drawing, self, g)