Remove copy method from drawable
This commit is contained in:
@@ -45,8 +45,6 @@ namespace OpenVulkano::Scene
|
||||
|
||||
void SetShader(Shader* shader) { m_shader = shader; }
|
||||
|
||||
[[nodiscard]] virtual Drawable* Copy() = 0;
|
||||
|
||||
[[nodiscard]] Scene* GetScene() const { return m_scene; }
|
||||
|
||||
[[nodiscard]] const auto& GetNodes() const { return m_nodes; }
|
||||
|
||||
@@ -125,10 +125,9 @@ namespace OpenVulkano::Scene
|
||||
for (auto& drawable : drawables)
|
||||
{
|
||||
Scene* drawableScene = drawable->GetScene();
|
||||
if(drawableScene && drawableScene != scene)
|
||||
if(drawableScene && drawableScene != scene) [[unlikely]]
|
||||
{
|
||||
Logger::SCENE->warn("Drawable is already associated with a scene! Creating copy.");
|
||||
drawable = drawable->Copy();
|
||||
throw std::runtime_error("Drawable is already associated with a scene! Creating copy.");
|
||||
}
|
||||
drawable->SetScene(scene);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,5 @@ namespace OpenVulkano::Scene
|
||||
GridDrawable();
|
||||
|
||||
[[nodiscard]] Shader& GetShader() { return m_shader; }
|
||||
|
||||
[[nodiscard]] Drawable* Copy() override { return new GridDrawable(); }
|
||||
};
|
||||
}
|
||||
@@ -39,8 +39,6 @@ namespace OpenVulkano::Scene
|
||||
|
||||
void Init(SimpleDrawable* drawable);
|
||||
|
||||
[[nodiscard]] Drawable* Copy() override { return new SimpleDrawable(this); }
|
||||
|
||||
[[nodiscard]] Geometry* GetMesh() const { return m_mesh; }
|
||||
|
||||
[[nodiscard]] Material* GetMaterial() const { return m_material; }
|
||||
|
||||
Reference in New Issue
Block a user