|
Blender V4.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) (BLI_assert(_row < (_mat)->row_num && _col < (_mat)->col_num)) |
| #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 *cb_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 36 of file mathutils_Matrix.hh.
| #define MATRIX_COL_PTR | ( | _mat, | |
| _col ) ((_mat)->matrix + MATRIX_COL_INDEX(_mat, _col)) |
Definition at line 37 of file mathutils_Matrix.hh.
Referenced by matrix_as_3x3(), Matrix_resize_4x4(), Matrix_to_NxN(), and Matrix_to_translation().
| #define MATRIX_ITEM | ( | _mat, | |
| _row, | |||
| _col ) ((_mat)->matrix[MATRIX_ITEM_INDEX(_mat, _row, _col)]) |
Definition at line 34 of file mathutils_Matrix.hh.
Referenced by column_vector_multiplication(), mathutils_matrix_col_get(), mathutils_matrix_col_get_index(), mathutils_matrix_col_set(), mathutils_matrix_col_set_index(), mathutils_matrix_row_get(), mathutils_matrix_row_get_index(), mathutils_matrix_row_set(), mathutils_matrix_row_set_index(), mathutils_matrix_translation_get(), mathutils_matrix_translation_get_index(), mathutils_matrix_translation_set(), mathutils_matrix_translation_set_index(), Matrix_ass_item_col(), Matrix_ass_item_row(), matrix_determinant_internal(), Matrix_imatmul(), matrix_is_identity(), Matrix_matmul(), Matrix_repr(), Matrix_str(), Matrix_transpose(), matrix_transpose_internal(), and row_vector_multiplication().
| #define MATRIX_ITEM_ASSERT | ( | _mat, | |
| _row, | |||
| _col ) (BLI_assert(_row < (_mat)->row_num && _col < (_mat)->col_num)) |
Definition at line 24 of file mathutils_Matrix.hh.
| #define MATRIX_ITEM_INDEX | ( | _mat, | |
| _row, | |||
| _col ) (MATRIX_ITEM_ASSERT(_mat, _row, _col), (((_mat)->row_num * (_col)) + (_row))) |
Definition at line 31 of file mathutils_Matrix.hh.
| #define MATRIX_ITEM_INDEX_NUMROW | ( | _totrow, | |
| _row, | |||
| _col ) (((_totrow) * (_col)) + (_row)) |
Definition at line 30 of file mathutils_Matrix.hh.
Referenced by matrix_invert_with_det_n_internal().
| #define MATRIX_ITEM_PTR | ( | _mat, | |
| _row, | |||
| _col ) ((_mat)->matrix + MATRIX_ITEM_INDEX(_mat, _row, _col)) |
Definition at line 33 of file mathutils_Matrix.hh.
| #define MATRIX_MAX_DIM 4 |
Definition at line 19 of file mathutils_Matrix.hh.
Referenced by Matrix_add(), Matrix_ass_item_col(), Matrix_ass_item_row(), Matrix_ass_slice(), Matrix_hash(), Matrix_imatmul(), matrix_invert_with_det_n_internal(), Matrix_inverted(), Matrix_inverted_safe(), Matrix_lerp(), Matrix_matmul(), Matrix_mul(), matrix_mul_float(), Matrix_repr(), Matrix_resize_4x4(), Matrix_str(), Matrix_sub(), and MatrixAccess_iter().
| #define MatrixObject_Check | ( | v | ) | PyObject_TypeCheck((v), &matrix_Type) |
Definition at line 16 of file mathutils_Matrix.hh.
Referenced by C_Matrix_LocRotScale(), copy_values(), mathutils_any_to_rotmat(), Matrix_add(), Matrix_imatmul(), Matrix_imul(), matrix_invert_args_check(), Matrix_matmul(), Matrix_mul(), Matrix_ParseCheck(), Matrix_richcmpr(), Matrix_sub(), pygpu_shader_uniform_float(), validate_array(), and Vector_matmul().
| #define MatrixObject_CheckExact | ( | v | ) | (Py_TYPE(v) == &matrix_Type) |
Definition at line 17 of file mathutils_Matrix.hh.
| typedef unsigned short ushort |
Definition at line 14 of file mathutils_Matrix.hh.
| void matrix_as_3x3 | ( | float | mat[3][3], |
| MatrixObject * | self ) |
Definition at line 82 of file mathutils_Matrix.cc.
References copy_v3_v3(), MATRIX_COL_PTR, and self.
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 3525 of file mathutils_Matrix.cc.
References BASE_MATH_FLAG_DEFAULT, BASE_MATH_NEW, matrix_identity_internal(), matrix_Type, 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_normal_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 3624 of file mathutils_Matrix.cc.
References Matrix_CreatePyObject_wrap(), and self.
Referenced by Matrix_to_NxN().
| PyObject * Matrix_CreatePyObject_cb | ( | PyObject * | cb_user, |
| unsigned short | col_num, | ||
| unsigned short | row_num, | ||
| unsigned char | cb_type, | ||
| unsigned char | cb_subtype ) |
Definition at line 3609 of file mathutils_Matrix.cc.
References BLI_assert, Matrix_CreatePyObject(), and self.
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 3579 of file mathutils_Matrix.cc.
References BASE_MATH_FLAG_DEFAULT, BASE_MATH_FLAG_IS_WRAP, BASE_MATH_NEW, matrix_Type, and self.
Referenced by Matrix_CreatePyObject_alloc().
| int Matrix_Parse2x2 | ( | PyObject * | o, |
| void * | p ) |
Definition at line 3673 of file mathutils_Matrix.cc.
References MatrixObject::col_num, Matrix_ParseCheck(), and MatrixObject::row_num.
Referenced by Vector_rotate().
| int Matrix_Parse3x3 | ( | PyObject * | o, |
| void * | p ) |
Definition at line 3690 of file mathutils_Matrix.cc.
References MatrixObject::col_num, Matrix_ParseCheck(), and MatrixObject::row_num.
| int Matrix_Parse4x4 | ( | PyObject * | o, |
| void * | p ) |
Definition at line 3707 of file mathutils_Matrix.cc.
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 3661 of file mathutils_Matrix.cc.
References Matrix_ParseCheck().
Referenced by bpy_slot_from_py().
|
extern |
Definition at line 499 of file mathutils_Matrix.cc.
Referenced by PyInit_mathutils().
|
extern |
Definition at line 412 of file mathutils_Matrix.cc.
Referenced by Matrix_item_col(), and PyInit_mathutils().
|
extern |
Definition at line 397 of file mathutils_Matrix.cc.
Referenced by PyInit_mathutils().
|
extern |
Definition at line 318 of file mathutils_Matrix.cc.
Referenced by Matrix_item_row(), Matrix_slice(), and PyInit_mathutils().
|
extern |
Definition at line 583 of file mathutils_Matrix.cc.
Referenced by PyInit_mathutils().
|
extern |
Definition at line 516 of file mathutils_Matrix.cc.
Referenced by Matrix_translation_get(), and PyInit_mathutils().
|
extern |
Definition at line 3907 of file mathutils_Matrix.cc.
Referenced by MatrixAccess_CreatePyObject(), and PyInit_mathutils().
|
extern |
Definition at line 3463 of file mathutils_Matrix.cc.
Referenced by bpy_bmesh_transform(), Matrix_CreatePyObject(), Matrix_CreatePyObject_wrap(), Matrix_lerp(), and PyInit_mathutils().