2#include "Core/Engine/Components/Common.h"
4#define NUI_NODISCARD_TRANSFROM_GETTER [[nodiscard("Cannot discard return value of Transform getter functions")]]
6namespace Nui::Components
25 Transform(Math::Vector3 position, Math::Quaternion rotation = Math::Quaternion::Identity, Math::Vector3 scale = Math::Vector3::One);
64 NUI_NODISCARD_TRANSFROM_GETTER inline const Math::Quaternion&
GetRotation()
const {
return m_rotation; }
70 NUI_NODISCARD_TRANSFROM_GETTER
inline Math::Quaternion
GetRotation() {
return m_rotation; }
76 NUI_NODISCARD_TRANSFROM_GETTER
inline const Math::Vector3&
GetPosition()
const {
return m_position; }
82 NUI_NODISCARD_TRANSFROM_GETTER
inline Math::Vector3
GetPosition() {
return m_position; }
88 NUI_NODISCARD_TRANSFROM_GETTER
inline const Math::Vector3&
GetScale()
const {
return m_scale; }
94 NUI_NODISCARD_TRANSFROM_GETTER
inline Math::Vector3
GetScale() {
return m_scale; }
100 NUI_NODISCARD_TRANSFROM_GETTER
inline Math::Matrix
GetWorldMatrix()
const {
return m_worldMat; }
106 [[noreturn]]
void SetRotation(
const Math::Quaternion& rotation);
112 [[noreturn]]
void SetPosition(
const Math::Vector3& position);
118 [[noreturn]]
void SetScale(
const Math::Vector3& scale);
129 Math::Quaternion m_rotation;
134 Math::Vector3 m_position;
139 Math::Vector3 m_scale;
144 Math::Matrix m_worldMat;
148#undef NUI_NODISCARD_TRANSFROM_GETTER
Base class for all components.
Definition Common.h:23