Skip to content

Commit

Permalink
Dont ignore MX variables
Browse files Browse the repository at this point in the history
  • Loading branch information
cmower committed Aug 20, 2024
1 parent f0f0ae9 commit eae2a89
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions spatial_casadi/spatial.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def __mul__(self, other):
p = self.as_quat()
q = other.as_quat()
r = _compose_quat(p, q)
return Rotation(r, normalize=not isinstance(r, casadi.SX))
return Rotation(r, normalize=not isinstance(r, (casadi.SX, casadi.MX)))

elif isinstance(other, Translation):
return Translation(self.as_matrix() @ other.as_vector())
Expand Down Expand Up @@ -135,7 +135,7 @@ def inv(self):
"""! Invert this rotation."""
return Rotation(
casadi.vertcat(self._quat[:-1], -self._quat[-1]),
normalize=not isinstance(self._quat, casadi.SX),
normalize=not isinstance(self._quat, (casadi.SX, casadi.MX)),
)

def magnitude(self):
Expand Down Expand Up @@ -175,7 +175,7 @@ def from_quat(quat: ArrayType, seq: str = "xyzw"):

quat_use = casadi.vertcat(x, y, z, w)

return Rotation(quat_use, normalize=not isinstance(quat, casadi.SX))
return Rotation(quat_use, normalize=not isinstance(quat, (casadi.SX, casadi.MX)))

@staticmethod
def from_matrix(matrix: ArrayType):
Expand Down Expand Up @@ -228,7 +228,7 @@ def alt_true_case(i, j, k):
),
)

return Rotation(quat, normalize=not isinstance(quat, casadi.SX))
return Rotation(quat, normalize=not isinstance(quat, (casadi.SX, casadi.MX)))

@staticmethod
def from_rotvec(rotvec: ArrayType, degrees: bool = False):
Expand Down Expand Up @@ -260,7 +260,7 @@ def from_rotvec(rotvec: ArrayType, degrees: bool = False):
casadi.cos(angle * 0.5),
)

return Rotation(quat, normalize=not isinstance(quat, casadi.SX))
return Rotation(quat, normalize=not isinstance(quat, (casadi.SX, casadi.MX)))

@staticmethod
def from_mrp(mrp: ArrayType):
Expand All @@ -280,7 +280,7 @@ def from_mrp(mrp: ArrayType):
(2.0 - mrp_squared_plus_1) / mrp_squared_plus_1,
)

return Rotation(quat, normalize=not isinstance(mrp, casadi.SX))
return Rotation(quat, normalize=not isinstance(mrp, (casadi.SX, casadi.MX)))

@staticmethod
def from_euler(seq, angles, degrees=False):
Expand Down Expand Up @@ -323,7 +323,7 @@ def from_euler(seq, angles, degrees=False):

quat = _elementary_quat_compose(seq, angles, intrinsic)

return Rotation(quat, normalize=not isinstance(quat, casadi.SX))
return Rotation(quat, normalize=not isinstance(quat, (casadi.SX, casadi.MX)))

#
# As methods
Expand Down

0 comments on commit eae2a89

Please sign in to comment.