From 180aad05decc7eefa87e4e45d6747c48f40e5361 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Mon, 17 Apr 2023 12:12:01 -0400 Subject: save --- .../Minecraft/Scene/Objects/Transform.java | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 src/main/java/net/tylermurphy/Minecraft/Scene/Objects/Transform.java (limited to 'src/main/java/net/tylermurphy/Minecraft/Scene/Objects/Transform.java') diff --git a/src/main/java/net/tylermurphy/Minecraft/Scene/Objects/Transform.java b/src/main/java/net/tylermurphy/Minecraft/Scene/Objects/Transform.java new file mode 100755 index 0000000..2da820f --- /dev/null +++ b/src/main/java/net/tylermurphy/Minecraft/Scene/Objects/Transform.java @@ -0,0 +1,59 @@ +package net.tylermurphy.Minecraft.Scene.Objects; + +import net.tylermurphy.Minecraft.Scene.World; +import org.joml.Vector3f; + +public class Transform { + + private Vector3f position = new Vector3f(0f, 0f, 0f); + private Vector3f rotation = new Vector3f(0f, 0f, 0f); + private float scale = 1.0f; + + public Transform setPosition(Vector3f position){ + this.position = position; + return this; + } + + public Transform setGlobalPosition(Vector3f position) { + this.position = new Vector3f( + position.x - World.world_origin.x(), + position.y, + position.z - World.world_origin.z() + ); + return this; + } + + public Transform increasePosition(float dx, float dy, float dz) { + this.position.x += dx; + this.position.y += dy; + this.position.z += dz; + return this; + } + + public Transform setRotation(Vector3f rotation){ + this.rotation = rotation; + return this; + } + + public Transform setScale(float scale){ + this.scale = scale; + return this; + } + + public Vector3f getPosition(){ + return position; + } + + public Vector3f getGlobalPosition() { + return new Vector3f(position.x+ World.world_origin.x(),position.y,position.z+ World.world_origin.z()); + } + + public Vector3f getRotation(){ + return rotation; + } + + public float getScale(){ + return scale; + } + +} -- cgit v1.2.3-freya