SWBF-msh-Blender-IO/addons/io_scene_swbf_msh/msh_utilities.py

39 lines
1.1 KiB
Python
Raw Normal View History

2019-11-11 10:03:52 +00:00
""" Misc utilities. """
from mathutils import Vector
def vec_to_str(vec):
return "({:.4},{:.4},{:.4})".format(vec.x,vec.y,vec.z)
def quat_to_str(quat):
return "({:.4},{:.4},{:.4},{:.4})".format(quat.x, quat.y, quat.z, quat.w)
2019-11-11 10:03:52 +00:00
def add_vec(l: Vector, r: Vector) -> Vector:
return Vector(v0 + v1 for v0, v1 in zip(l, r))
def sub_vec(l: Vector, r: Vector) -> Vector:
return Vector(v0 - v1 for v0, v1 in zip(l, r))
def mul_vec(l: Vector, r: Vector) -> Vector:
return Vector(v0 * v1 for v0, v1 in zip(l, r))
def div_vec(l: Vector, r: Vector) -> Vector:
return Vector(v0 / v1 for v0, v1 in zip(l, r))
def max_vec(l: Vector, r: Vector) -> Vector:
return Vector(max(v0, v1) for v0, v1 in zip(l, r))
def min_vec(l: Vector, r: Vector) -> Vector:
return Vector(min(v0, v1) for v0, v1 in zip(l, r))
def pack_color(color) -> int:
packed = 0
2020-02-04 01:28:34 +00:00
packed |= (int(color[0] * 255.0 + 0.5) << 16)
packed |= (int(color[1] * 255.0 + 0.5) << 8)
2019-11-11 10:03:52 +00:00
packed |= (int(color[2] * 255.0 + 0.5))
packed |= (int(color[3] * 255.0 + 0.5) << 24)
return packed