[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42721] trunk/blender/source/blender/ python/mathutils: corrections to some comments
Campbell Barton
ideasman42 at gmail.com
Mon Dec 19 06:23:59 CET 2011
Revision: 42721
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42721
Author: campbellbarton
Date: 2011-12-19 05:23:52 +0000 (Mon, 19 Dec 2011)
Log Message:
-----------
corrections to some comments
Modified Paths:
--------------
trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c
trunk/blender/source/blender/python/mathutils/mathutils_Matrix.h
Modified: trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c
===================================================================
--- trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c 2011-12-19 05:14:09 UTC (rev 42720)
+++ trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c 2011-12-19 05:23:52 UTC (rev 42721)
@@ -1939,22 +1939,10 @@
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 @@
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;
Modified: trunk/blender/source/blender/python/mathutils/mathutils_Matrix.h
===================================================================
--- trunk/blender/source/blender/python/mathutils/mathutils_Matrix.h 2011-12-19 05:14:09 UTC (rev 42720)
+++ trunk/blender/source/blender/python/mathutils/mathutils_Matrix.h 2011-12-19 05:23:52 UTC (rev 42721)
@@ -38,15 +38,15 @@
#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 @@
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);
More information about the Bf-blender-cvs
mailing list