Files
directx-plane-game/Graphics2/ObjectNode.h
iDunnoDev 616f68bf8b Added Comments
Added ability to hold shift and skip the terrain generation when loading
Added ability for the perlin terrain to save a raw image of the terrain to use as a cache
2022-06-13 16:41:25 +01:00

46 lines
1.3 KiB
C++

#pragma once
#include "DirectXCore.h"
// The object node contains all of the methods and variables needed to move a node using pitch, yaw, roll, and the directions
// It should be inherited by another node so that it doesnt interupt with the normal rendering functions and saves us having to
// duplicate code for every time, it also allows the child classes to be accessed by the ObjectNode type when needed
class ObjectNode
{
public:
ObjectNode();
void Update(XMFLOAT4X4& currentWorldTransform);
XMVECTOR GetNodePosition();
void SetNodePosition(XMVECTOR vectorIn);
void SetNodePosition(XMFLOAT4 floatIn);
void SetNodePosition(float x, float y, float z);
void SetPitch(float pitch);
void SetTotalPitch(float pitch);
float GetPitch() const;
void SetYaw(float yaw);
void SetTotalYaw(float yaw);
float GetYaw() const;
void SetRoll(float roll);
void SetTotalRoll(float roll);
float GetRoll() const;
void SetLeftRight(float leftRight);
float GetLeftRight() const;
void SetForwardBack(float forwardBack);
float GetForwardBack() const;
void SetStartOrientation(FXMMATRIX originalOrientation);
protected:
XMFLOAT4 _nodeRootPosition;
float _moveLeftRight;
float _moveForwardBack;
float _nodeYaw;
float _nodePitch;
float _nodeRoll;
XMFLOAT4X4 _originalOrientation;
};