File scene_factory.h
File List > core > scene_factory.h
Go to the documentation of this file
#pragma once
#include <uipc/core/scene.h>
#include <uipc/core/scene_snapshot.h>
#include <uipc/geometry/attribute_collection_factory.h>
namespace uipc::core
{
class UIPC_CORE_API SceneFactory
{
class Impl;
public:
SceneFactory();
~SceneFactory();
[[nodiscard]] Scene from_snapshot(const SceneSnapshot& snapshot);
[[nodiscard]] SceneSnapshot from_json(const Json& j);
[[nodiscard]] Json to_json(const SceneSnapshot& scene);
[[nodiscard]] SceneSnapshotCommit commit_from_json(const Json& json);
[[nodiscard]] Json commit_to_json(const SceneSnapshotCommit& scene);
private:
U<Impl> m_impl;
};
} // namespace uipc::core