[Bf-blender-cvs] [4f4e0ec] master: Remove eekadoodle workaround for add torus
Campbell Barton
noreply at git.blender.org
Fri Nov 25 04:12:49 CET 2016
Commit: 4f4e0ecdcfea277e2b310e1abbe1f570a4e997f6
Author: Campbell Barton
Date: Fri Nov 25 11:34:15 2016 +1100
Branches: master
https://developer.blender.org/rB4f4e0ecdcfea277e2b310e1abbe1f570a4e997f6
Remove eekadoodle workaround for add torus
This is no longer needed since moving to MPoly/MLoop data structure.
Also use 3x3 matrix for transforming instead of quaternion
(slightly better performance).
===================================================================
M release/scripts/startup/bl_operators/add_mesh_torus.py
===================================================================
diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py
index f12e748..1f0acba 100644
--- a/release/scripts/startup/bl_operators/add_mesh_torus.py
+++ b/release/scripts/startup/bl_operators/add_mesh_torus.py
@@ -32,25 +32,24 @@ from bpy_extras import object_utils
def add_torus(major_rad, minor_rad, major_seg, minor_seg):
from math import cos, sin, pi
- from mathutils import Vector, Quaternion
+ from mathutils import Vector, Matrix
- PI_2 = pi * 2.0
- z_axis = 0.0, 0.0, 1.0
+ pi_2 = pi * 2.0
verts = []
faces = []
i1 = 0
tot_verts = major_seg * minor_seg
for major_index in range(major_seg):
- quat = Quaternion(z_axis, (major_index / major_seg) * PI_2)
+ matrix = Matrix.Rotation((major_index / major_seg) * pi_2, 3, 'Z')
for minor_index in range(minor_seg):
- angle = 2 * pi * minor_index / minor_seg
+ angle = pi_2 * minor_index / minor_seg
- vec = quat * Vector((major_rad + (cos(angle) * minor_rad),
- 0.0,
- (sin(angle) * minor_rad),
- ))
+ vec = matrix * Vector((major_rad + (cos(angle) * minor_rad),
+ 0.0,
+ sin(angle) * minor_rad,
+ ))
verts.extend(vec[:])
@@ -58,7 +57,6 @@ def add_torus(major_rad, minor_rad, major_seg, minor_seg):
i2 = (major_index) * minor_seg
i3 = i1 + minor_seg
i4 = i2 + minor_seg
-
else:
i2 = i1 + 1
i3 = i1 + minor_seg
@@ -71,11 +69,7 @@ def add_torus(major_rad, minor_rad, major_seg, minor_seg):
if i4 >= tot_verts:
i4 = i4 - tot_verts
- # stupid eekadoodle
- if i2:
- faces.extend([i1, i3, i4, i2])
- else:
- faces.extend([i2, i1, i3, i4])
+ faces.extend([i1, i3, i4, i2])
i1 += 1
More information about the Bf-blender-cvs
mailing list