|
Blender V4.3
|
#include <algorithm>#include <Python.h>#include "mathutils.hh"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_utildefines.h"#include "../generic/py_capi_utils.hh"#include "../generic/python_utildefines.hh"#include "BLI_dynstr.h"#include "BLI_string.h"Go to the source code of this file.
Classes | |
| struct | MatrixAccessObject |
Enumerations | |
| enum | eMatrixAccess_t { MAT_ACCESS_ROW , MAT_ACCESS_COL } |
Functions | |
Matrix Methods: Copy | |
| static PyObject * | Matrix_copy_notest (MatrixObject *self, const float *matrix) |
| static PyObject * | Matrix_copy (MatrixObject *self) |
| static PyObject * | Matrix_deepcopy (MatrixObject *self, PyObject *args) |
| PyDoc_STRVAR (Matrix_copy_doc, ".. method:: copy()\n" "\n" " Returns a copy of this matrix.\n" "\n" " :return: an instance of itself\n" " :rtype: :class:`Matrix`\n") | |
Matrix Type: Sequence & Mapping Protocol Implementation | |
| static int | Matrix_ass_slice (MatrixObject *self, int begin, int end, PyObject *value) |
| static Py_ssize_t | Matrix_len (MatrixObject *self) |
| static PyObject * | Matrix_item_row (MatrixObject *self, Py_ssize_t row) |
| static PyObject * | Matrix_item_col (MatrixObject *self, Py_ssize_t col) |
| static int | Matrix_ass_item_row (MatrixObject *self, Py_ssize_t row, PyObject *value) |
| static int | Matrix_ass_item_col (MatrixObject *self, int col, PyObject *value) |
| static PyObject * | Matrix_slice (MatrixObject *self, int begin, int end) |
| static PyObject * | Matrix_subscript (MatrixObject *self, PyObject *item) |
| static int | Matrix_ass_subscript (MatrixObject *self, PyObject *item, PyObject *value) |
Utilities | |
| static PyObject * | matrix__apply_to_copy (PyObject *(*matrix_func)(MatrixObject *), MatrixObject *self) |
| static int | matrix_row_vector_check (MatrixObject *mat, VectorObject *vec, int row) |
| static int | matrix_col_vector_check (MatrixObject *mat, VectorObject *vec, int col) |
| static void | matrix_3x3_as_4x4 (float mat[16]) |
| void | matrix_as_3x3 (float mat[3][3], MatrixObject *self) |
| static void | matrix_copy (MatrixObject *mat_dst, const MatrixObject *mat_src) |
| static void | matrix_unit_internal (MatrixObject *self) |
| static void | matrix_transpose_internal (float mat_dst_fl[], const MatrixObject *mat_src) |
| static float | matrix_determinant_internal (const MatrixObject *self) |
| static void | adjoint_matrix_n (float *mat_dst, const float *mat_src, const ushort dim) |
| static void | matrix_invert_with_det_n_internal (float *mat_dst, const float *mat_src, const float det, const ushort dim) |
| static bool | matrix_invert_internal (const MatrixObject *self, float *r_mat) |
| static void | matrix_invert_safe_internal (const MatrixObject *self, float *r_mat) |
| static bool | matrix_is_identity (MatrixObject *self) |
Matrix-Access Type: C/API Constructor | |
| static PyObject * | MatrixAccess_CreatePyObject (MatrixObject *matrix, const eMatrixAccess_t type) |
Matrix Type: <tt>__new__</tt> / <tt>mathutils.Matrix()</tt> | |
| static PyObject * | Matrix_new (PyTypeObject *type, PyObject *args, PyObject *kwds) |
Matrix Class Methods | |
| PyDoc_STRVAR (C_Matrix_Identity_doc, ".. classmethod:: Identity(size)\n" "\n" " Create an identity matrix.\n" "\n" " :arg size: The size of the identity matrix to construct [2, 4].\n" " :type size: int\n" " :return: A new identity matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_Identity (PyObject *cls, PyObject *args) |
| PyDoc_STRVAR (C_Matrix_Rotation_doc, ".. classmethod:: Rotation(angle, size, axis)\n" "\n" " Create a matrix representing a rotation.\n" "\n" " :arg angle: The angle of rotation desired, in radians.\n" " :type angle: float\n" " :arg size: The size of the rotation matrix to construct [2, 4].\n" " :type size: int\n" " :arg axis: a string in ['X', 'Y', 'Z'] or a 3D Vector Object\n" " (optional when size is 2).\n" " :type axis: str | :class:`Vector`\n" " :return: A new rotation matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_Rotation (PyObject *cls, PyObject *args) |
| PyDoc_STRVAR (C_Matrix_Translation_doc, ".. classmethod:: Translation(vector)\n" "\n" " Create a matrix representing a translation.\n" "\n" " :arg vector: The translation vector.\n" " :type vector: :class:`Vector`\n" " :return: An identity matrix with a translation.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_Translation (PyObject *cls, PyObject *value) |
| PyDoc_STRVAR (C_Matrix_Diagonal_doc, ".. classmethod:: Diagonal(vector)\n" "\n" " Create a diagonal (scaling) matrix using the values from the vector.\n" "\n" " :arg vector: The vector of values for the diagonal.\n" " :type vector: :class:`Vector`\n" " :return: A diagonal matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_Diagonal (PyObject *cls, PyObject *value) |
| PyDoc_STRVAR (C_Matrix_Scale_doc, ".. classmethod:: Scale(factor, size, axis)\n" "\n" " Create a matrix representing a scaling.\n" "\n" " :arg factor: The factor of scaling to apply.\n" " :type factor: float\n" " :arg size: The size of the scale matrix to construct [2, 4].\n" " :type size: int\n" " :arg axis: Direction to influence scale. (optional).\n" " :type axis: :class:`Vector`\n" " :return: A new scale matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_Scale (PyObject *cls, PyObject *args) |
| PyDoc_STRVAR (C_Matrix_OrthoProjection_doc, ".. classmethod:: OrthoProjection(axis, size)\n" "\n" " Create a matrix to represent an orthographic projection.\n" "\n" " :arg axis: Can be any of the following: ['X', 'Y', 'XY', 'XZ', 'YZ'],\n" " where a single axis is for a 2D matrix.\n" " Or a vector for an arbitrary axis\n" " :type axis: str | :class:`Vector`\n" " :arg size: The size of the projection matrix to construct [2, 4].\n" " :type size: int\n" " :return: A new projection matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_OrthoProjection (PyObject *cls, PyObject *args) |
| PyDoc_STRVAR (C_Matrix_Shear_doc, ".. classmethod:: Shear(plane, size, factor)\n" "\n" " Create a matrix to represent an shear transformation.\n" "\n" " :arg plane: Can be any of the following: ['X', 'Y', 'XY', 'XZ', 'YZ'],\n" " where a single axis is for a 2D matrix only.\n" " :type plane: str\n" " :arg size: The size of the shear matrix to construct [2, 4].\n" " :type size: int\n" " :arg factor: The factor of shear to apply. " "For a 2 *size* matrix use a single float. " "For a 3 or 4 *size* matrix pass a pair of floats corresponding with the *plane* axis.\n" " :type factor: float | Sequence[float]\n" " :return: A new shear matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_Shear (PyObject *cls, PyObject *args) |
| PyDoc_STRVAR (C_Matrix_LocRotScale_doc, ".. classmethod:: LocRotScale(location, rotation, scale)\n" "\n" " Create a matrix combining translation, rotation and scale,\n" " acting as the inverse of the decompose() method.\n" "\n" " Any of the inputs may be replaced with None if not needed.\n" "\n" " :arg location: The translation component.\n" " :type location: :class:`Vector` | None\n" " :arg rotation: The rotation component as a " "3x3 matrix, quaternion, euler or None for no rotation.\n" " :type rotation: :class:`Matrix` | :class:`Quaternion` | :class:`Euler` | None\n" " :arg scale: The scale component.\n" " :type scale: :class:`Vector` | None\n" " :return: Combined transformation as a 4x4 matrix. \n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | C_Matrix_LocRotScale (PyObject *cls, PyObject *args) |
Matrix Methods: To Quaternion | |
| PyDoc_STRVAR (Matrix_to_quaternion_doc, ".. method:: to_quaternion()\n" "\n" " Return a quaternion representation of the rotation matrix.\n" "\n" " :return: Quaternion representation of the rotation matrix.\n" " :rtype: :class:`Quaternion`\n") | |
| static PyObject * | Matrix_to_quaternion (MatrixObject *self) |
Matrix Methods: To Euler | |
| PyDoc_STRVAR (Matrix_to_euler_doc, ".. method:: to_euler(order, euler_compat)\n" "\n" " Return an Euler representation of the rotation matrix\n" " (3x3 or 4x4 matrix only).\n" "\n" " :arg order: Optional rotation order argument in\n" " ['XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'].\n" " :type order: str\n" " :arg euler_compat: Optional euler argument the new euler will be made\n" " compatible with (no axis flipping between them).\n" " Useful for converting a series of matrices to animation curves.\n" " :type euler_compat: :class:`Euler`\n" " :return: Euler representation of the matrix.\n" " :rtype: :class:`Euler`\n") | |
| static PyObject * | Matrix_to_euler (MatrixObject *self, PyObject *args) |
Matrix Methods: Resize | |
| PyDoc_STRVAR (Matrix_resize_4x4_doc, ".. method:: resize_4x4()\n" "\n" " Resize the matrix to 4x4.\n") | |
| static PyObject * | Matrix_resize_4x4 (MatrixObject *self) |
Matrix Methods: To NxN | |
| static PyObject * | Matrix_to_NxN (MatrixObject *self, const int col_num, const int row_num) |
| PyDoc_STRVAR (Matrix_to_2x2_doc, ".. method:: to_2x2()\n" "\n" " Return a 2x2 copy of this matrix.\n" "\n" " :return: a new matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | Matrix_to_2x2 (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_to_3x3_doc, ".. method:: to_3x3()\n" "\n" " Return a 3x3 copy of this matrix.\n" "\n" " :return: a new matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | Matrix_to_3x3 (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_to_4x4_doc, ".. method:: to_4x4()\n" "\n" " Return a 4x4 copy of this matrix.\n" "\n" " :return: a new matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | Matrix_to_4x4 (MatrixObject *self) |
Matrix Methods: To Translation/Scale | |
| PyDoc_STRVAR (Matrix_to_translation_doc, ".. method:: to_translation()\n" "\n" " Return the translation part of a 4 row matrix.\n" "\n" " :return: Return the translation of a matrix.\n" " :rtype: :class:`Vector`\n") | |
| static PyObject * | Matrix_to_translation (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_to_scale_doc, ".. method:: to_scale()\n" "\n" " Return the scale part of a 3x3 or 4x4 matrix.\n" "\n" " :return: Return the scale of a matrix.\n" " :rtype: :class:`Vector`\n" "\n" " .. note:: This method does not return a negative scale on any axis because it is " "not possible to obtain this data from the matrix alone.\n") | |
| static PyObject * | Matrix_to_scale (MatrixObject *self) |
Matrix Methods: Invert | |
| static bool | matrix_invert_is_compat (const MatrixObject *self) |
| static bool | matrix_invert_args_check (const MatrixObject *self, PyObject *args, bool check_type) |
| static void | matrix_invert_raise_degenerate () |
| PyDoc_STRVAR (Matrix_invert_doc, ".. method:: invert(fallback=None)\n" "\n" " Set the matrix to its inverse.\n" "\n" " :arg fallback: Set the matrix to this value when the inverse cannot be calculated\n" " (instead of raising a :exc:`ValueError` exception).\n" " :type fallback: :class:`Matrix`\n" "\n" " .. seealso:: `Inverse matrix <https://en.wikipedia.org/wiki/Inverse_matrix>`__ on " "Wikipedia.\n") | |
| static PyObject * | Matrix_invert (MatrixObject *self, PyObject *args) |
| PyDoc_STRVAR (Matrix_inverted_doc, ".. method:: inverted(fallback=None)\n" "\n" " Return an inverted copy of the matrix.\n" "\n" " :arg fallback: return this when the inverse can't be calculated\n" " (instead of raising a :exc:`ValueError`).\n" " :type fallback: Any\n" " :return: The inverted matrix or fallback when given.\n" " :rtype: :class:`Matrix` | Any\n") | |
| static PyObject * | Matrix_inverted (MatrixObject *self, PyObject *args) |
| static PyObject * | Matrix_inverted_noargs (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_invert_safe_doc, ".. method:: invert_safe()\n" "\n" " Set the matrix to its inverse, will never error.\n" " If degenerated (e.g. zero scale on an axis), add some epsilon to its diagonal, " "to get an invertible one.\n" " If tweaked matrix is still degenerated, set to the identity matrix instead.\n" "\n" " .. seealso:: `Inverse Matrix <https://en.wikipedia.org/wiki/Inverse_matrix>`__ on " "Wikipedia.\n") | |
| static PyObject * | Matrix_invert_safe (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_inverted_safe_doc, ".. method:: inverted_safe()\n" "\n" " Return an inverted copy of the matrix, will never error.\n" " If degenerated (e.g. zero scale on an axis), add some epsilon to its diagonal, " "to get an invertible one.\n" " If tweaked matrix is still degenerated, return the identity matrix instead.\n" "\n" " :return: the inverted matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | Matrix_inverted_safe (MatrixObject *self) |
Matrix Methods: Adjugate | |
| PyDoc_STRVAR (Matrix_adjugate_doc, ".. method:: adjugate()\n" "\n" " Set the matrix to its adjugate.\n" "\n" " :raises ValueError: if the matrix cannot be adjugate.\n" "\n" " .. seealso:: `Adjugate matrix <https://en.wikipedia.org/wiki/Adjugate_matrix>`__ on " "Wikipedia.\n") | |
| static PyObject * | Matrix_adjugate (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_adjugated_doc, ".. method:: adjugated()\n" "\n" " Return an adjugated copy of the matrix.\n" "\n" " :return: the adjugated matrix.\n" " :rtype: :class:`Matrix`\n" " :raises ValueError: if the matrix cannot be adjugated\n") | |
| static PyObject * | Matrix_adjugated (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_rotate_doc, ".. method:: rotate(other)\n" "\n" " Rotates the matrix by another mathutils value.\n" "\n" " :arg other: rotation component of mathutils value\n" " :type other: :class:`Euler` | :class:`Quaternion` | :class:`Matrix`\n" "\n" " .. note:: If any of the columns are not unit length this may not have desired results.\n") | |
| static PyObject * | Matrix_rotate (MatrixObject *self, PyObject *value) |
Matrix Methods: Decompose | |
| PyDoc_STRVAR (Matrix_decompose_doc, ".. method:: decompose()\n" "\n" " Return the translation, rotation, and scale components of this matrix.\n" "\n" " :return: Tuple of translation, rotation, and scale.\n" " :rtype: tuple[:class:`Vector`, :class:`Quaternion`, :class:`Vector`]") | |
| static PyObject * | Matrix_decompose (MatrixObject *self) |
Matrix Methods: Linear Interpolate (lerp) | |
| PyDoc_STRVAR (Matrix_lerp_doc, ".. function:: lerp(other, factor)\n" "\n" " Returns the interpolation of two matrices. Uses polar decomposition, see" " \"Matrix Animation and Polar Decomposition\", Shoemake and Duff, 1992.\n" "\n" " :arg other: value to interpolate with.\n" " :type other: :class:`Matrix`\n" " :arg factor: The interpolation value in [0.0, 1.0].\n" " :type factor: float\n" " :return: The interpolated matrix.\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | Matrix_lerp (MatrixObject *self, PyObject *args) |
| PyDoc_STRVAR (Matrix_determinant_doc, ".. method:: determinant()\n" "\n" " Return the determinant of a matrix.\n" "\n" " :return: Return the determinant of a matrix.\n" " :rtype: float\n" "\n" " .. seealso:: `Determinant <https://en.wikipedia.org/wiki/Determinant>`__ on Wikipedia.\n") | |
| static PyObject * | Matrix_determinant (MatrixObject *self) |
Matrix Methods: Transpose | |
| PyDoc_STRVAR (Matrix_transpose_doc, ".. method:: transpose()\n" "\n" " Set the matrix to its transpose.\n" "\n" " .. seealso:: `Transpose <https://en.wikipedia.org/wiki/Transpose>`__ on Wikipedia.\n") | |
| static PyObject * | Matrix_transpose (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_transposed_doc, ".. method:: transposed()\n" "\n" " Return a new, transposed matrix.\n" "\n" " :return: a transposed matrix\n" " :rtype: :class:`Matrix`\n") | |
| static PyObject * | Matrix_transposed (MatrixObject *self) |
Matrix Methods: Normalize | |
| PyDoc_STRVAR (Matrix_normalize_doc, ".. method:: normalize()\n" "\n" " Normalize each of the matrix columns.\n" "\n" " .. note:: for 4x4 matrices, the 4th column (translation) is left untouched.\n") | |
| static PyObject * | Matrix_normalize (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_normalized_doc, ".. method:: normalized()\n" "\n" " Return a column normalized matrix\n" "\n" " :return: a column normalized matrix\n" " :rtype: :class:`Matrix`\n" "\n" " .. note:: for 4x4 matrices, the 4th column (translation) is left untouched.\n") | |
| static PyObject * | Matrix_normalized (MatrixObject *self) |
Matrix Methods: Zero | |
| PyDoc_STRVAR (Matrix_zero_doc, ".. method:: zero()\n" "\n" " Set all the matrix values to zero.\n") | |
| static PyObject * | Matrix_zero (MatrixObject *self) |
Matrix Methods: Set Identity | |
| static void | matrix_identity_internal (MatrixObject *self) |
| PyDoc_STRVAR (Matrix_identity_doc, ".. method:: identity()\n" "\n" " Set the matrix to the identity matrix.\n" "\n" " .. note:: An object with a location and rotation of zero, and a scale of one\n" " will have an identity matrix.\n" "\n" " .. seealso:: `Identity matrix <https://en.wikipedia.org/wiki/Identity_matrix>`__ " "on Wikipedia.\n") | |
| static PyObject * | Matrix_identity (MatrixObject *self) |
Matrix Type: <tt>__repr__</tt> & <tt>__str__</tt> | |
| static PyObject * | Matrix_repr (MatrixObject *self) |
| static PyObject * | Matrix_str (MatrixObject *self) |
Matrix Type: Rich Compare | |
| static PyObject * | Matrix_richcmpr (PyObject *a, PyObject *b, int op) |
Matrix Type: Hash (<tt>__hash__</tt>) | |
| static Py_hash_t | Matrix_hash (MatrixObject *self) |
Matrix Type: Numeric Protocol Implementation | |
| static PyObject * | Matrix_add (PyObject *m1, PyObject *m2) |
| static PyObject * | Matrix_sub (PyObject *m1, PyObject *m2) |
| static PyObject * | matrix_mul_float (MatrixObject *mat, const float scalar) |
| static PyObject * | Matrix_mul (PyObject *m1, PyObject *m2) |
| static PyObject * | Matrix_imul (PyObject *m1, PyObject *m2) |
| static PyObject * | Matrix_matmul (PyObject *m1, PyObject *m2) |
| static PyObject * | Matrix_imatmul (PyObject *m1, PyObject *m2) |
Matrix Type: Get/Set Item Implementation | |
| PyDoc_STRVAR (Matrix_translation_doc, "The translation component of the matrix.\n" "\n" ":type: :class:`Vector`") | |
| static PyObject * | Matrix_translation_get (MatrixObject *self, void *) |
| static int | Matrix_translation_set (MatrixObject *self, PyObject *value, void *) |
| PyDoc_STRVAR (Matrix_row_doc, "Access the matrix by rows (default), (read-only).\n" "\n" ":type: Matrix Access") | |
| static PyObject * | Matrix_row_get (MatrixObject *self, void *) |
| PyDoc_STRVAR (Matrix_col_doc, "Access the matrix by columns, 3x3 and 4x4 only, (read-only).\n" "\n" ":type: Matrix Access") | |
| static PyObject * | Matrix_col_get (MatrixObject *self, void *) |
| PyDoc_STRVAR (Matrix_median_scale_doc, "The average scale applied to each axis (read-only).\n" "\n" ":type: float") | |
| static PyObject * | Matrix_median_scale_get (MatrixObject *self, void *) |
| PyDoc_STRVAR (Matrix_is_identity_doc, "True if this is an identity matrix (read-only).\n" "\n" ":type: bool") | |
| static PyObject * | Matrix_is_identity_get (MatrixObject *self, void *) |
| PyDoc_STRVAR (Matrix_is_negative_doc, "True if this matrix results in a negative scale, 3x3 and 4x4 only, " "(read-only).\n" "\n" ":type: bool") | |
| static PyObject * | Matrix_is_negative_get (MatrixObject *self, void *) |
| PyDoc_STRVAR (Matrix_is_orthogonal_doc, "True if this matrix is orthogonal, 3x3 and 4x4 only, (read-only).\n" "\n" ":type: bool") | |
| static PyObject * | Matrix_is_orthogonal_get (MatrixObject *self, void *) |
| PyDoc_STRVAR (Matrix_is_orthogonal_axis_vectors_doc, "True if this matrix has got orthogonal axis vectors, 3x3 and 4x4 only, " "(read-only).\n" "\n" ":type: bool") | |
| static PyObject * | Matrix_is_orthogonal_axis_vectors_get (MatrixObject *self, void *) |
Matrix Type: C/API Constructors | |
| PyObject * | Matrix_CreatePyObject (const float *mat, const ushort col_num, const ushort row_num, PyTypeObject *base_type) |
| PyObject * | Matrix_CreatePyObject_wrap (float *mat, const ushort col_num, const ushort row_num, PyTypeObject *base_type) |
| PyObject * | Matrix_CreatePyObject_cb (PyObject *cb_user, const ushort col_num, const ushort row_num, uchar cb_type, uchar cb_subtype) |
| PyObject * | Matrix_CreatePyObject_alloc (float *mat, const ushort col_num, const ushort row_num, PyTypeObject *base_type) |
Matrix Type: C/API Parse Utilities | |
| static bool | Matrix_ParseCheck (MatrixObject *pymat) |
| 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) |
Matrix-Access Type: Struct & Internal Functions | |
| static int | MatrixAccess_traverse (MatrixAccessObject *self, visitproc visit, void *arg) |
| static int | MatrixAccess_clear (MatrixAccessObject *self) |
| static void | MatrixAccess_dealloc (MatrixAccessObject *self) |
Variables | |
Matrix Type: Protocol Declarations | |
| static PySequenceMethods | Matrix_SeqMethods |
| static PyMappingMethods | Matrix_AsMapping |
| static PyNumberMethods | Matrix_NumMethods |
Matrix Type: Get/Set Item Definitions | |
| static PyGetSetDef | Matrix_getseters [] |
Matrix Type: Method Definitions | |
| static PyMethodDef | Matrix_methods [] |
Matrix-Access Type: Python Object Definition | |
| PyTypeObject | matrix_access_Type |
Matrix Row Callbacks | |
This is so you can do | |
| uchar | mathutils_matrix_row_cb_index = -1 |
| Mathutils_Callback | mathutils_matrix_row_cb |
| static int | mathutils_matrix_row_check (BaseMathObject *bmo) |
| static int | mathutils_matrix_row_get (BaseMathObject *bmo, int row) |
| static int | mathutils_matrix_row_set (BaseMathObject *bmo, int row) |
| static int | mathutils_matrix_row_get_index (BaseMathObject *bmo, int row, int col) |
| static int | mathutils_matrix_row_set_index (BaseMathObject *bmo, int row, int col) |
Matrix Column Callbacks | |
This is so you can do | |
| uchar | mathutils_matrix_col_cb_index = -1 |
| Mathutils_Callback | mathutils_matrix_col_cb |
| static int | mathutils_matrix_col_check (BaseMathObject *bmo) |
| static int | mathutils_matrix_col_get (BaseMathObject *bmo, int col) |
| static int | mathutils_matrix_col_set (BaseMathObject *bmo, int col) |
| static int | mathutils_matrix_col_get_index (BaseMathObject *bmo, int col, int row) |
| static int | mathutils_matrix_col_set_index (BaseMathObject *bmo, int col, int row) |
Matrix Translation Callbacks | |
This is so you can do
| |
| uchar | mathutils_matrix_translation_cb_index = -1 |
| Mathutils_Callback | mathutils_matrix_translation_cb |
| static int | mathutils_matrix_translation_check (BaseMathObject *bmo) |
| static int | mathutils_matrix_translation_get (BaseMathObject *bmo, int col) |
| static int | mathutils_matrix_translation_set (BaseMathObject *bmo, int col) |
| static int | mathutils_matrix_translation_get_index (BaseMathObject *bmo, int col, int row) |
| static int | mathutils_matrix_translation_set_index (BaseMathObject *bmo, int col, int row) |
Matrix Type: Python Object Definition | |
| PyTypeObject | matrix_Type |
| PyDoc_STRVAR (matrix_doc, ".. class:: Matrix([rows])\n" "\n" " This object gives access to Matrices in Blender, supporting square and rectangular\n" " matrices from 2x2 up to 4x4.\n" "\n" " :arg rows: Sequence of rows. When omitted, a 4x4 identity matrix is constructed.\n" " :type rows: Sequence[Sequence[float]]\n") | |
Matrix-Access Type: Sequence Protocol | |
| static PyMappingMethods | MatrixAccess_AsMapping |
| static Py_ssize_t | MatrixAccess_len (MatrixAccessObject *self) |
| static PyObject * | MatrixAccess_slice (MatrixAccessObject *self, Py_ssize_t begin, Py_ssize_t end) |
| static PyObject * | MatrixAccess_subscript (MatrixAccessObject *self, PyObject *item) |
| static int | MatrixAccess_ass_subscript (MatrixAccessObject *self, PyObject *item, PyObject *value) |
| static PyObject * | MatrixAccess_iter (MatrixAccessObject *self) |
| enum eMatrixAccess_t |
| Enumerator | |
|---|---|
| MAT_ACCESS_ROW | |
| MAT_ACCESS_COL | |
Definition at line 28 of file mathutils_Matrix.cc.
Definition at line 145 of file mathutils_Matrix.cc.
References adjoint_m2_m2(), adjoint_m3_m3(), adjoint_m4_m4(), and BLI_assert_unreachable.
Referenced by Matrix_adjugate(), and matrix_invert_with_det_n_internal().
|
static |
Diagonal constructor: mathutils.Matrix.Diagonal().
Definition at line 811 of file mathutils_Matrix.cc.
References mathutils_array_parse(), Matrix_CreatePyObject(), and size().
|
static |
Definition at line 663 of file mathutils_Matrix.cc.
References Matrix_CreatePyObject().
|
static |
Definition at line 1164 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, MatrixObject::col_num, copy_m4_m3(), copy_v3_v3(), EulerObject_Check, eulO_to_mat4(), mathutils_array_parse(), Matrix_CreatePyObject(), MatrixObject_Check, EulerObject::order, quat_to_mat4(), QuaternionObject_Check, rescale_m4(), MatrixObject::row_num, unit_m4(), and zero_v3().
|
static |
Definition at line 936 of file mathutils_Matrix.cc.
References ELEM, mathutils_array_parse(), matrix_3x3_as_4x4(), Matrix_CreatePyObject(), norm(), sqrtf, and x.
|
static |
Definition at line 698 of file mathutils_Matrix.cc.
References angle(), angle_to_mat2(), angle_wrap_rad(), axis_angle_to_mat3(), axis_angle_to_mat3_single(), ELEM, mathutils_array_parse(), matrix_3x3_as_4x4(), and Matrix_CreatePyObject().
|
static |
Definition at line 846 of file mathutils_Matrix.cc.
References ELEM, mathutils_array_parse(), matrix_3x3_as_4x4(), Matrix_CreatePyObject(), norm(), sqrtf, and x.
|
static |
Definition at line 1061 of file mathutils_Matrix.cc.
References ELEM, mathutils_array_parse(), matrix_3x3_as_4x4(), Matrix_CreatePyObject(), and STREQ.
|
static |
Definition at line 784 of file mathutils_Matrix.cc.
References mathutils_array_parse(), Matrix_CreatePyObject(), and unit_m4().
|
static |
Definition at line 414 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, and self.
|
static |
Definition at line 420 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, matrix_col_vector_check(), MATRIX_ITEM, min_ii(), and self.
|
static |
Definition at line 467 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, matrix_col_vector_check(), MATRIX_ITEM, and self.
|
static |
Definition at line 443 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, matrix_col_vector_check(), MATRIX_ITEM, min_ii(), and self.
|
static |
Definition at line 482 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, matrix_col_vector_check(), MATRIX_ITEM, and self.
|
static |
Definition at line 320 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, and self.
|
static |
Definition at line 326 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, MATRIX_ITEM, matrix_row_vector_check(), and self.
|
static |
Definition at line 365 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, MATRIX_ITEM, matrix_row_vector_check(), and self.
|
static |
Definition at line 345 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, MATRIX_ITEM, matrix_row_vector_check(), and self.
|
static |
Definition at line 380 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, MATRIX_ITEM, matrix_row_vector_check(), and self.
|
static |
Definition at line 518 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, and self.
|
static |
Definition at line 524 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, MATRIX_ITEM, and self.
|
static |
Definition at line 557 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, MATRIX_ITEM, and self.
|
static |
Definition at line 540 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, MATRIX_ITEM, and self.
|
static |
Definition at line 569 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, MATRIX_ITEM, and self.
|
static |
When a matrix is 4x4 size but initialized as a 3x3, re-assign values for 4x4.
Definition at line 70 of file mathutils_Matrix.cc.
Referenced by C_Matrix_OrthoProjection(), C_Matrix_Rotation(), C_Matrix_Scale(), and C_Matrix_Shear().
|
static |
Definition at line 280 of file mathutils_Matrix.cc.
References Matrix_copy(), ret, and self.
Referenced by Matrix_adjugated(), Matrix_normalized(), and Matrix_transposed().
|
static |
Addition: object + object.
Definition at line 2723 of file mathutils_Matrix.cc.
References add_vn_vnvn(), BaseMath_ReadCallback, MatrixObject::col_num, Matrix_CreatePyObject(), MATRIX_MAX_DIM, MatrixObject_Check, and MatrixObject::row_num.
|
static |
Definition at line 1832 of file mathutils_Matrix.cc.
References adjoint_matrix_n(), BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, and self.
Referenced by Matrix_adjugated().
|
static |
Definition at line 1869 of file mathutils_Matrix.cc.
References matrix__apply_to_copy(), Matrix_adjugate(), and self.
| 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().
|
static |
Sequence accessor (set): object.col[i] = x.
Definition at line 2531 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, mathutils_array_parse(), MATRIX_ITEM, MATRIX_MAX_DIM, and self.
Referenced by MatrixAccess_ass_subscript().
|
static |
Sequence accessor (set): object[i] = x.
Definition at line 2502 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, col, mathutils_array_parse(), MATRIX_ITEM, MATRIX_MAX_DIM, and self.
Referenced by Matrix_ass_subscript(), and MatrixAccess_ass_subscript().
|
static |
Sequence slice accessor (set): object[i:j] = x.
Definition at line 2586 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, CLAMP, col, mathutils_array_parse(), MATRIX_MAX_DIM, and self.
Referenced by Matrix_ass_subscript(), and Matrix_new().
|
static |
Sequence generic subscript (set): object[...] = x.
Definition at line 2684 of file mathutils_Matrix.cc.
References Matrix_ass_item_row(), Matrix_ass_slice(), and self.
|
static |
Definition at line 3177 of file mathutils_Matrix.cc.
References MAT_ACCESS_COL, MatrixAccess_CreatePyObject(), and self.
|
static |
Definition at line 57 of file mathutils_Matrix.cc.
References col, MatrixObject::col_num, MatrixObject::row_num, and VectorObject::vec_num.
Referenced by mathutils_matrix_col_get(), mathutils_matrix_col_get_index(), mathutils_matrix_col_set(), and mathutils_matrix_col_set_index().
|
static |
Definition at line 2269 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, Matrix_copy_notest(), and self.
Referenced by matrix__apply_to_copy(), and Matrix_deepcopy().
|
static |
Definition at line 89 of file mathutils_Matrix.cc.
References BLI_assert, MatrixObject::col_num, and MatrixObject::row_num.
Referenced by Matrix_invert().
|
static |
Copy Matrix.copy()
Definition at line 2255 of file mathutils_Matrix.cc.
References Matrix_CreatePyObject(), and self.
Referenced by Matrix_copy(), Matrix_inverted(), and Matrix_inverted_safe().
| PyObject * Matrix_CreatePyObject | ( | const float * | mat, |
| const ushort | col_num, | ||
| const 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, |
| const ushort | col_num, | ||
| const ushort | row_num, | ||
| uchar | cb_type, | ||
| uchar | 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, |
| const ushort | col_num, | ||
| const 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().
|
static |
Definition at line 1928 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, mat3_normalized_to_quat_fast(), mat4_to_loc_rot_size(), PyTuple_SET_ITEMS, Quaternion_CreatePyObject(), ret, rot, self, and Vector_CreatePyObject().
|
static |
Deep-copy Matrix.deepcopy()
Definition at line 2279 of file mathutils_Matrix.cc.
References Matrix_copy(), PyC_CheckArgs_DeepCopy(), and self.
|
static |
Definition at line 2034 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, matrix_determinant_internal(), and self.
|
static |
Assumes rowsize == colsize is checked and the read callback has run.
Definition at line 122 of file mathutils_Matrix.cc.
References determinant_m2(), determinant_m3(), determinant_m4(), MATRIX_ITEM, and self.
Referenced by Matrix_determinant(), matrix_invert_internal(), and matrix_invert_safe_internal().
|
static |
Definition at line 2433 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, BaseMathObject_Prepare_ForHash, mathutils_array_hash(), MATRIX_MAX_DIM, matrix_transpose_internal(), and self.
|
static |
Definition at line 2226 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, matrix_identity_internal(), and self.
|
static |
Definition at line 2199 of file mathutils_Matrix.cc.
References BLI_assert, self, unit_m2(), unit_m3(), and unit_m4().
Referenced by Matrix_CreatePyObject(), and Matrix_identity().
|
static |
Multiplication in-place (matrix multiply): object @= object.
Definition at line 2979 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, BaseMath_WriteCallback, col, MatrixObject::col_num, double(), MATRIX_ITEM, MATRIX_MAX_DIM, MatrixObject_Check, and MatrixObject::row_num.
|
static |
Multiplication in-place (element-wise): object *= object.
Definition at line 2854 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, BaseMath_WriteCallback, MatrixObject::col_num, MatrixObject_Check, mul_vn_fl(), mul_vn_vn(), and MatrixObject::row_num.
|
static |
Definition at line 1652 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, matrix_copy(), matrix_invert_args_check(), matrix_invert_internal(), matrix_invert_is_compat(), matrix_invert_raise_degenerate(), and self.
|
static |
Definition at line 1600 of file mathutils_Matrix.cc.
References MatrixObject::col_num, MatrixObject_Check, MatrixObject::row_num, and self.
Referenced by Matrix_invert(), and Matrix_inverted().
|
static |
| r_mat | can be from self->matrix or not. |
Definition at line 191 of file mathutils_Matrix.cc.
References BLI_assert, matrix_determinant_internal(), matrix_invert_with_det_n_internal(), and self.
Referenced by Matrix_invert(), Matrix_inverted(), and Matrix_inverted_noargs().
|
static |
Re-usable checks for invert.
Definition at line 1588 of file mathutils_Matrix.cc.
References self.
Referenced by Matrix_invert(), Matrix_invert_safe(), Matrix_inverted(), Matrix_inverted_noargs(), and Matrix_inverted_safe().
|
static |
Definition at line 1632 of file mathutils_Matrix.cc.
Referenced by Matrix_invert(), Matrix_inverted(), and Matrix_inverted_noargs().
|
static |
Definition at line 1770 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, matrix_invert_is_compat(), matrix_invert_safe_internal(), and self.
|
static |
Similar to matrix_invert_internal but should never error.
| r_mat | can be from self->matrix or not. |
Definition at line 209 of file mathutils_Matrix.cc.
References BLI_assert, BLI_assert_unreachable, copy_m2_m2(), copy_m3_m3(), copy_m4_m4(), determinant_m2(), determinant_m3_array(), determinant_m4(), eps, float, matrix_determinant_internal(), matrix_invert_with_det_n_internal(), PSEUDOINVERSE_EPSILON, self, unit_m2(), unit_m3(), unit_m4(), and UNLIKELY.
Referenced by Matrix_invert_safe(), and Matrix_inverted_safe().
|
static |
Definition at line 167 of file mathutils_Matrix.cc.
References adjoint_matrix_n(), BLI_assert, MATRIX_ITEM_INDEX_NUMROW, and MATRIX_MAX_DIM.
Referenced by matrix_invert_internal(), and matrix_invert_safe_internal().
|
static |
Definition at line 1703 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, Matrix_copy_notest(), matrix_invert_args_check(), matrix_invert_internal(), matrix_invert_is_compat(), matrix_invert_raise_degenerate(), MATRIX_MAX_DIM, and self.
|
static |
Definition at line 1736 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, matrix_invert_internal(), matrix_invert_is_compat(), matrix_invert_raise_degenerate(), and self.
|
static |
Definition at line 1798 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, Matrix_copy_notest(), matrix_invert_is_compat(), matrix_invert_safe_internal(), MATRIX_MAX_DIM, and self.
|
static |
Definition at line 299 of file mathutils_Matrix.cc.
References col, MATRIX_ITEM, and self.
Referenced by Matrix_is_identity_get().
|
static |
Definition at line 3215 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, matrix_is_identity(), and self.
|
static |
Definition at line 3230 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, is_negative_m3(), is_negative_m4(), and self.
|
static |
Definition at line 3283 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, is_orthogonal_m3(), is_orthogonal_m4(), and self.
|
static |
Definition at line 3256 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, is_orthonormal_m3(), is_orthonormal_m4(), and self.
|
static |
Sequence accessor (get): x = object.col[i].
Definition at line 2485 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, col, mathutils_matrix_col_cb_index, self, and Vector_CreatePyObject_cb().
Referenced by MatrixAccess_slice(), and MatrixAccess_subscript().
|
static |
Sequence accessor (get): x = object[i].
Definition at line 2466 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, mathutils_matrix_row_cb_index, self, and Vector_CreatePyObject_cb().
Referenced by Matrix_subscript(), MatrixAccess_slice(), and MatrixAccess_subscript().
|
static |
|
static |
Definition at line 1978 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, blend_m3_m3m3(), blend_m4_m4m4(), MatrixObject::col_num, interp_m3_m3m3(), interp_m4_m4m4(), Matrix_CreatePyObject(), MATRIX_MAX_DIM, matrix_Type, MatrixObject::row_num, and self.
|
static |
Multiplication (matrix multiply): object @ object.
Definition at line 2903 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, MatrixObject::col_num, column_vector_multiplication(), double(), Matrix_CreatePyObject(), MATRIX_ITEM, MATRIX_MAX_DIM, MatrixObject_Check, MatrixObject::row_num, VectorObject::vec_num, Vector_CreatePyObject(), and VectorObject_Check.
|
static |
Definition at line 3188 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, mat3_to_scale(), matrix_as_3x3(), and self.
|
static |
Definition at line 2798 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, MatrixObject::col_num, Matrix_CreatePyObject(), MATRIX_MAX_DIM, matrix_mul_float(), MatrixObject_Check, mul_vn_vnvn(), and MatrixObject::row_num.
|
static |
Multiplication (element-wise): object * object.
Definition at line 2791 of file mathutils_Matrix.cc.
References MatrixObject::col_num, Matrix_CreatePyObject(), MATRIX_MAX_DIM, mul_vn_vn_fl(), and MatrixObject::row_num.
Referenced by Matrix_mul().
|
static |
Definition at line 597 of file mathutils_Matrix.cc.
References Matrix_ass_slice(), and Matrix_CreatePyObject().
|
static |
Definition at line 2121 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, normalize_m3(), normalize_m4(), and self.
Referenced by Matrix_normalized().
|
static |
Definition at line 2161 of file mathutils_Matrix.cc.
References matrix__apply_to_copy(), Matrix_normalize(), and self.
| 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().
|
static |
Use with PyArg_ParseTuple's "O&" formatting.
Definition at line 3647 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, and MatrixObject_Check.
Referenced by Matrix_Parse2x2(), Matrix_Parse3x3(), Matrix_Parse4x4(), and Matrix_ParseAny().
|
static |
Definition at line 2293 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, col, MATRIX_ITEM, MATRIX_MAX_DIM, and self.
|
static |
Definition at line 1390 of file mathutils_Matrix.cc.
References BASE_MATH_FLAG_IS_WRAP, col, copy_m4_m4(), MATRIX_COL_PTR, MATRIX_MAX_DIM, self, and unit_m4().
|
static |
Definition at line 2386 of file mathutils_Matrix.cc.
References ATTR_FALLTHROUGH, b, BaseMath_ReadCallback, MatrixObject::col_num, EXPP_VectorsAreEqual(), MatrixObject_Check, and MatrixObject::row_num.
|
static |
Definition at line 1885 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, copy_m3_m3(), mathutils_any_to_rotmat(), matrix_as_3x3(), mul_m3_m3m3(), and self.
|
static |
Definition at line 3168 of file mathutils_Matrix.cc.
References MAT_ACCESS_ROW, MatrixAccess_CreatePyObject(), and self.
|
static |
Definition at line 45 of file mathutils_Matrix.cc.
References MatrixObject::col_num, MatrixObject::row_num, and VectorObject::vec_num.
Referenced by mathutils_matrix_row_get(), mathutils_matrix_row_get_index(), mathutils_matrix_row_set(), and mathutils_matrix_row_set_index().
|
static |
Sequence slice accessor (get): x = object[i:j].
Definition at line 2560 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, CLAMP, count, mathutils_matrix_row_cb_index, self, and Vector_CreatePyObject_cb().
Referenced by Matrix_subscript().
|
static |
Definition at line 2342 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, BLI_dynstr_append(), BLI_dynstr_appendf(), BLI_dynstr_new(), col, mathutils_dynstr_to_py(), MATRIX_ITEM, MATRIX_MAX_DIM, max_ii(), self, and SNPRINTF_RLEN.
|
static |
Subtraction: object - object.
Definition at line 2757 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, MatrixObject::col_num, Matrix_CreatePyObject(), MATRIX_MAX_DIM, MatrixObject_Check, MatrixObject::row_num, and sub_vn_vnvn().
|
static |
Sequence generic subscript (get): x = object[...].
Definition at line 2647 of file mathutils_Matrix.cc.
References Matrix_item_row(), Matrix_slice(), and self.
|
static |
Definition at line 1469 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, Matrix_to_NxN(), and self.
|
static |
Definition at line 1486 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, Matrix_to_NxN(), and self.
|
static |
Definition at line 1503 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, Matrix_to_NxN(), and self.
|
static |
Definition at line 1309 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, copy_m3_m3(), copy_m3_m4(), copy_v3_v3(), Euler_CreatePyObject(), euler_order_from_string(), EULER_ORDER_XYZ, euler_Type, mat3_normalized_to_compatible_eul(), mat3_normalized_to_compatible_eulO(), mat3_normalized_to_eul(), mat3_normalized_to_eulO(), normalize_m3(), and self.
|
static |
Definition at line 1437 of file mathutils_Matrix.cc.
References col, float, MATRIX_COL_PTR, Matrix_CreatePyObject_alloc(), matrix_unit_internal(), min_ii(), and self.
Referenced by Matrix_to_2x2(), Matrix_to_3x3(), and Matrix_to_4x4().
|
static |
Definition at line 1262 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, mat3_to_quat(), mat4_to_quat(), Quaternion_CreatePyObject(), and self.
|
static |
Definition at line 1555 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, mat3_to_rot_size(), matrix_as_3x3(), rot, self, and Vector_CreatePyObject().
|
static |
Definition at line 1527 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, MATRIX_COL_PTR, self, and Vector_CreatePyObject().
|
static |
Definition at line 3113 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback, mathutils_matrix_translation_cb_index, ret, self, and Vector_CreatePyObject_cb().
|
static |
Definition at line 3135 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, copy_v3_v3(), mathutils_array_parse(), and self.
|
static |
Definition at line 2064 of file mathutils_Matrix.cc.
References BaseMath_ReadCallback_ForWrite, BaseMath_WriteCallback, MATRIX_ITEM, self, transpose_m3(), and transpose_m4().
Referenced by Matrix_transposed().
|
static |
Transposes memory layout, row/columns don't have to match.
Definition at line 109 of file mathutils_Matrix.cc.
References col, MatrixObject::col_num, MATRIX_ITEM, and MatrixObject::row_num.
Referenced by Matrix_hash().
|
static |
Definition at line 2102 of file mathutils_Matrix.cc.
References matrix__apply_to_copy(), Matrix_transpose(), and self.
|
static |
Definition at line 97 of file mathutils_Matrix.cc.
References col, float, min_ii(), and self.
Referenced by Matrix_to_NxN().
|
static |
Definition at line 2178 of file mathutils_Matrix.cc.
References BaseMath_Prepare_ForWrite, BaseMath_WriteCallback, copy_vn_fl(), and self.
|
static |
Definition at line 3849 of file mathutils_Matrix.cc.
References MatrixObject::col_num, MAT_ACCESS_ROW, Matrix_ass_item_col(), Matrix_ass_item_row(), MatrixObject::row_num, and self.
|
static |
Definition at line 3742 of file mathutils_Matrix.cc.
References self.
Referenced by MatrixAccess_dealloc().
|
static |
Definition at line 3965 of file mathutils_Matrix.cc.
References matrix_access_Type, MatrixAccessObject::matrix_user, and MatrixAccessObject::type.
Referenced by Matrix_col_get(), and Matrix_row_get().
|
static |
Definition at line 3748 of file mathutils_Matrix.cc.
References MatrixAccess_clear(), and self.
|
static |
Definition at line 3878 of file mathutils_Matrix.cc.
References MATRIX_MAX_DIM, MatrixAccess_slice(), ret, and self.
|
static |
Definition at line 3764 of file mathutils_Matrix.cc.
References MAT_ACCESS_ROW, and self.
Referenced by MatrixAccess_subscript().
|
static |
Definition at line 3769 of file mathutils_Matrix.cc.
References CLAMP, MatrixObject::col_num, count, MAT_ACCESS_ROW, Matrix_item_col(), Matrix_item_row(), MatrixObject::row_num, and self.
Referenced by MatrixAccess_iter(), and MatrixAccess_subscript().
|
static |
Definition at line 3803 of file mathutils_Matrix.cc.
References MatrixObject::col_num, MAT_ACCESS_ROW, Matrix_item_col(), Matrix_item_row(), MatrixAccess_len(), MatrixAccess_slice(), MatrixObject::row_num, and self.
|
static |
Definition at line 3736 of file mathutils_Matrix.cc.
References self.
| PyDoc_STRVAR | ( | C_Matrix_Diagonal_doc | , |
| ".. classmethod:: Diagonal(vector)\n" "\n" " Create a diagonal (scaling) matrix using the values from the vector.\n" "\n" " :arg vector: The vector of values for the diagonal.\n" " :type vector: :class:`Vector`\n" " :return: A diagonal matrix.\n" " :rtype: :class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | C_Matrix_Identity_doc | , |
| ".. classmethod:: Identity(size)\n" "\n" " Create an identity matrix.\n" "\n" " :arg size: The size of the identity matrix to construct .\n" " :type size: int\n" " :return: A new identity matrix.\n" " :rtype: :class:`Matrix`\n" | [2, 4] ) |
Identity constructor: mathutils.Matrix.Identity().
| PyDoc_STRVAR | ( | C_Matrix_LocRotScale_doc | , |
| ".. classmethod:: LocRotScale(location, rotation, scale)\n" "\n" " Create a matrix combining | translation, | ||
| rotation and | scale, | ||
| \n" " acting as the inverse of the decompose() method.\n" "\n" " Any of the inputs may be replaced with None if not needed.\n" "\n" " :arg location:The translation component.\n" " :type location::class:`Vector`|None\n" " :arg rotation:The rotation component as a " "3x3 | matrix, | ||
| quaternion | , | ||
| euler or None for no rotation.\n" " :type rotation::class:`Matrix`|:class:`Quaternion`|:class:`Euler`|None\n" " :arg scale:The scale component.\n" " :type scale::class:`Vector`|None\n" " :return:Combined transformation as a 4x4 matrix. \n" " :rtype::class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | C_Matrix_OrthoProjection_doc | , |
| ".. classmethod:: OrthoProjection(axis, size)\n" "\n" " Create a matrix to represent an orthographic projection.\n" "\n" " :arg axis: Can be any of the following: | [ 'X', 'Y', 'XY', 'XZ', 'YZ'], | ||
| \n" " where a single axis is for a 2D matrix.\n" " Or a vector for an arbitrary axis\n" " :type axis:str|:class:`Vector`\n" " :arg size:The size of the projection matrix to construct .\n" " :type size:int\n" " :return:A new projection matrix.\n" " :rtype::class:`Matrix`\n" | [2, 4] ) |
Orthographic projection constructor: mathutils.Matrix.OrthoProjection().
| PyDoc_STRVAR | ( | C_Matrix_Rotation_doc | , |
| ".. classmethod:: Rotation(angle, size, axis)\n" "\n" " Create a matrix representing a rotation.\n" "\n" " :arg angle: The angle of rotation | desired, | ||
| in radians.\n" " :type angle:float\n" " :arg size:The size of the rotation matrix to construct .\n" " :type size:int\n" " :arg axis:a string in or a 3D Vector Object\n" "(optional when size is 2).\n" " :type axis:str|:class:`Vector`\n" " :return:A new rotation matrix.\n" " :rtype::class:`Matrix`\n" | [2, 4][ 'X', 'Y', 'Z'] ) |
Rotation constructor: mathutils.Matrix.Rotation().
| PyDoc_STRVAR | ( | C_Matrix_Scale_doc | , |
| ".. classmethod:: Scale(factor, size, axis)\n" "\n" " Create a matrix representing a scaling.\n" "\n" " :arg factor: The factor of scaling to apply.\n" " :type factor: float\n" " :arg size: The size of the scale matrix to construct .\n" " :type size: int\n" " :arg axis: Direction to influence scale. (optional).\n" " :type axis: :class:`Vector`\n" " :return: A new scale matrix.\n" " :rtype: :class:`Matrix`\n" | [2, 4] ) |
Scale constructor: mathutils.Matrix.Scale().
| PyDoc_STRVAR | ( | C_Matrix_Shear_doc | , |
| ".. classmethod:: Shear(plane, size, factor)\n" "\n" " Create a matrix to represent an shear transformation.\n" "\n" " :arg plane: Can be any of the following: | [ 'X', 'Y', 'XY', 'XZ', 'YZ'], | ||
| \n" " where a single axis is for a 2D matrix only.\n" " :type plane:str\n" " :arg size:The size of the shear matrix to construct .\n" " :type size:int\n" " :arg factor:The factor of shear to apply. " "For a 2 *size *matrix use a single float. " "For a 3 or 4 *size *matrix pass a pair of floats corresponding with the *plane *axis.\n" " :type factor:float|Sequence\n" " :return:A new shear matrix.\n" " :rtype::class:`Matrix`\n" | [2, 4][float] ) |
Shear constructor: mathutils.Matrix.Shear().
| PyDoc_STRVAR | ( | C_Matrix_Translation_doc | , |
| ".. classmethod:: Translation(vector)\n" "\n" " Create a matrix representing a translation.\n" "\n" " :arg vector: The translation vector.\n" " :type vector: :class:`Vector`\n" " :return: An identity matrix with a translation.\n" " :rtype: :class:`Matrix`\n" | ) |
Translation constructor: mathutils.Matrix.Translation().
| PyDoc_STRVAR | ( | Matrix_adjugate_doc | , |
| ".. method:: adjugate()\n" "\n" " Set the matrix to its adjugate.\n" "\n" " :raises ValueError: if the matrix cannot be adjugate.\n" "\n" " .. seealso:: `Adjugate matrix <https://en.wikipedia.org/wiki/Adjugate_matrix>`__ on " "Wikipedia.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_adjugated_doc | , |
| ".. method:: adjugated()\n" "\n" " Return an adjugated copy of the matrix.\n" "\n" " :return: the adjugated matrix.\n" " :rtype: :class:`Matrix`\n" " :raises ValueError: if the matrix cannot be adjugated\n" | ) |
| PyDoc_STRVAR | ( | Matrix_col_doc | , |
| "Access the matrix by | columns, | ||
| 3x3 and 4x4 | only, | ||
| (read-only).\n" "\n" ":type:Matrix Access" | ) |
| PyDoc_STRVAR | ( | Matrix_copy_doc | , |
| ".. method:: copy()\n" "\n" " Returns a copy of this matrix.\n" "\n" " :return: an instance of itself\n" " :rtype: :class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_decompose_doc | , |
| ".. method:: decompose()\n" "\n" " Return the | translation, | ||
| rotation | , | ||
| and scale components of this matrix.\n" "\n" " :return:Tuple of | translation, | ||
| rotation | , | ||
| and scale.\n" " :rtype:tuple" | [:class:`Vector`, :class:`Quaternion`, :class:`Vector`] ) |
| PyDoc_STRVAR | ( | Matrix_determinant_doc | , |
| ".. method:: determinant()\n" "\n" " Return the determinant of a matrix.\n" "\n" " :return: Return the determinant of a matrix.\n" " :rtype: float\n" "\n" " .. seealso:: `Determinant <https://en.wikipedia.org/wiki/Determinant>`__ on Wikipedia.\n" | ) |
| PyDoc_STRVAR | ( | matrix_doc | , |
| ".. class:: Matrix([rows])\n" "\n" " This object gives access to Matrices in | Blender, | ||
| supporting square and rectangular\n" " matrices from 2x2 up to 4x4.\n" "\n" " :arg rows:Sequence of rows. When | omitted, | ||
| a 4x4 identity matrix is constructed.\n" " :type rows:Sequence]\n" | [Sequence[float] ) |
| PyDoc_STRVAR | ( | Matrix_identity_doc | , |
| ".. method:: identity()\n" "\n" " Set the matrix to the identity matrix.\n" "\n" " .. note:: An object with a location and rotation of | zero, | ||
| and a scale of one\n" " will have an identity matrix.\n" "\n" " .. seealso::`Identity matrix< https://en.wikipedia.org/wiki/Identity_matrix >`__ " "on Wikipedia.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_invert_doc | , |
| ".. method:: invert(fallback=None)\n" "\n" " Set the matrix to its inverse.\n" "\n" " :arg fallback: Set the matrix to this value when the inverse cannot be calculated\n" " (instead of raising a :exc:`ValueError` exception).\n" " :type fallback: :class:`Matrix`\n" "\n" " .. seealso:: `Inverse matrix <https://en.wikipedia.org/wiki/Inverse_matrix>`__ on " "Wikipedia.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_invert_safe_doc | , |
| ".. method:: invert_safe()\n" "\n" " Set the matrix to its | inverse, | ||
| will never error.\n" " If | degeneratede.g. zero scale on an axis, | ||
| add some epsilon to its | diagonal, | ||
| " "to get an invertible one.\n" " If tweaked matrix is still | degenerated, | ||
| set to the identity matrix instead.\n" "\n" " .. seealso::`Inverse Matrix< https://en.wikipedia.org/wiki/Inverse_matrix >`__ on " "Wikipedia.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_inverted_doc | , |
| ".. method:: inverted(fallback=None)\n" "\n" " Return an inverted copy of the matrix.\n" "\n" " :arg fallback: return this when the inverse can't be calculated\n" " (instead of raising a :exc:`ValueError`).\n" " :type fallback: Any\n" " :return: The inverted matrix or fallback when given.\n" " :rtype: :class:`Matrix` | Any\n" | ) |
| PyDoc_STRVAR | ( | Matrix_inverted_safe_doc | , |
| ".. method:: inverted_safe()\n" "\n" " Return an inverted copy of the | matrix, | ||
| will never error.\n" " If | degeneratede.g. zero scale on an axis, | ||
| add some epsilon to its | diagonal, | ||
| " "to get an invertible one.\n" " If tweaked matrix is still | degenerated, | ||
| return the identity matrix instead.\n" "\n" " :return:the inverted matrix.\n" " :rtype::class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_is_identity_doc | , |
| "True if this is an identity matrix (read-only).\n" "\n" ":type: bool" | ) |
| PyDoc_STRVAR | ( | Matrix_is_negative_doc | , |
| "True if this matrix results in a negative | scale, | ||
| 3x3 and 4x4 | only, | ||
| " "(read-only).\n" "\n" ":type:bool" | ) |
| PyDoc_STRVAR | ( | Matrix_is_orthogonal_axis_vectors_doc | , |
| "True if this matrix has got orthogonal axis | vectors, | ||
| 3x3 and 4x4 | only, | ||
| " "(read-only).\n" "\n" ":type:bool" | ) |
| PyDoc_STRVAR | ( | Matrix_is_orthogonal_doc | , |
| "True if this matrix is | orthogonal, | ||
| 3x3 and 4x4 | only, | ||
| (read-only).\n" "\n" ":type:bool" | ) |
| PyDoc_STRVAR | ( | Matrix_lerp_doc | , |
| ".. function:: lerp(other, factor)\n" "\n" " Returns the interpolation of two matrices. Uses polar | decomposition, | ||
| see" " \"Matrix Animation and Polar Decomposition\" | , | ||
| Shoemake and | Duff, | ||
| 1992.\n" "\n" " :arg other:value to interpolate with.\n" " :type other::class:`Matrix`\n" " :arg factor:The interpolation value in .\n" " :type factor:float\n" " :return:The interpolated matrix.\n" " :rtype::class:`Matrix`\n" | [0.0, 1.0] ) |
| PyDoc_STRVAR | ( | Matrix_median_scale_doc | , |
| "The average scale applied to each axis (read-only).\n" "\n" ":type: float" | ) |
| PyDoc_STRVAR | ( | Matrix_normalize_doc | , |
| ".. method:: normalize()\n" "\n" " Normalize each of the matrix columns.\n" "\n" " .. note:: for 4x4 | matrices, | ||
| the 4th column(translation) is left untouched.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_normalized_doc | , |
| ".. method:: normalized()\n" "\n" " Return a column normalized matrix\n" "\n" " :return: a column normalized matrix\n" " :rtype: :class:`Matrix`\n" "\n" " .. note:: for 4x4 | matrices, | ||
| the 4th column(translation) is left untouched.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_resize_4x4_doc | , |
| ".. method:: resize_4x4()\n" "\n" " Resize the matrix to 4x4.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_rotate_doc | , |
| ".. method:: rotate(other)\n" "\n" " Rotates the matrix by another mathutils value.\n" "\n" " :arg other: rotation component of mathutils value\n" " :type other: :class:`Euler` | :class:`Quaternion` | :class:`Matrix`\n" "\n" " .. note:: If any of the columns are not unit length this may not have desired results.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_row_doc | , |
| "Access the matrix by rows | default, | ||
| (read-only).\n" "\n" ":type:Matrix Access" | ) |
| PyDoc_STRVAR | ( | Matrix_to_2x2_doc | , |
| ".. method:: to_2x2()\n" "\n" " Return a 2x2 copy of this matrix.\n" "\n" " :return: a new matrix.\n" " :rtype: :class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_to_3x3_doc | , |
| ".. method:: to_3x3()\n" "\n" " Return a 3x3 copy of this matrix.\n" "\n" " :return: a new matrix.\n" " :rtype: :class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_to_4x4_doc | , |
| ".. method:: to_4x4()\n" "\n" " Return a 4x4 copy of this matrix.\n" "\n" " :return: a new matrix.\n" " :rtype: :class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_to_euler_doc | , |
| ".. method:: to_euler(order, euler_compat)\n" "\n" " Return an Euler representation of the rotation matrix\n" " (3x3 or 4x4 matrix only).\n" "\n" " :arg order: Optional rotation order argument in\n" " .\n" " :type order: str\n" " :arg euler_compat: Optional euler argument the new euler will be made\n" " compatible with (no axis flipping between them).\n" " Useful for converting a series of matrices to animation curves.\n" " :type euler_compat: :class:`Euler`\n" " :return: Euler representation of the matrix.\n" " :rtype: :class:`Euler`\n" | [ 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX'] ) |
| PyDoc_STRVAR | ( | Matrix_to_quaternion_doc | , |
| ".. method:: to_quaternion()\n" "\n" " Return a quaternion representation of the rotation matrix.\n" "\n" " :return: Quaternion representation of the rotation matrix.\n" " :rtype: :class:`Quaternion`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_to_scale_doc | , |
| ".. method:: to_scale()\n" "\n" " Return the scale part of a 3x3 or 4x4 matrix.\n" "\n" " :return: Return the scale of a matrix.\n" " :rtype: :class:`Vector`\n" "\n" " .. note:: This method does not return a negative scale on any axis because it is " "not possible to obtain this data from the matrix alone.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_to_translation_doc | , |
| ".. method:: to_translation()\n" "\n" " Return the translation part of a 4 row matrix.\n" "\n" " :return: Return the translation of a matrix.\n" " :rtype: :class:`Vector`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_translation_doc | , |
| "The translation component of the matrix.\n" "\n" ":type: :class:`Vector`" | ) |
| PyDoc_STRVAR | ( | Matrix_transpose_doc | , |
| ".. method:: transpose()\n" "\n" " Set the matrix to its transpose.\n" "\n" " .. seealso:: `Transpose <https://en.wikipedia.org/wiki/Transpose>`__ on Wikipedia.\n" | ) |
| PyDoc_STRVAR | ( | Matrix_transposed_doc | , |
| ".. method:: transposed()\n" "\n" " Return a | new, | ||
| transposed matrix.\n" "\n" " :return:a transposed matrix\n" " :rtype::class:`Matrix`\n" | ) |
| PyDoc_STRVAR | ( | Matrix_zero_doc | , |
| ".. method:: zero()\n" "\n" " Set all the matrix values to zero.\n" | ) |
| Mathutils_Callback mathutils_matrix_col_cb |
Definition at line 499 of file mathutils_Matrix.cc.
Referenced by PyInit_mathutils().
| uchar mathutils_matrix_col_cb_index = -1 |
Definition at line 412 of file mathutils_Matrix.cc.
Referenced by Matrix_item_col(), and PyInit_mathutils().
| Mathutils_Callback mathutils_matrix_row_cb |
Definition at line 397 of file mathutils_Matrix.cc.
Referenced by PyInit_mathutils().
| uchar mathutils_matrix_row_cb_index = -1 |
Definition at line 318 of file mathutils_Matrix.cc.
Referenced by Matrix_item_row(), Matrix_slice(), and PyInit_mathutils().
| Mathutils_Callback mathutils_matrix_translation_cb |
Definition at line 583 of file mathutils_Matrix.cc.
Referenced by PyInit_mathutils().
| uchar mathutils_matrix_translation_cb_index = -1 |
Definition at line 516 of file mathutils_Matrix.cc.
Referenced by Matrix_translation_get(), and PyInit_mathutils().
| PyTypeObject matrix_access_Type |
Definition at line 3907 of file mathutils_Matrix.cc.
Referenced by MatrixAccess_CreatePyObject(), and PyInit_mathutils().
|
static |
Definition at line 3056 of file mathutils_Matrix.cc.
|
static |
Definition at line 3309 of file mathutils_Matrix.cc.
|
static |
Definition at line 3376 of file mathutils_Matrix.cc.
|
static |
Definition at line 3062 of file mathutils_Matrix.cc.
|
static |
Definition at line 3043 of file mathutils_Matrix.cc.
| PyTypeObject matrix_Type |
Definition at line 3463 of file mathutils_Matrix.cc.
Referenced by bpy_bmesh_transform(), Matrix_CreatePyObject(), Matrix_CreatePyObject_wrap(), Matrix_lerp(), and PyInit_mathutils().
|
static |
Definition at line 3895 of file mathutils_Matrix.cc.