Program Listing for File transformComponent.h
↰ Return to documentation for file (PrismEngine/src/transformComponent.h)
#pragma once
namespace prism {
namespace scene {
struct Position {
float x = 0;
float y = 0;
float z = 0;
Position& operator+=(const Position& other);
Position& operator-=(const Position& other);
Position operator-();
Position operator+(const Position& other) const;
Position operator-(const Position& other) const;
Position& operator*=(float scalar);
Position& operator/=(float scalar);
Position operator*(float scalar) const;
Position operator/(float scalar) const;
bool operator==(const Position& other) const;
bool operator!=(const Position& other) const;
};
struct Rotation {
float x = 0;
float y = 0;
float z = 0;
};
struct Scale {
float x = 1;
float y = 1;
float z = 1;
Scale& operator*=(const Scale& other);
Scale& operator/=(const Scale& other);
Scale& operator*=(float scalar);
Scale& operator/=(float scalar);
Scale operator*(const Scale& other) const;
Scale operator/(const Scale& other) const;
Scale operator*(float scalar) const;
Scale operator/(float scalar) const;
bool operator==(const Scale& other) const;
bool operator!=(const Scale& other) const;
};
struct TransformComponent
{
Position pos;
Rotation rot;
Scale scale;
};
}
}