diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-01-03 18:34:41 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-01-03 18:34:41 +0400 |
commit | f0e3c3c68f8347f38c4922b227cdb044baf199ba (patch) | |
tree | 0d369756b61b100f54d7cbf707865200e9459581 /source/blender/python | |
parent | 268ca6b2f7b2ccd1c5eaf0e8cb00e04422a65db5 (diff) |
fixes to mathutils from Andew Hale
- docstring edits
- normalize ignores W axis as its supposed to.
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/mathutils/mathutils_Vector.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/python/mathutils/mathutils_Vector.c b/source/blender/python/mathutils/mathutils_Vector.c index e137c7846bb..5848e6e8c75 100644 --- a/source/blender/python/mathutils/mathutils_Vector.c +++ b/source/blender/python/mathutils/mathutils_Vector.c @@ -334,18 +334,18 @@ PyDoc_STRVAR(Vector_normalize_doc, "\n" " Normalize the vector, making the length of the vector always 1.0.\n" "\n" -" .. warning:: Normalizing a vector where all values are zero results\n" -" in all axis having a nan value (not a number).\n" +" .. warning:: Normalizing a vector where all values are zero has no effect.\n" "\n" " .. note:: Normalize works for vectors of all sizes,\n" " however 4D Vectors w axis is left untouched.\n" ); static PyObject *Vector_normalize(VectorObject *self) { + int size = (self->size == 4 ? 3 : self->size); if (BaseMath_ReadCallback(self) == -1) return NULL; - normalize_vn(self->vec, self->size); + normalize_vn(self->vec, size); (void)BaseMath_WriteCallback(self); Py_RETURN_NONE; @@ -1480,10 +1480,10 @@ static PyObject *Vector_isub(PyObject *v1, PyObject *v2) mulplication*/ -/* COLUMN VECTOR Multiplication (Vector X Matrix) - * [a] * [1][4][7] - * [b] * [2][5][8] - * [c] * [3][6][9] +/* COLUMN VECTOR Multiplication (Matrix X Vector) + * [1][4][7] [a] + * [2][5][8] * [b] + * [3][6][9] [c] * * note: vector/matrix multiplication IS NOT COMMUTATIVE!!!! * note: assume read callbacks have been done first. @@ -1500,8 +1500,8 @@ int column_vector_multiplication(float r_vec[MAX_DIMENSIONS], VectorObject *vec, else { PyErr_SetString(PyExc_TypeError, "matrix * vector: " - "matrix.row_size and len(vector) must be the same, " - "except for 3D vector * 4x4 matrix."); + "len(matrix.col) and len(vector) must be the same, " + "except for 4x4 matrix * 3D vector."); return -1; } } |