vtkmodules.util.matrix#

Pythonic interface for vtkMatrix3x3 and vtkMatrix4x4.

Adds natural indexing, arithmetic, and comparison operators::

m = vtkMatrix4x4([[1,0,0,1],[0,1,0,2],[0,0,1,3],[0,0,0,1]])
m[0, 3]            # 1.0
m[0, 3] = 5.0      # SetElement(0, 3, 5.0)
m[1]               # array([1., 0., 0., 0.]) — row as numpy array
m[1] = [0,0,0,0]   # set entire row
m[1:3]             # 2x4 numpy array (row slice)
m[0, 1:3]          # array([0., 0.]) (column slice of a row)
m[1:3, 2]          # array([0., 0.]) (row slice of a column)
m[1:3, 1:3]        # 2x2 numpy submatrix
len(m)             # 4
result = m @ other  # matrix multiply
inv = ~m            # invert

Module Contents#

Classes#

_MatrixMixin

Shared implementation for vtkMatrix3x3 and vtkMatrix4x4 overrides.

Matrix3x3

Matrix4x4

API#

class vtkmodules.util.matrix._MatrixMixin(*args, **kwargs)#

Shared implementation for vtkMatrix3x3 and vtkMatrix4x4 overrides.

Initialization

_init_from_data(data)#

Populate from nested list/tuple or flat sequence.

_normalize_index(index, axis='row')#
_resolve_indices(key)#

Return (rows, cols) where each is an int or list of ints.

_to_indices(key, axis)#
__getitem__(key)#
__setitem__(key, value)#
__len__()#
__eq__(other)#
__ne__(other)#
__matmul__(other)#
__invert__()#
__repr__()#
class vtkmodules.util.matrix.Matrix3x3(*args, **kwargs)#

Bases: vtkmodules.util.matrix._MatrixMixin, vtkmodules.vtkCommonMath.vtkMatrix3x3

_size#

3

_multiply#

‘staticmethod(…)’

class vtkmodules.util.matrix.Matrix4x4(*args, **kwargs)#

Bases: vtkmodules.util.matrix._MatrixMixin, vtkmodules.vtkCommonMath.vtkMatrix4x4

_size#

4

_multiply#

‘staticmethod(…)’