#include "C_Object.h" using namespace DanBias::Client; void C_Object::Init(ModelInitData modelInit) { position = modelInit.position; rotation = modelInit.rotation; scale = modelInit.scale; updateWorld(); } void C_Object::updateWorld() { Oyster::Math3D::Float4x4 translation = Oyster::Math3D::TranslationMatrix(this->position); Oyster::Math3D::Float4x4 rot = Oyster::Math3D::RotationMatrix(this->rotation); //Oyster::Math3D::Float4x4 scale = Oyster::Math3D::; Oyster::Math3D::Float4x4 scale = Oyster::Math3D::Matrix::identity; scale.v[0].x = this->scale[0]; scale.v[1].y = this->scale[1]; scale.v[2].z = this->scale[2]; world = translation * rot * scale; } void C_Object::setWorld(Oyster::Math::Float4x4 world) { } Oyster::Math::Float4x4 C_Object::getWorld() const { return world; } void C_Object::setPos(Oyster::Math::Float3 newPos) { this->position = newPos; updateWorld(); } void C_Object::addPos(Oyster::Math::Float3 deltaPos) { this->position += deltaPos; updateWorld(); } Oyster::Math::Float3 C_Object::getPos() const { return this->position; } void C_Object::setRot(Oyster::Math::Quaternion newRot) { this->rotation = newRot; updateWorld(); } void C_Object::addRot(Oyster::Math::Quaternion deltaRot) { this->rotation += deltaRot; updateWorld(); } Oyster::Math::Quaternion C_Object::getRotation() const { return this->rotation; } void C_Object::setScale(Oyster::Math::Float3 newScale) { this->scale = newScale; updateWorld(); } void C_Object::addScale(Oyster::Math::Float3 deltaScale) { this->scale += deltaScale; updateWorld(); } Oyster::Math::Float3 C_Object::getScale() const { return this->scale; }