From 53f88b231a3cd492ba45914a1813a633b1189218 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 19 Dec 2011 05:23:52 +0000 Subject: corrections to some comments --- source/blender/python/mathutils/mathutils_Matrix.c | 24 +++++++--------------- source/blender/python/mathutils/mathutils_Matrix.h | 18 ++++++++-------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/source/blender/python/mathutils/mathutils_Matrix.c b/source/blender/python/mathutils/mathutils_Matrix.c index 4e161d5e1e8..44799bb7943 100644 --- a/source/blender/python/mathutils/mathutils_Matrix.c +++ b/source/blender/python/mathutils/mathutils_Matrix.c @@ -1939,22 +1939,10 @@ PyTypeObject matrix_Type = { NULL /*tp_del*/ }; -/*------------------------Matrix_CreatePyObject (internal)------------- -creates a new matrix object -self->matrix self->contiguous_ptr (reference to data.xxx) - [0]------------->[0] - [1] - [2] - [1]------------->[3] - [4] - [5] - -self->matrix[1][1] = self->contigPtr[4] */ - -/*pass Py_WRAP - if vector is a WRAPPER for data allocated by BLENDER - (i.e. it was allocated elsewhere by MEM_mallocN()) - pass Py_NEW - if vector is not a WRAPPER and managed by PYTHON - (i.e. it must be created here with PyMEM_malloc())*/ +/* pass Py_WRAP - if vector is a WRAPPER for data allocated by BLENDER + * (i.e. it was allocated elsewhere by MEM_mallocN()) + * pass Py_NEW - if vector is not a WRAPPER and managed by PYTHON + * (i.e. it must be created here with PyMEM_malloc()) */ PyObject *Matrix_CreatePyObject(float *mat, const unsigned short row_size, const unsigned short col_size, int type, PyTypeObject *base_type) @@ -1996,11 +1984,13 @@ PyObject *Matrix_CreatePyObject(float *mat, if (mat) { /*if a float array passed*/ memcpy(self->contigPtr, mat, row_size * col_size * sizeof(float)); } - else if (row_size == col_size) { /*or if no arguments are passed return identity matrix for square matrices */ + else if (row_size == col_size) { + /* or if no arguments are passed return identity matrix for square matrices */ PyObject *ret_dummy= Matrix_identity(self); Py_DECREF(ret_dummy); } else { + /* otherwise zero everything */ memset(self->contigPtr, 0, row_size * col_size * sizeof(float)); } self->wrapped = Py_NEW; diff --git a/source/blender/python/mathutils/mathutils_Matrix.h b/source/blender/python/mathutils/mathutils_Matrix.h index 98253bf7659..95768febca0 100644 --- a/source/blender/python/mathutils/mathutils_Matrix.h +++ b/source/blender/python/mathutils/mathutils_Matrix.h @@ -38,15 +38,15 @@ extern PyTypeObject matrix_Type; #define MatrixObject_Check(_v) PyObject_TypeCheck((_v), &matrix_Type) #define MATRIX_MAX_DIM 4 -/* to remove pymat->matrix[row][col] */ +/* matrix[row][col] == MATRIX_ITEM_INDEX(matrix, row, col) */ #ifdef DEBUG -# define MATRIX_ASSERT(_mat, _row, _col) (BLI_assert(_row < (_mat)->row_size && _col < (_mat)->col_size)) +# define MATRIX_ITEM_ASSERT(_mat, _row, _col) (BLI_assert(_row < (_mat)->row_size && _col < (_mat)->col_size)) #else -# define MATRIX_ASSERT(_mat, _row, _col) (void)0 +# define MATRIX_ITEM_ASSERT(_mat, _row, _col) (void)0 #endif -#define MATRIX_ITEM_INDEX(_mat, _row, _col) (MATRIX_ASSERT(_mat, _row, _col), (((_mat)->col_size * (_row)) + (_col))) +#define MATRIX_ITEM_INDEX(_mat, _row, _col) (MATRIX_ITEM_ASSERT(_mat, _row, _col),(((_mat)->col_size * (_row)) + (_col))) #define MATRIX_ITEM_PTR( _mat, _row, _col) ((_mat)->contigPtr + MATRIX_ITEM_INDEX(_mat, _row, _col)) #define MATRIX_ITEM( _mat, _row, _col) ((_mat)->contigPtr [MATRIX_ITEM_INDEX(_mat, _row, _col)]) @@ -59,12 +59,12 @@ typedef struct { unsigned short col_size; } MatrixObject; -/*struct data contains a pointer to the actual data that the -object uses. It can use either PyMem allocated data (which will -be stored in py_data) or be a wrapper for data allocated through -blender (stored in blend_data). This is an either/or struct not both*/ +/* struct data contains a pointer to the actual data that the + * object uses. It can use either PyMem allocated data (which will + * be stored in py_data) or be a wrapper for data allocated through + * blender (stored in blend_data). This is an either/or struct not both */ -/*prototypes*/ +/* prototypes */ PyObject *Matrix_CreatePyObject(float *mat, const unsigned short row_size, const unsigned short col_size, int type, PyTypeObject *base_type); -- cgit v1.2.3