summaryrefslogtreecommitdiff
path: root/assetFactory/object.h
blob: f3726c734a92dac94954f6801811e1ddbd74954a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "persistence.h"
#include "shape.h"
#include "stdTypeDefs.hpp"
#include "use.h"

class Object : public StdTypeDefs<Object>, public Shape, public Persistence::Persistable {
public:
	Object() = default;
	Object(std::string i);

	CreatedFaces createMesh(ModelFactoryMesh & mesh, const Mutation::Matrix & mutation) const override;

	Use::Collection uses;
	std::string id;

private:
	friend Persistence::SelectionPtrBase<std::shared_ptr<Object>>;
	bool persist(Persistence::PersistenceStore & store) override;
	std::string
	getId() const override
	{
		return id;
	};
};