Port Setup Tracking scene to bmesh api
This commit is contained in:
@@ -716,11 +716,16 @@ class CLIP_OT_setup_tracking_scene(Operator):
|
||||
mesh.vertices.add(len(vertices))
|
||||
mesh.vertices.foreach_set("co", unpack_list(vertices))
|
||||
|
||||
# BMESH_TODO - use polygons
|
||||
mesh.tessfaces.add(len(faces))
|
||||
mesh.tessfaces.foreach_set("vertices_raw", unpack_face_list(faces))
|
||||
nbr_loops = len(faces)
|
||||
nbr_polys = nbr_loops // 4
|
||||
mesh.loops.add(nbr_loops)
|
||||
mesh.polygons.add(nbr_polys)
|
||||
|
||||
mesh.update(calc_edges=True)
|
||||
mesh.polygons.foreach_set("loop_start", range(0, nbr_loops, 4))
|
||||
mesh.polygons.foreach_set("loop_total", (4,) * nbr_polys)
|
||||
mesh.loops.foreach_set("vertex_index", faces)
|
||||
|
||||
mesh.update()
|
||||
|
||||
ob = bpy.data.objects.new(name=name, object_data=mesh)
|
||||
|
||||
@@ -738,7 +743,7 @@ class CLIP_OT_setup_tracking_scene(Operator):
|
||||
|
||||
def _createGround(self, scene):
|
||||
vertices = self._getPlaneVertices(4.0, 0.0)
|
||||
faces = [(0, 1, 2, 3)]
|
||||
faces = [0, 1, 2, 3]
|
||||
|
||||
ob = self._createMesh(scene, "Ground", vertices, faces)
|
||||
ob["is_ground"] = True
|
||||
@@ -776,12 +781,12 @@ class CLIP_OT_setup_tracking_scene(Operator):
|
||||
def _createSampleObject(self, scene):
|
||||
vertices = self._getPlaneVertices(1.0, -1.0) + \
|
||||
self._getPlaneVertices(1.0, 1.0)
|
||||
faces = ((0, 1, 2, 3),
|
||||
(4, 7, 6, 5),
|
||||
(0, 4, 5, 1),
|
||||
(1, 5, 6, 2),
|
||||
(2, 6, 7, 3),
|
||||
(3, 7, 4, 0))
|
||||
faces = (0, 1, 2, 3,
|
||||
4, 7, 6, 5,
|
||||
0, 4, 5, 1,
|
||||
1, 5, 6, 2,
|
||||
2, 6, 7, 3,
|
||||
3, 7, 4, 0)
|
||||
|
||||
return self._createMesh(scene, "Cube", vertices, faces)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user