extends RefCounted class_name Faces var faces: Array[Face] func _init(verts: PackedVector3Array, uvs: PackedVector2Array, normals: PackedVector3Array) -> void: assert(len(verts) == len(uvs), "number of verts vs uvs do not match") assert(len(normals)*3 == len(verts), "missing normal data") for i in range(0, len(normals)): var start_index = i*3 var v0 = verts[start_index] var v1 = verts[start_index+1] var v2 = verts[start_index+2] var varray = PackedVector3Array([v0, v1, v2]) var u0 = uvs[start_index] var u1 = uvs[start_index+1] var u2 = uvs[start_index+2] var uarray = PackedVector2Array([u0, u1, u2]) self.faces.append(Face.new(varray, uarray, normals[i])) func get_faces() -> Array[Face]: return faces