Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | MatrixObject |
Macros | |
#define | MatrixObject_Check(v) PyObject_TypeCheck((v), &matrix_Type) |
#define | MatrixObject_CheckExact(v) (Py_TYPE(v) == &matrix_Type) |
#define | MATRIX_MAX_DIM 4 |
#define | MATRIX_ITEM_ASSERT(_mat, _row, _col) (void)0 |
#define | MATRIX_ITEM_INDEX_NUMROW(_totrow, _row, _col) (((_totrow) * (_col)) + (_row)) |
#define | MATRIX_ITEM_INDEX(_mat, _row, _col) (MATRIX_ITEM_ASSERT(_mat, _row, _col), (((_mat)->row_num * (_col)) + (_row))) |
#define | MATRIX_ITEM_PTR(_mat, _row, _col) ((_mat)->matrix + MATRIX_ITEM_INDEX(_mat, _row, _col)) |
#define | MATRIX_ITEM(_mat, _row, _col) ((_mat)->matrix[MATRIX_ITEM_INDEX(_mat, _row, _col)]) |
#define | MATRIX_COL_INDEX(_mat, _col) (MATRIX_ITEM_INDEX(_mat, 0, _col)) |
#define | MATRIX_COL_PTR(_mat, _col) ((_mat)->matrix + MATRIX_COL_INDEX(_mat, _col)) |
Typedefs | |
typedef unsigned short | ushort |
Functions | |
PyObject * | Matrix_CreatePyObject (const float *mat, ushort col_num, ushort row_num, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT |
PyObject * | Matrix_CreatePyObject_wrap (float *mat, ushort col_num, ushort row_num, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) |
PyObject * | Matrix_CreatePyObject_cb (PyObject *user, unsigned short col_num, unsigned short row_num, unsigned char cb_type, unsigned char cb_subtype) ATTR_WARN_UNUSED_RESULT |
PyObject * | Matrix_CreatePyObject_alloc (float *mat, ushort col_num, ushort row_num, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT |
int | Matrix_ParseAny (PyObject *o, void *p) |
int | Matrix_Parse2x2 (PyObject *o, void *p) |
int | Matrix_Parse3x3 (PyObject *o, void *p) |
int | Matrix_Parse4x4 (PyObject *o, void *p) |
void | matrix_as_3x3 (float mat[3][3], MatrixObject *self) |
Variables | |
PyTypeObject | matrix_Type |
PyTypeObject | matrix_access_Type |
unsigned char | mathutils_matrix_row_cb_index |
unsigned char | mathutils_matrix_col_cb_index |
unsigned char | mathutils_matrix_translation_cb_index |
struct Mathutils_Callback | mathutils_matrix_row_cb |
struct Mathutils_Callback | mathutils_matrix_col_cb |
struct Mathutils_Callback | mathutils_matrix_translation_cb |
#define MATRIX_COL_INDEX | ( | _mat, | |
_col | |||
) | (MATRIX_ITEM_INDEX(_mat, 0, _col)) |
Definition at line 34 of file mathutils_Matrix.h.
#define MATRIX_COL_PTR | ( | _mat, | |
_col | |||
) | ((_mat)->matrix + MATRIX_COL_INDEX(_mat, _col)) |
Definition at line 35 of file mathutils_Matrix.h.
#define MATRIX_ITEM | ( | _mat, | |
_row, | |||
_col | |||
) | ((_mat)->matrix[MATRIX_ITEM_INDEX(_mat, _row, _col)]) |
Definition at line 32 of file mathutils_Matrix.h.
Definition at line 25 of file mathutils_Matrix.h.
#define MATRIX_ITEM_INDEX | ( | _mat, | |
_row, | |||
_col | |||
) | (MATRIX_ITEM_ASSERT(_mat, _row, _col), (((_mat)->row_num * (_col)) + (_row))) |
Definition at line 29 of file mathutils_Matrix.h.
#define MATRIX_ITEM_INDEX_NUMROW | ( | _totrow, | |
_row, | |||
_col | |||
) | (((_totrow) * (_col)) + (_row)) |
Definition at line 28 of file mathutils_Matrix.h.
#define MATRIX_ITEM_PTR | ( | _mat, | |
_row, | |||
_col | |||
) | ((_mat)->matrix + MATRIX_ITEM_INDEX(_mat, _row, _col)) |
Definition at line 31 of file mathutils_Matrix.h.
#define MATRIX_MAX_DIM 4 |
Definition at line 17 of file mathutils_Matrix.h.
#define MatrixObject_Check | ( | v | ) | PyObject_TypeCheck((v), &matrix_Type) |
Definition at line 14 of file mathutils_Matrix.h.
#define MatrixObject_CheckExact | ( | v | ) | (Py_TYPE(v) == &matrix_Type) |
Definition at line 15 of file mathutils_Matrix.h.
typedef unsigned short ushort |
Definition at line 12 of file mathutils_Matrix.h.
void matrix_as_3x3 | ( | float | mat[3][3], |
MatrixObject * | self | ||
) |
Definition at line 76 of file mathutils_Matrix.c.
References copy_v3_v3(), and MATRIX_COL_PTR.
Referenced by mathutils_any_to_rotmat(), Matrix_median_scale_get(), Matrix_rotate(), and Matrix_to_scale().
PyObject* Matrix_CreatePyObject | ( | const float * | mat, |
ushort | col_num, | ||
ushort | row_num, | ||
PyTypeObject * | base_type | ||
) |
Definition at line 3392 of file mathutils_Matrix.c.
References BASE_MATH_FLAG_DEFAULT, BASE_MATH_NEW, matrix_identity_internal(), matrix_Type, NULL, self, and UNLIKELY.
Referenced by bpy_slot_to_py(), C_Matrix_Diagonal(), C_Matrix_Identity(), C_Matrix_LocRotScale(), C_Matrix_OrthoProjection(), C_Matrix_Rotation(), C_Matrix_Scale(), C_Matrix_Shear(), C_Matrix_Translation(), Euler_to_matrix(), Matrix_add(), Matrix_copy_notest(), Matrix_CreatePyObject_cb(), Matrix_lerp(), Matrix_matmul(), Matrix_mul(), matrix_mul_float(), Matrix_new(), Matrix_sub(), pygpu_matrix_get_model_view_matrix(), pygpu_matrix_get_projection_matrix(), pyrna_math_object_from_array(), pyrna_param_to_py(), and Quaternion_to_matrix().
PyObject* Matrix_CreatePyObject_alloc | ( | float * | mat, |
ushort | col_num, | ||
ushort | row_num, | ||
PyTypeObject * | base_type | ||
) |
mat | Initialized matrix value to use in-place, allocated with #PyMem_Malloc |
Definition at line 3490 of file mathutils_Matrix.c.
References BASE_MATH_FLAG_IS_WRAP, and Matrix_CreatePyObject_wrap().
Referenced by Matrix_to_NxN().
PyObject* Matrix_CreatePyObject_cb | ( | PyObject * | user, |
unsigned short | col_num, | ||
unsigned short | row_num, | ||
unsigned char | cb_type, | ||
unsigned char | cb_subtype | ||
) |
Definition at line 3476 of file mathutils_Matrix.c.
References Matrix_CreatePyObject(), and NULL.
Referenced by pyrna_math_object_from_array().
PyObject* Matrix_CreatePyObject_wrap | ( | float * | mat, |
ushort | col_num, | ||
ushort | row_num, | ||
PyTypeObject * | base_type | ||
) |
Definition at line 3446 of file mathutils_Matrix.c.
References BASE_MATH_FLAG_DEFAULT, BASE_MATH_FLAG_IS_WRAP, BASE_MATH_NEW, matrix_Type, and NULL.
Referenced by Matrix_CreatePyObject_alloc().
int Matrix_Parse2x2 | ( | PyObject * | o, |
void * | p | ||
) |
Definition at line 3539 of file mathutils_Matrix.c.
References MatrixObject::col_num, Matrix_ParseCheck(), and MatrixObject::row_num.
Referenced by Vector_rotate().
int Matrix_Parse3x3 | ( | PyObject * | o, |
void * | p | ||
) |
Definition at line 3556 of file mathutils_Matrix.c.
References MatrixObject::col_num, Matrix_ParseCheck(), and MatrixObject::row_num.
int Matrix_Parse4x4 | ( | PyObject * | o, |
void * | p | ||
) |
Definition at line 3573 of file mathutils_Matrix.c.
References MatrixObject::col_num, Matrix_ParseCheck(), and MatrixObject::row_num.
Referenced by pygpu_matrix_load_matrix(), pygpu_matrix_load_projection_matrix(), pygpu_matrix_multiply_matrix(), and pygpu_offscreen_draw_view3d().
int Matrix_ParseAny | ( | PyObject * | o, |
void * | p | ||
) |
Definition at line 3527 of file mathutils_Matrix.c.
References Matrix_ParseCheck().
Referenced by bpy_slot_from_py().
|
extern |
Definition at line 493 of file mathutils_Matrix.c.
Referenced by PyInit_mathutils().
|
extern |
Definition at line 406 of file mathutils_Matrix.c.
Referenced by Matrix_item_col(), and PyInit_mathutils().
|
extern |
Definition at line 391 of file mathutils_Matrix.c.
Referenced by PyInit_mathutils().
|
extern |
Definition at line 312 of file mathutils_Matrix.c.
Referenced by Matrix_item_row(), Matrix_slice(), and PyInit_mathutils().
|
extern |
Definition at line 577 of file mathutils_Matrix.c.
Referenced by PyInit_mathutils().
|
extern |
Definition at line 510 of file mathutils_Matrix.c.
Referenced by Matrix_translation_get(), and PyInit_mathutils().
|
extern |
Definition at line 3773 of file mathutils_Matrix.c.
Referenced by MatrixAccess_CreatePyObject(), and PyInit_mathutils().
|
extern |
Definition at line 3334 of file mathutils_Matrix.c.
Referenced by bpy_bmesh_transform(), Matrix_CreatePyObject(), Matrix_CreatePyObject_wrap(), Matrix_lerp(), and PyInit_mathutils().