Clean project structure.

This commit is contained in:
jmsgrogan 2023-01-17 10:13:25 +00:00
parent 78a4fa99ff
commit 947bf937fd
496 changed files with 206 additions and 137 deletions

View file

@ -1,46 +0,0 @@
#pragma once
#include "MaterialNode.h"
struct SceneInfo;
class SceneModel;
class GeometryNode : public MaterialNode
{
public:
enum class Type
{
Path,
Rectangle,
Circle,
Arc,
Line
};
public:
GeometryNode(const Point& location);
virtual ~GeometryNode();
virtual Type getType() = 0;
SceneItem* getSceneItem(std::size_t idx) const override;
std::size_t getNumSceneItems() const override;
double getStrokeThickness() const;
void setStrokeThickness(double thickness);
void update(SceneInfo* sceneInfo) override;
protected:
virtual void createOrUpdateGeometry(SceneInfo* sceneInfo) = 0;
virtual void updateMaterial();
virtual void updateTransform() = 0;
double mStrokeThickness{0};
Type mType;
bool mGeometryIsDirty{true};
std::unique_ptr<SceneModel> mBackgroundItem;
};
using GeometryNodePtr = std::unique_ptr<GeometryNode>;