载入中...
搜索中...
未找到
EditorSimulationPreview.cpp
浏览该文件的文档.
11 return eve::editing::failed<void>(EditorStatus::Rejected, RuleId("editor.simulation.invalid-fixed-delta"),
17Result<SimulationPreviewFrame> SimulationPreviewController::advance(IEditorSimulationBackend& backend,
31 if (std::any_of(std::begin(values), std::end(values), [](double value) { return !std::isfinite(value); }))
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
Cloneable backend boundary for physics/crowd/fluid editor simulation previews.
Definition EditorSimulationPreview.h:38
virtual Result< void > step(std::uint64_t tick, double fixedDelta)=0
Advance exactly one fixed deterministic step.
virtual std::unique_ptr< IEditorSimulationBackend > cloneForPreview() const =0
Clone complete simulation state so preview never mutates the live world.
virtual Result< std::vector< SimulationObjectSample > > capture() const =0
Capture stable object transforms after the current step.
Result< SimulationPreviewFrame > singleStep(const IEditorSimulationBackend &source)
Advance one step even while paused, without mutating the live backend.
Definition EditorSimulationPreview.cpp:42
Result< void > setFixedDelta(double seconds)
Set the fixed preview delta in seconds.
Definition EditorSimulationPreview.cpp:9
void rewind()
Reset preview clock and discard the isolated preview clone.
Definition EditorSimulationPreview.cpp:53
SimulationBakeResult bake(const IEditorSimulationBackend &source, std::uint64_t sourceRevision, int steps, int maxSteps=10000) const
Bake a bounded non-destructive trajectory from a fresh source clone.
Definition EditorSimulationPreview.cpp:67
Result< SimulationPreviewFrame > update(const IEditorSimulationBackend &source)
Advance only when unpaused. Paused calls return NoOp.
Definition EditorSimulationPreview.cpp:58
Diagnostic ruleDiagnostic(eve::DiagnosticCode code, RuleId rule, DiagnosticSeverity severity, std::string message)
Build a common diagnostic carrying an open editing rule identity.
Definition EditingResult.h:25
Definition ActionPreviewController.cpp:6
@ InvalidArgument
@ Unsupported
Non-destructive baked preview trajectory and diagnostics.
Definition EditorSimulationPreview.h:29
std::vector< SimulationPreviewFrame > frames
Definition EditorSimulationPreview.h:33
std::vector< EditorDiagnostic > diagnostics
Definition EditorSimulationPreview.h:34
std::uint64_t sourceRevision
Definition EditorSimulationPreview.h:31
double fixedDelta
Definition EditorSimulationPreview.h:32
One deterministic editor-preview simulation frame.
Definition EditorSimulationPreview.h:22