From 07e2d5bc35aadd0db4cf31ef5a71ac19f06a42c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Wed, 26 May 2021 18:40:18 +0200 Subject: [PATCH] adding a true user-defined conversion operator --- CMakeLists.txt | 3 +-- sources/Models/Vector3.hpp | 4 +++- sources/System/Renderer/Renderer3DSystem.hpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 42a2ad8b..4efd04dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,8 +30,7 @@ set(SOURCES add_executable(bomberman sources/main.cpp - ${SOURCES} - sources/Models/Vector3.cpp) + ${SOURCES}) target_include_directories(bomberman PUBLIC sources) target_link_libraries(bomberman PUBLIC wal ray) diff --git a/sources/Models/Vector3.hpp b/sources/Models/Vector3.hpp index 0edd7a64..c35891f8 100644 --- a/sources/Models/Vector3.hpp +++ b/sources/Models/Vector3.hpp @@ -153,13 +153,15 @@ namespace BBM { return (point * this) / std::pow(this->magnitude(), 2) * this; } + + explicit operator RAY::Vector3() const { return {this->x, this->y, this->z };} }; typedef Vector3 Vector3f; typedef Vector3 Vector3u; typedef Vector3 Vector3i; - RAY::Vector3 operator*(const Vector3f &v); + } diff --git a/sources/System/Renderer/Renderer3DSystem.hpp b/sources/System/Renderer/Renderer3DSystem.hpp index 7e221edc..dd55e584 100644 --- a/sources/System/Renderer/Renderer3DSystem.hpp +++ b/sources/System/Renderer/Renderer3DSystem.hpp @@ -35,7 +35,7 @@ namespace BBM auto &comp = entity.getComponent>(); auto &pos = entity.getComponent(); - comp.member.setPosition(*pos.position); + comp.member.setPosition(static_cast(pos.position)); comp.member.drawOn(this->_window); }