载入中...
搜索中...
未找到
SceneImportTarget.h
浏览该文件的文档.
1#pragma once
2
3#include <string>
4#include <vector>
5#include "common/Export.h"
9namespace eve::sceneloader {
10class SceneLoader;
11}
13using namespace eve::editing;
17using editing::Result;
20 std::string sourceAsset;
21 std::string preset = "balanced";
22 bool triangulate = true, generateNormals = true, joinVertices = true, flipUvs = true, improveCache = true;
23 bool sharedMeshes = true, mipmaps = true, importLights = true, importCameras = false, importAnimations = true;
24};
27 public virtual IEditableTarget,
30 public IPropertyProvider {
31public:
33 explicit SceneImportTarget(std::string id);
35 TargetId targetId() const override { return TargetId(id_); }
37 TargetDescriptor describe() const override;
43 void* queryCapability(const CapabilityId&) override;
45 Result<void> applyDomainOperation(const DomainOperation&) override;
47 std::unique_ptr<IDomainOperationTarget> cloneDomainState() const override;
49 Result<void> commitDomainState(std::unique_ptr<IDomainOperationTarget>) override;
51 eve::Result<eve::Revision> currentRevision(const SelectionSnapshot&) const override;
53 PropertySchema schema(const SelectionSnapshot&) const override;
55 PropertyReadResult read(const SelectionSnapshot&, const PropertyPath&) const override;
58 PropertySetMode) const override;
60 Result<DomainOperation> makeReset(const SelectionSnapshot&, const PropertyPath&) const override;
62 const SceneImportValue& value() const { return value_; }
64 std::vector<EditorDiagnostic> validate() const;
66 EditorValue snapshotValue() const;
68 Result<void> loadSnapshot(const EditorValue&);
69
70private:
72 bool matches(const SelectionSnapshot&) const;
74 EditorValue contentValue() const;
75 std::string id_;
76 SceneImportValue value_;
77};
81 int nodes = 0, meshNodes = 0, added = 0, removed = 0, modified = 0, moved = 0;
82 std::vector<std::string> warnings, sockets, collisions;
83};
90} // namespace eve::sceneloader_editing
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
A structured explanation of a failed, degraded, or noteworthy result.
Definition Diagnostic.h:94
Move-only operation result carrying either a value or Status.
Definition Result.h:155
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
Dirty region and revision shared by every editable document target.
Optional candidate/publish capability for atomic domain operations.
Editable-target capability that applies owning domain operations.
IEditableTarget public API.
UI-independent property access for an immutable selection snapshot.
Dotted property path (layout.size) compared and persisted as text.
Definition EditingIds.h:78
Deterministic owning value tree shared by authoring hosts.
Loads a 3D scene (glTF / OBJ / FBX / GLB ... via Assimp/medialoader) into the ECS scene tree.
EVENGINE_API_ORCHESTRATION public API.
const SceneImportValue & value() const
Value.
TargetId targetId() const override
Target id.
std::uint64_t Revision
eve::Diagnostic Diagnostic
PropertySetMode
PropertySetMode public API.
eve::StatusCode Status
StatusCode
Stable outcome category for an operation.
Definition Status.h:27
DomainOperation public API.
PropertyReadResult public API.
EVENGINE_API_PLATFORM public API.
SelectionSnapshot public API.
Stable discovery metadata exposed by every editable target.
Renderer-neutral persisted scene importer settings.