stuff-from-scratch/src/rendering/visual_elements/nodes/MeshNode.h
2023-01-19 17:37:26 +00:00

29 lines
607 B
C++

#pragma once
#include "MaterialNode.h"
class SceneModel;
class AbstractMesh;
class MeshNode : public MaterialNode
{
public:
MeshNode(const Transform& transform);
void setMesh(AbstractMesh* mesh);
SceneItem* getSceneItem(std::size_t idx) const override;
std::size_t getNumSceneItems() const override;
void setWidth(double width);
void setHeight(double height);
void update(SceneInfo* sceneInfo) override;
private:
bool mMeshIsDirty{true};
AbstractMesh* mWorkingMesh{nullptr};
double mWidth{1};
double mHeight{1};
std::unique_ptr<SceneModel> mModel;
};