42 lines
950 B
C++

//
// Created by Epagris on 2020. 03. 19..
//
#ifndef ENTITY
#define ENTITY
#include "Geometry.h"
#include "IHasDefault.h"
namespace eg3d {
// nagyítás, forgatás, eltolás
struct SRTProps : public IHasDefault {
XMFLOAT3 scaling; // nagyítás
XMFLOAT3 rotation; // forgatás
XMFLOAT3 translation; // pozíció
SRTProps(); // konstr.
void loadDefaults() override;
};
class Entity : public Geometry, public IHasDefault {
private:
DirectX::XMFLOAT4X4 mWorldMatrix; // világ-mátrix
SRTProps mSRTProps; // STR-tulajdonságok
void constructWorldMatrix(); // világ-mátrix újragenerálása
public:
Entity(const ComPtr<ID3D12Device> &device);
void loadDefaults() override;
void setEntitySRT(const SRTProps& srtProps); // SRT-tulajdonságok beállítása
SRTProps getEntitySRT() const; // SRT-tualjdonságok elkérése
};
}
#endif //ENTITY