载入中...
搜索中...
未找到
PhysicsEditingProvider.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
7
8#include <memory>
9#include <string>
10
11namespace eve::physics_editing {
12
15public:
17 virtual ~IPhysicsEditingFactory() = default;
26 [[nodiscard]] virtual std::unique_ptr<PhysicsColliderPublishingTarget> createCollider(
27 std::string id, int dimensions, IPhysicsColliderRuntimeSink* sink) const = 0;
29 static editing::CapabilityId capabilityId() { return editing::CapabilityId("physics.editing.factory"); }
30};
31
40
41} // namespace eve::physics_editing
#define EVENGINE_API_DOMAINS
Definition Export.h:110
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
Thread-safe generation-qualified registry for editing extension providers.
Atomic runtime publication boundary for a complete collider candidate.
Open capability for constructing collider authoring targets without editor type switches.
static editing::CapabilityId capabilityId()
Return the stable capability id used with ProviderLease::query().
virtual std::unique_ptr< PhysicsColliderPublishingTarget > createCollider(std::string id, int dimensions, IPhysicsColliderRuntimeSink *sink) const =0
Create an independently owned collider publishing target.
virtual ~IPhysicsEditingFactory()=default
Releases IPhysicsEditingFactory resources.
StrongId< CapabilityIdTag > CapabilityId
Definition EditingIds.h:61
editing::Result< editing::ProviderHandle > registerEditingProvider(editing::ExtensionProviderRegistry &registry)
Publish the physics editing factory into a host-owned extension registry.