I have the following two lines of code:
obj.matrix_world @= translation_matrix @ rotation_mat @ scale_matrix
and
obj.data.transform(translation_matrix @ rotation_mat @ scale_matrix)
They both work, and both appear to do exactly the same thing. Can somebody explain what the difference(s) between the two are?