载入中...
搜索中...
未找到
ActionParameterCurve.cpp
浏览该文件的文档.
65Result<ActionParameterCurveBinding> ActionParameterCurveBinding::fromPayload(const Value::Object& payload) {
74 Diagnostic::error(DiagnosticCode::InvalidArgument, "parameter target must be a LogicalId", "target"));
81 Diagnostic::error(DiagnosticCode::InvalidArgument, "parameter operation is unknown", "operation"));
86 const auto* keys = foundKeys == payload.end() ? nullptr : foundKeys->second.getIf<Value::Array>();
89 Diagnostic::error(DiagnosticCode::InvalidArgument, "parameter curve requires 2 to 1024 keys", "keys"));
101 Diagnostic::error(DiagnosticCode::InvalidArgument, "parameter key requires time and value", path));
128 DiagnosticCode::InvalidArgument, "parameter interpolation is unknown", path + ".interpolation"));
135 Diagnostic::error(DiagnosticCode::InvalidArgument, "parameter curve endpoints must be at 0 and 1", "keys"));
Typed continuous parameter-curve action block.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
const std::string & format() const noexcept
Returns the canonical namespace:name representation.
Definition Identity.h:436
static std::optional< LogicalId > parse(std::string_view text)
Parses a scoped logical name.
Definition Identity.cpp:36
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Definition AbilityAsset.cpp:9
ActionParameterInterpolation
Interpolation used from one parameter key to the following key.
Definition ActionParameterCurve.h:18
std::optional< ActionParameterInterpolation > actionParameterInterpolationFromName(std::string_view value) noexcept
Parse a stable persisted interpolation spelling.
Definition ActionParameterCurve.cpp:51
std::string_view actionParameterOperationName(ActionParameterOperation value) noexcept
Stable persisted operation spelling.
Definition ActionParameterCurve.cpp:56
ActionParameterOperation
Composition operation applied by a target-specific parameter sink.
Definition ActionParameterCurve.h:21
std::string_view actionParameterInterpolationName(ActionParameterInterpolation value) noexcept
Stable persisted interpolation spelling.
Definition ActionParameterCurve.cpp:42
std::variant< std::monostate, std::int64_t, double, std::string, bool > Value
Definition Database.h:26
@ InvalidArgument
Validated owning continuous parameter binding.
Definition ActionParameterCurve.h:41
ActionParameterOperation operation
Composition operation applied at the target.
Definition ActionParameterCurve.h:45
static Result< ActionParameterCurveBinding > fromPayload(const Value::Object &payload)
Decode and validate target, operation and normalized ordered keys.
Definition ActionParameterCurve.cpp:65
Value::Object toPayload(Value::Object extensions={}) const
Encode the canonical fields while preserving unrelated extension fields.
Definition ActionParameterCurve.cpp:139
std::vector< ActionParameterKey > keys
Strictly ordered normalized keys, including endpoints 0 and 1.
Definition ActionParameterCurve.h:47
One normalized, owning parameter-curve key.
Definition ActionParameterCurve.h:24