Source code for GWL.bmesh

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Quick re-implementation Blender BMesh class
# TODO: Check if there is a way to access Blender classes from outside Blender.

[docs]class BMVert(): def __init__(self, co=(0,0,0)): self.co = co
#class BMEdge(): #class BMFace():
[docs]class BMVertSeq(): def __init__(self): self.verts = []
[docs] def new(self, v_co): v = BMVert(v_co) self.verts.append(v) return(v)
[docs]class BMEdgeSeq(): def __init__(self): self.edges = []
[docs] def new(self, v_list): self.edges.append(v_list)
[docs]class BMFaceSeq(): def __init__(self): self.faces = []
[docs] def new(self, v_list): self.faces.append(v_list)
[docs]class BMesh(): def __init__(self): self.verts = BMVertSeq() self.edges = BMEdgeSeq() self.faces = BMFaceSeq()
[docs]def new(): return BMesh()
if __name__ == "__main__": bmesh_cube = new() C0 = bmesh_cube.verts.new((0, 0, 0)) C1 = bmesh_cube.verts.new((1, 0, 0)) C2 = bmesh_cube.verts.new((1, 1, 0)) C3 = bmesh_cube.verts.new((0, 1, 0)) C4 = bmesh_cube.verts.new((0, 0, 1)) C5 = bmesh_cube.verts.new((1, 0, 1)) C6 = bmesh_cube.verts.new((1, 1, 1)) C7 = bmesh_cube.verts.new((0, 1, 1)) bmesh_cube.faces.new((C0, C3, C2, C1)) bmesh_cube.faces.new((C4, C5, C6, C7)) bmesh_cube.faces.new((C0, C1, C5, C4)) bmesh_cube.faces.new((C1, C2, C6, C5)) bmesh_cube.faces.new((C2, C3, C7, C6)) bmesh_cube.faces.new((C3, C0, C4, C7))