class_docstr: 4x4 Transform matrix that can always be represented as a combination of 3 matrices: scale * rotate * translate
  This transform has no shear; angles are always preserved.
class_docstr_tok: ["4x4","Transform","matrix","that","can","always","be","represented","as","a","combination","of","3","matrices",":","scale","*","rotate","*","translate","This","transform","has","no","shear",";","angles","are","always","preserved","."]
code: def restoreState(self, state):
      self._state["pos"] = Vector(state.get("pos", (0.0, 0.0, 0.0)))
      scale = state.get("scale", (1.0, 1.0, 1.0))
      scale = tuple(scale) + (1.0,) * (3 - len(scale))
      self._state["scale"] = Vector(scale)
      self._state["angle"] = state.get("angle", 0.0)
      self._state["axis"] = state.get("axis", (0, 0, 1))
      self.update()
  
imports: from math import atan2, degrees
  import numpy
  from .Qt import QtGui
  from .Transform3D import Transform3D
  from .Vector import Vector
  from .None import SRTTransform
label_desc: Use image node_id 15 for calling the SRTTransform3D obj's underlying member method code with example usage: obj.restoreState(state) without return types