def create_mesh()

in jsuarez/extra/embyr_deprecated/embyr/kivy3/objects/mesh.py [0:0]


    def create_mesh(self):
        """ Create real mesh object from the geometry and material """
        vertices = []
        indices = []
        idx = 0
        for face in self.geometry.faces:
            for i, k in enumerate(['a', 'b', 'c']):
                v_idx = getattr(face, k)
                vertex = self.geometry.vertices[v_idx]
                vertices.extend(vertex)
                try:
                    normal = face.vertex_normals[i]
                except IndexError:
                    normal = Vector3([0, 0, 0])
                vertices.extend(normal)
                try:
                    tex_coords = self.geometry.face_vertex_uvs[0][idx]
                    vertices.extend(tex_coords)
                except IndexError:
                    vertices.extend([0, 0])
                indices.append(idx)
                idx += 1
        kw = {"vertices": vertices, "indices": indices,
              "fmt": self.vertex_format, "mode": "triangles"
              }
        if self.material.map:
            kw["texture"] = self.material.map

        self._mesh = KivyMesh(**kw)