stuff-from-scratch/src/rendering/visual_elements/nodes/MeshNode.h
2023-01-17 10:13:25 +00:00

28 lines
584 B
C++

#pragma once
#include "MaterialNode.h"
class AbstractMesh;
class MeshNode : public MaterialNode
{
public:
MeshNode(const Point& location);
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;
};