[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45341] trunk/blender/source/blender/ python/mathutils/mathutils_Matrix.c: Hopefully last change to matrix orthogonal check, touches Py API only

Sergey Sharybin sergey.vfx at gmail.com
Mon Apr 2 14:36:10 CEST 2012


Revision: 45341
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45341
Author:   nazgul
Date:     2012-04-02 12:36:00 +0000 (Mon, 02 Apr 2012)
Log Message:
-----------
Hopefully last change to matrix orthogonal check, touches Py API only

- is_orthogonal now checks matrix in the same way as it's defined
  by linear algebra, meaning that it'll use is_orhonormal C check
- Added is_orthogonal_axis_vectors to check if vectors which defines
  axises are orthogonal

Modified Paths:
--------------
    trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c

Modified: trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c
===================================================================
--- trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c	2012-04-02 11:51:36 UTC (rev 45340)
+++ trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c	2012-04-02 12:36:00 UTC (rev 45341)
@@ -2219,9 +2219,9 @@
 
 	/*must be 3-4 cols, 3-4 rows, square matrix*/
 	if (self->num_row == 4 && self->num_col == 4)
-		return PyBool_FromLong(is_orthogonal_m4((float (*)[4])self->matrix));
+		return PyBool_FromLong(is_orthonormal_m4((float (*)[4])self->matrix));
 	else if (self->num_row == 3 && self->num_col == 3)
-		return PyBool_FromLong(is_orthogonal_m3((float (*)[3])self->matrix));
+		return PyBool_FromLong(is_orthonormal_m3((float (*)[3])self->matrix));
 	else {
 		PyErr_SetString(PyExc_AttributeError,
 		                "Matrix.is_orthogonal: "
@@ -2230,22 +2230,22 @@
 	}
 }
 
-PyDoc_STRVAR(Matrix_is_orthonormal_doc,
-"True if this matrix is orthonormal, 3x3 and 4x4 only, (read-only).\n\n:type: bool"
+PyDoc_STRVAR(Matrix_is_orthogonal_axis_vectors_doc,
+"True if this matrix has got orthogonal axis vectors, 3x3 and 4x4 only, (read-only).\n\n:type: bool"
 );
-static PyObject *Matrix_is_orthonormal_get(MatrixObject *self, void *UNUSED(closure))
+static PyObject *Matrix_is_orthogonal_axis_vectors_get(MatrixObject *self, void *UNUSED(closure))
 {
 	if (BaseMath_ReadCallback(self) == -1)
 		return NULL;
 
 	/*must be 3-4 cols, 3-4 rows, square matrix*/
 	if (self->num_row == 4 && self->num_col == 4)
-		return PyBool_FromLong(is_orthonormal_m4((float (*)[4])self->matrix));
+		return PyBool_FromLong(is_orthogonal_m4((float (*)[4])self->matrix));
 	else if (self->num_row == 3 && self->num_col == 3)
-		return PyBool_FromLong(is_orthonormal_m3((float (*)[3])self->matrix));
+		return PyBool_FromLong(is_orthogonal_m3((float (*)[3])self->matrix));
 	else {
 		PyErr_SetString(PyExc_AttributeError,
-		                "Matrix.is_orthonormal: "
+		                "Matrix.is_orthogonal_axis_vectors: "
 		                "inappropriate matrix size - expects 3x3 or 4x4 matrix");
 		return NULL;
 	}
@@ -2261,7 +2261,7 @@
 	{(char *)"col", (getter)Matrix_col_get, (setter)NULL, Matrix_col_doc, NULL},
 	{(char *)"is_negative", (getter)Matrix_is_negative_get, (setter)NULL, Matrix_is_negative_doc, NULL},
 	{(char *)"is_orthogonal", (getter)Matrix_is_orthogonal_get, (setter)NULL, Matrix_is_orthogonal_doc, NULL},
-	{(char *)"is_orthonormal", (getter)Matrix_is_orthonormal_get, (setter)NULL, Matrix_is_orthonormal_doc, NULL},
+	{(char *)"is_orthogonal_axis_vectors", (getter)Matrix_is_orthogonal_axis_vectors_get, (setter)NULL, Matrix_is_orthogonal_axis_vectors_doc, NULL},
 	{(char *)"is_wrapped", (getter)BaseMathObject_is_wrapped_get, (setter)NULL, BaseMathObject_is_wrapped_doc, NULL},
 	{(char *)"owner", (getter)BaseMathObject_owner_get, (setter)NULL, BaseMathObject_owner_doc, NULL},
 	{NULL, NULL, NULL, NULL, NULL}  /* Sentinel */




More information about the Bf-blender-cvs mailing list