载入中...
搜索中...
未找到
SmrNeuralProvider.cpp
浏览该文件的文档.
11std::string SmrNeuralProvider::name() const { return loadedPath_.empty() ? "tensor-meshret" : "onnx"; }
37Result<SmrNeuralResult> SmrNeuralProvider::applyRot6d(const SmrNeuralRequest& request, const SmrFeatureBatch& features,
46 Diagnostic::error(DiagnosticCode::InvariantViolation, "SmrNeuralProvider: rot6d size mismatch"));
73 if (!request.sourceClip || !request.targetClip || !request.sourceSkeleton || !request.targetSkeleton ||
76 Diagnostic::error(DiagnosticCode::InvalidArgument, "SmrNeuralProvider.retarget: null argument"));
79 SmrFeatureBatch features = buildSmrFeatures(*request.sourceClip, request.sourceSkeleton, request.targetSkeleton,
84 backendHint == "onnx" || (backendHint != "tensor" && !request.profile->getNeuralModelPath().empty());
Stable, structured diagnostics shared by engine modules.
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
bool ok() const noexcept
Whether this result represents a non-failure outcome.
Definition Result.h:480
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Settings and diagnostics for offline skeletal animation retargeting.
Definition AnimClip.h:27
const std::string & getNeuralBackend() const
Return the neural backend hint.
Definition AnimClip.h:102
const std::string & getNeuralModelPath() const
Return the configured neural model path (may be empty).
Definition AnimClip.h:88
bool getNeuralRetargetEnabled() const
Return whether neural retarget is preferred when a provider is available.
Definition AnimClip.h:95
Result< std::vector< float > > forward(const SmrFeatureBatch &features) const
Owning target rot6d [T*J*6], or structured failure.
Definition SmrMeshRetNet.cpp:196
Result< SmrNeuralResult > retarget(const SmrNeuralRequest &request) override
Run inference and rewrite request.targetClip local rotations. @lifetime See SmrNeuralRequest; pointer...
Definition SmrNeuralProvider.cpp:72
bool isReady(const AnimRetargetProfile *profile) const override
True when ONNX is loadable for the profile path, or builtin MeshRet is usable.
Definition SmrNeuralProvider.cpp:13
Result< std::vector< float > > run(const SmrFeatureBatch &features) const
Run.
Definition SmrOnnxRunner.cpp:54
Definition Animation.cpp:58
SmrFeatureBatch buildSmrFeatures(const AnimClip &sourceClip, const AnimSkeleton *sourceSkeleton, const AnimSkeleton *targetSkeleton, const AnimSkin *, const AnimSkin *, int ringsPerBone, int pointsPerRing)
Build dense SCS + DMI tensors from skeletons/clip (no tensor headers).
Definition SmrFeatures.cpp:129
void rot6dToQuat(const float in[6], float &qx, float &qy, float &qz, float &qw)
Convert rotation-6D back to a unit quaternion.
Definition SmrFeatures.cpp:66
@ InvalidArgument
@ PreconditionViolation
@ InvariantViolation
Packed MeshRet-style features for one retarget inference window.
Definition SmrFeatures.h:15
Inputs for neural MeshRet-style skinned motion retarget.
Definition AnimSmrNeural.h:20