Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaia Clary <gaia.clary@machinimatrix.org>2021-08-30 18:58:44 +0300
committerGaia Clary <gaia.clary@machinimatrix.org>2021-08-31 15:37:44 +0300
commitb4e51491e0ed533331816c32e564a68bde484860 (patch)
treed8a593bcdce2868c0b2c865b7c00d7069c271b73
parent4e30cfd30603c3bd8e4f7ecdea77cc65ec213d3a (diff)
Expand type check in MathVis to also allow subclasses.
MathVis currently only checks objects for basic classes (Matrix, Vector, Quaternion, Euler) This patch adds also derived classes of the basic classes.\ This makes it possible to use custom classes together with MathVis. Differential Revision: https://developer.blender.org/D12349
-rw-r--r--space_view3d_math_vis/utils.py18
1 files changed, 8 insertions, 10 deletions
diff --git a/space_view3d_math_vis/utils.py b/space_view3d_math_vis/utils.py
index 50c8aba3..8174ee5d 100644
--- a/space_view3d_math_vis/utils.py
+++ b/space_view3d_math_vis/utils.py
@@ -35,7 +35,7 @@ def is_display_list(listvar):
from mathutils import Vector
for var in listvar:
- if type(var) is not Vector:
+ if not isinstance(var, Vector):
return False
return True
@@ -120,8 +120,8 @@ def get_math_data():
if len_fn(var) == 0:
continue
- if type_var in {Matrix, Vector, Quaternion, Euler} or \
- type_var in {tuple, list} and is_display_list(var):
+ if isinstance(var, (Matrix, Vector, Quaternion, Euler)) or \
+ isinstance(var, (tuple, list)) and is_display_list(var):
variables[key] = type_var
@@ -168,24 +168,22 @@ def console_math_data():
if not disp:
continue
- var_type = type(var)
-
- if var_type is Matrix:
+ if isinstance(var, Matrix):
if len(var.col) != 4 or len(var.row) != 4:
if len(var.col) == len(var.row):
var = var.to_4x4()
else: # todo, support 4x3 matrix
continue
data_matrix[key] = var
- elif var_type is Vector:
+ elif isinstance(var, Vector):
if len(var) < 3:
var = var.to_3d()
data_vector[key] = var
- elif var_type is Quaternion:
+ elif isinstance(var, Quaternion):
data_quat[key] = var
- elif var_type is Euler:
+ elif isinstance(var, Euler):
data_euler[key] = var
- elif var_type in {list, tuple} and is_display_list(var):
+ elif type(var) in {list, tuple} and is_display_list(var):
data_vector_array[key] = var
return data_matrix, data_quat, data_euler, data_vector, data_vector_array