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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-04-29 12:12:44 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-04-29 12:13:20 +0400
commit409fb4da0ce671d9c5cf54cb327770d6b4e97cb2 (patch)
tree37f4c7705463122fdf3d3e16a16a9d1feb89c967 /source/blender/python
parentd8282da5452b9bb8487d9bce611b922244a74a08 (diff)
Code cleanup: remove redundant matrix initialization
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/mathutils/mathutils_Matrix.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/source/blender/python/mathutils/mathutils_Matrix.c b/source/blender/python/mathutils/mathutils_Matrix.c
index 1c8718aa122..3b526f885de 100644
--- a/source/blender/python/mathutils/mathutils_Matrix.c
+++ b/source/blender/python/mathutils/mathutils_Matrix.c
@@ -550,7 +550,9 @@ PyDoc_STRVAR(C_Matrix_Translation_doc,
);
static PyObject *C_Matrix_Translation(PyObject *cls, PyObject *value)
{
- float mat[4][4] = MAT4_UNITY;
+ float mat[4][4];
+
+ unit_m4(mat);
if (mathutils_array_parse(mat[3], 3, 4, value, "mathutils.Matrix.Translation(vector), invalid vector arg") == -1)
return NULL;
@@ -1013,7 +1015,7 @@ PyDoc_STRVAR(Matrix_resize_4x4_doc,
);
static PyObject *Matrix_resize_4x4(MatrixObject *self)
{
- float mat[4][4] = MAT4_UNITY;
+ float mat[4][4];
int col;
if (self->wrapped == Py_WRAP) {
@@ -1029,7 +1031,7 @@ static PyObject *Matrix_resize_4x4(MatrixObject *self)
return NULL;
}
- self->matrix = PyMem_Realloc(self->matrix, (sizeof(float) * 16));
+ self->matrix = PyMem_Realloc(self->matrix, (sizeof(float) * (MATRIX_MAX_DIM * MATRIX_MAX_DIM)));
if (self->matrix == NULL) {
PyErr_SetString(PyExc_MemoryError,
"Matrix.resize_4x4(): "
@@ -1037,6 +1039,8 @@ static PyObject *Matrix_resize_4x4(MatrixObject *self)
return NULL;
}
+ unit_m4(mat);
+
for (col = 0; col < self->num_col; col++) {
memcpy(mat[col], MATRIX_COL_PTR(self, col), self->num_row * sizeof(float));
}
@@ -1177,10 +1181,7 @@ static PyObject *Matrix_invert(MatrixObject *self)
int x, y, z = 0;
float det = 0.0f;
- float mat[16] = {0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 1.0f};
+ float mat[MATRIX_MAX_DIM * MATRIX_MAX_DIM];
if (BaseMath_ReadCallback(self) == -1)
return NULL;
@@ -1811,7 +1812,7 @@ static PyObject *Matrix_item_col(MatrixObject *self, int col)
static int Matrix_ass_item_row(MatrixObject *self, int row, PyObject *value)
{
int col;
- float vec[4];
+ float vec[MATRIX_MAX_DIM];
if (BaseMath_ReadCallback(self) == -1)
return -1;
@@ -1836,7 +1837,7 @@ static int Matrix_ass_item_row(MatrixObject *self, int row, PyObject *value)
static int Matrix_ass_item_col(MatrixObject *self, int col, PyObject *value)
{
int row;
- float vec[4];
+ float vec[MATRIX_MAX_DIM];
if (BaseMath_ReadCallback(self) == -1)
return -1;
@@ -1904,7 +1905,7 @@ static int Matrix_ass_slice(MatrixObject *self, int begin, int end, PyObject *va
else {
const int size = end - begin;
int row, col;
- float mat[16];
+ float mat[MATRIX_MAX_DIM * MATRIX_MAX_DIM];
float vec[4];
if (PySequence_Fast_GET_SIZE(value_fast) != size) {
@@ -1946,7 +1947,7 @@ static int Matrix_ass_slice(MatrixObject *self, int begin, int end, PyObject *va
*------------------------obj + obj------------------------------*/
static PyObject *Matrix_add(PyObject *m1, PyObject *m2)
{
- float mat[16];
+ float mat[MATRIX_MAX_DIM * MATRIX_MAX_DIM];
MatrixObject *mat1 = NULL, *mat2 = NULL;
mat1 = (MatrixObject *)m1;
@@ -1978,7 +1979,7 @@ static PyObject *Matrix_add(PyObject *m1, PyObject *m2)
* subtraction */
static PyObject *Matrix_sub(PyObject *m1, PyObject *m2)
{
- float mat[16];
+ float mat[MATRIX_MAX_DIM * MATRIX_MAX_DIM];
MatrixObject *mat1 = NULL, *mat2 = NULL;
mat1 = (MatrixObject *)m1;
@@ -2010,7 +2011,7 @@ static PyObject *Matrix_sub(PyObject *m1, PyObject *m2)
* multiplication */
static PyObject *matrix_mul_float(MatrixObject *mat, const float scalar)
{
- float tmat[16];
+ float tmat[MATRIX_MAX_DIM * MATRIX_MAX_DIM];
mul_vn_vn_fl(tmat, mat->matrix, mat->num_col * mat->num_row, scalar);
return Matrix_CreatePyObject(tmat, mat->num_col, mat->num_row, Py_NEW, Py_TYPE(mat));
}
@@ -2035,10 +2036,7 @@ static PyObject *Matrix_mul(PyObject *m1, PyObject *m2)
if (mat1 && mat2) {
/* MATRIX * MATRIX */
- float mat[16] = {0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 1.0f};
+ float mat[MATRIX_MAX_DIM * MATRIX_MAX_DIM];
int col, row, item;
@@ -2071,7 +2069,7 @@ static PyObject *Matrix_mul(PyObject *m1, PyObject *m2)
/* MATRIX * VECTOR */
if (VectorObject_Check(m2)) {
VectorObject *vec2 = (VectorObject *)m2;
- float tvec[4];
+ float tvec[MATRIX_MAX_DIM];
if (BaseMath_ReadCallback(vec2) == -1)
return NULL;
if (column_vector_multiplication(tvec, vec2, mat1) == -1) {