Class Transform

Class Documentation

class Transform

A transform defining position, rotation, and scale.

Public Functions

inline Transform(glm::vec3 position, glm::quat rotation, glm::vec3 scale)

Create a new transform.

Parameters:
  • position – Position relative to the parent

  • rotation – Rotation about the center expressed as a quaternion

  • scale – Scale from the center

inline Transform(glm::vec3 position, glm::vec3 rotation, glm::vec3 scale)

Create a new transform.

Parameters:
  • position – Position relative to the parent

  • rotation – Rotation about the center as Euler angles in degrees

  • scale – Scale from the center

inline Transform()

Create a default transform.

inline glm::vec3 GetPosition() const

Get the position.

Returns:

The position

inline glm::quat GetRotation() const

Get the rotation.

Returns:

The rotation

inline glm::vec3 GetRotationEuler() const

Get the rotation as Euler angles in degrees.

Returns:

The rotation as Euler angles

inline glm::vec3 GetScale() const

Get the scale.

Returns:

The scale

inline void SetPosition(glm::vec3 newPos)

Set the position.

Parameters:

newPos – The new position

inline void SetRotation(glm::quat newRot)

Set the rotation.

Parameters:

newRot – The new rotation

inline void SetRotationEuler(glm::vec3 newRot)

Set the rotation using Euler angles in degrees.

Parameters:

newRot – The new rotation in Euler angles

inline void SetScale(glm::vec3 newScale)

Set the scale.

Parameters:

newScale – The new scale

inline glm::mat4 GetTransformationMatrix() const

Get the matrix representing the applied transformations.

Returns:

The transformation matrix