pynbody.transformation.GenericTranslation#

class pynbody.transformation.GenericTranslation(f, arname, shift, description=None)[source]#

Bases: Transformation

A translation on a specified array of a simulation

Methods

apply_inverse_to(f)

Apply the inverse of this transformation to a specified simulation.

apply_to(f)

Apply this transformation to a specified simulation.

apply_transformation_to_array(array_name, family)

Apply the current transformation to an array.

current_transformation()

Return the transformation that has been applied to this object, if any.

offset_velocity(offset)

Shift the velocity by the given offset.

revert()

Revert the transformation.

rotate(matrix[, description])

Rotates using a specified matrix.

rotate_x(angle)

Rotates about the current x-axis by 'angle' degrees.

rotate_y(angle)

Rotates about the current y-axis by 'angle' degrees.

rotate_z(angle)

Rotates about the current z-axis by 'angle' degrees.

transform(matrix)

Deprecated alias for rotate().

translate(offset)

Translate by the given offset.

__init__(f, arname, shift, description=None)[source]#

Initialise a translation on a named array

Parameters:
  • f (Transformable) – The transformable to act on

  • arname (str) – The name of the array to translate

  • shift (array_like) – The shift to apply

  • description (str) – A description of the translation to be returned from str() and repr()

apply_inverse_to(f)#

Apply the inverse of this transformation to a specified simulation.

Chained transformations are applied recursively.

Parameters:

f (SimSnap) – The simulation to apply the transformation to

Returns:

The input simulation (not a copy)

Return type:

SimSnap

apply_to(f: snapshot.SimSnap) snapshot.SimSnap#

Apply this transformation to a specified simulation.

Chained transformations are applied recursively.

Parameters:

f (SimSnap) – The simulation to apply the transformation to. Any simulation reference stored within the transformation itself is ignored

Returns:

The input simulation (not a copy)

Return type:

SimSnap

apply_transformation_to_array(array_name, family)#

Apply the current transformation to an array.

This is used internally by the snapshot class to ensure that arrays are transformed when they are loaded.

Parameters:
  • array_name (str) – The name of the array to transform

  • family (pynbody.family.Family | None) – The family to which the array belongs, or None if it is a snapshot-level array (default)

current_transformation() Transformation | None#

Return the transformation that has been applied to this object, if any.

offset_velocity(offset)#

Shift the velocity by the given offset.

Returns a pynbody.transformation.GenericTranslation object which can be used as a context manager to ensure that the velocity shift is undone.

For more information, see the pynbody.transformation documentation.

revert()#

Revert the transformation. If it has not been applied, a TransformationException is raised.

rotate(matrix, description=None)#

Rotates using a specified matrix.

Returns a pynbody.transformation.Rotation object which can be used as a context manager to ensure that the translation is undone.

For more information, see the pynbody.transformation documentation.

Parameters:
  • matrix (array_like) – The 3x3 orthogonal matrix to rotate by

  • description (str) – A description of the rotation to be returned from str() and repr()

rotate_x(angle)#

Rotates about the current x-axis by ‘angle’ degrees.

Returns a pynbody.transformation.Rotation object which can be used as a context manager to ensure that the rotation is undone.

For more information, see the pynbody.transformation documentation.

rotate_y(angle)#

Rotates about the current y-axis by ‘angle’ degrees.

Returns a pynbody.transformation.Rotation object which can be used as a context manager to ensure that the rotation is undone.

For more information, see the pynbody.transformation documentation.

rotate_z(angle)#

Rotates about the current z-axis by ‘angle’ degrees.

Returns a pynbody.transformation.Rotation object which can be used as a context manager to ensure that the rotation is undone.

For more information, see the pynbody.transformation documentation.

transform(matrix)#

Deprecated alias for rotate().

translate(offset)#

Translate by the given offset.

Returns a pynbody.transformation.GenericTranslation object which can be used as a context manager to ensure that the translation is undone.

For more information, see the pynbody.transformation documentation.