Signed, fixed-resolution simulation duration in nanoseconds. 更多...
#include <Time.h>
Public 成员函数 | |
| constexpr | Duration () noexcept=default |
| Construct a zero duration. | |
| constexpr | Duration (std::int64_t nanoseconds) noexcept |
| Construct a duration from exact nanoseconds. | |
| constexpr std::int64_t | nanoseconds () const noexcept |
| Return the exact signed nanosecond representation. | |
| double | seconds () const noexcept |
| Return this duration as seconds for legacy/presentation APIs. | |
| constexpr bool | isZero () const noexcept |
| Whether this duration is exactly zero. | |
| Result< Duration > | tryAdd (Duration other) const |
| Add two durations with overflow validation. | |
| Result< Duration > | scaled (double rate) const |
| Scale a duration by a finite non-negative rate. | |
静态 Public 成员函数 | |
| static constexpr Duration | fromNanoseconds (std::int64_t nanoseconds) noexcept |
| Construct an exact duration from nanoseconds. | |
| static constexpr Duration | zero () noexcept |
| Return zero duration. | |
| static Result< Duration > | fromSeconds (double seconds) |
| Convert finite seconds to the nearest nanosecond. | |
友元 | |
| constexpr bool | operator== (Duration, Duration) noexcept=default |
| constexpr auto | operator<=> (Duration, Duration) noexcept=default |
| Operator <=>. | |
详细描述
Signed, fixed-resolution simulation duration in nanoseconds.
The integer representation avoids accumulating binary floating-point frame error in deterministic state. Conversion from seconds validates finiteness and range and returns a checked Result.
构造及析构函数说明
◆ Duration() [1/2]
|
constexprdefaultnoexcept |
Construct a zero duration.
被这些函数引用 fromSeconds(), scaled() , 以及 tryAdd().
◆ Duration() [2/2]
|
inlineexplicitconstexprnoexcept |
成员函数说明
◆ fromNanoseconds()
|
inlinestaticconstexprnoexcept |
Construct an exact duration from nanoseconds.
被这些函数引用 eve::action::ActionTimeline::activeBlocks(), eve::action::ActionRuntime::advance(), eve::production::WorkQueue::advance(), eve::combat::HitFeelRuntime::advance(), eve::action::AbilityRuntime::advanceCooldowns(), eve::editor::ActionTimelineEditor::alignSelectionEnd(), eve::editor::ActionTimelineEditor::alignSelectionStart(), eve::combat::HitFeelRuntime::applyFromOutcome(), eve::production::WorkQueue::contribute(), eve::climbing::decodeClimbingActionDefinition(), eve::animation::MontagePlayer::evaluateSectionProgress(), eve::editor::ActionTimelinePayloadEditor::fitClipToBlock(), eve::action::ActionTimeline::fromValue(), eve::animation::MontagePlayer::jumpToTime(), eve::editor::ActionTimelineWidget::layout(), eve::editor::ActionTimelineWidget::pan(), eve::production::WorkQueue::predict(), eve::animation::MontagePlayer::present(), eve::animation::MontagePlayer::reloadClips(), eve::animation::MontagePlayer::replaceClip(), eve::climbing::ClimbingRuntime::restore(), eve::editor::ActionTimelineEditor::scaleSelection(), eve::SimulationClock::SimulationClock(), eve::timer::Timer::Timer() , 以及 eve::editor::ActionTimelineWidget::zoom().
◆ fromSeconds()
Convert finite seconds to the nearest nanosecond.
- 返回
- A checked duration, or Rejected for non-finite/out-of-range input.
引用了 Duration(), eve::Result< T >::failure(), maximum, minimum, nanoseconds(), seconds() , 以及 eve::Result< T >::success().
被这些函数引用 eve::particles_graphics_editing::ParticleEmitterOffscreenPresenter::draw(), eve::production::WorkQueue::enqueue(), eve::climbing::exposeClimbingMotionBindings(), eve::daynight::exposeSkyScriptBindings(), eve::editor::ActionTimelinePayloadEditor::fitBlockToClip(), eve::editor::ActionTimelineEditor::frameStepTarget(), eve::action::ActionCameraCueBinding::fromPayload(), eve::action::ActionPrefabSpawnBinding::fromPayload(), eve::editor::ActionTimelineWidget::inspectSelection(), eve::rts::RTSProjectileSystem::launch(), eve::animation::detail::legacyStep(), eve::editor::ActionTimelineTarget::makeSet(), eve::particles::ParticleEffect::naturalDuration(), eve::rts::RTS::queueScriptResearch(), eve::rts::RTS::queueScriptUnit(), eve::rts::RTSLockstep::RTSLockstep(), eve::scene_editor::ScenePhysicsPlacementBackend::step(), eve::rts::RTS::stepScript(), eve::effects::EffectContainer::update(), eve::animation::Animation::update(), eve::animation::AnimPlayer::update(), eve::animation::AnimStateMachine::update(), eve::particles::ParticleSimSystem::update() , 以及 eve::particles::ParticleEffect::updateTimeline().
◆ isZero()
|
inlineconstexprnoexcept |
Whether this duration is exactly zero.
被这些函数引用 eve::action::ActionRuntime::advance(), eve::combat::HitFeelRuntime::advance(), eve::combat::CombatAttributeRuntime::advance(), eve::action::AbilityRuntime::advanceCooldowns(), eve::action::ActionTimeline::fromValue(), eve::weapon::ProjectileRuntime::update() , 以及 eve::weapon::CombatCarrierRuntime::update().
◆ nanoseconds()
|
inlineconstexprnoexcept |
Return the exact signed nanosecond representation.
被这些函数引用 eve::action::ActionTimeline::activeBlocks(), eve::action::ActionRuntime::advance(), eve::combat::HitFeelRuntime::advance(), eve::SimulationClock::advance(), eve::action::AbilityRuntime::advanceCooldowns(), eve::production::WorkQueue::advanceTo(), eve::editor::ActionTimelineEditor::alignSelectionEnd(), eve::production::WorkQueue::contribute(), fromSeconds(), eve::editor::ActionTimelineWidget::layout(), eve::editor::ActionTimelineWidget::pan(), eve::animation::MontagePlayer::physicalSectionProgress(), eve::animation::MontagePlayer::present(), eve::animation::MontagePlayer::reloadClips(), eve::animation::MontagePlayer::replaceClip(), scaled(), eve::SimulationClock::setFixedStep(), eve::SimulationClock::SimulationClock(), eve::rts::RTSLockstep::step(), eve::action::ActionDefinition::validate() , 以及 eve::action::ActionTimeline::validate().
◆ scaled()
Scale a duration by a finite non-negative rate.
- 返回
- A checked rounded duration, or Rejected for invalid/range input.
引用了 Duration(), eve::Result< T >::failure(), maximum, minimum, nanoseconds(), rate , 以及 eve::Result< T >::success().
被这些函数引用 eve::SimulationClock::advance().
◆ seconds()
|
noexcept |
Return this duration as seconds for legacy/presentation APIs.
被这些函数引用 eve::combat::CombatAttributeRuntime::advance(), eve::animation::MontagePlayer::advanceBlendOut(), eve::weapon::encodeCarrierRecipe(), eve::fluids::FluidSurfaceConstraintAdapter::evaluate(), eve::editor::ActionTimelinePayloadEditor::fitClipToBlock(), eve::action::ActionCameraCueBinding::fromPayload(), fromSeconds(), eve::timer::Timer::getDelta(), eve::animation::MontagePlayer::present(), eve::editor::ActionTimelineTarget::read(), eve::fluids::FluidSimulationAdapter::step(), eve::fluids::FluidSimulator::step(), eve::physics::Cloth::step(), eve::physics::Cloth3D::step(), eve::physics::ClothGPU::step(), eve::physics::SoftBody3D::step(), eve::weapon::ProjectileRuntime::update() , 以及 eve::weapon::CombatCarrierRuntime::update().
◆ tryAdd()
Add two durations with overflow validation.
- 返回
- A checked sum, or Rejected if the signed range would overflow.
引用了 Duration(), eve::Result< T >::failure() , 以及 eve::Result< T >::success().
被这些函数引用 eve::SimulationClock::advance(), eve::animation::MontagePlayer::advanceBlendOut(), eve::weapon::CombatCarrierRuntime::update() , 以及 eve::action::ActionDefinition::validate().
◆ zero()
|
inlinestaticconstexprnoexcept |
Return zero duration.
被这些函数引用 eve::action::AbilityRuntime::activate(), eve::action::ActionTimeline::activeBlocks(), eve::editor::ActionTimelineEditor::addSectionSplit(), eve::editor::ActionTimelineWidget::addStateAtCursor(), eve::action::ActionRuntime::advance(), eve::combat::CombatCharacterRuntime::advance(), eve::combat::CombatLocomotionRuntime::advance(), eve::combat::HitFeelRuntime::advance(), eve::combat::CombatAttributeRuntime::advance(), eve::animation::MontagePlayer::advanceBlendOut(), eve::action::AbilityRuntime::advanceCooldowns(), eve::combat::HitFeelRuntime::apply(), eve::combat::CombatCharacterRuntime::applyStun(), eve::animation::MontagePlayer::beginBlendOut(), eve::editor::ActionTimelineEditor::boxSelect(), eve::action::ActionRuntime::cancel(), eve::climbing::ClimbingRuntime::climbUp(), eve::editor::ActionTimelineEditor::editItem(), eve::weapon::encodeCarrierRecipe(), eve::action::ActionTimeline::fromValue(), eve::timer::Timer::getDeltaDuration(), eve::action::AbilityRuntime::grant(), eve::combat::HitFeelRuntime::isFrozen(), eve::combat::HitFeelRuntime::isStunned(), eve::animation::MontagePlayer::jumpToTime(), eve::editor::ActionTimelineWidget::pan(), eve::editor::ActionTimelineEditor::planPreview(), eve::animation::MontagePlayer::play(), eve::animation::MontagePlayer::prepare(), eve::animation::MontagePlayer::present(), eve::editor::ActionTimelineEditor::reloadDocument(), eve::SimulationClock::reset(), eve::editor::ActionTimelineEditor::resizeState(), eve::SimulationClock::sample(), eve::action::ActionTimeline::sample(), eve::editor::AnimationRootMotionPreviewSource::sampleRootMotion(), eve::editor::ActionTimelineEditor::scaleSelection(), eve::action::ActionTimeline::sectionRange(), eve::editor::ActionPreviewController::seek(), eve::editor::ActionTimelineEditor::seek(), eve::editor::ActionTimelineEditor::setSectionSplit(), eve::editor::ActionTimelineWidget::setSnapInterval(), eve::editor::ActionTimelineWidget::setVisibleRange(), eve::combat::HitFeelRuntime::state(), eve::editor::ActionPreviewController::stop(), eve::editor::ActionTimelineEditor::stop(), eve::animation::MontagePlayer::stop(), eve::climbing::ClimbingRuntime::transitionAnchor(), eve::weapon::ProjectileRuntime::update(), eve::weapon::CombatCarrierRuntime::update(), eve::action::AbilityDefinition::validate(), eve::action::ActionTimeline::validate(), eve::combat::HitFeelRequest::validate(), eve::weapon::CarrierRecipe::validate(), eve::weapon::ProjectileDefinition::validate() , 以及 eve::editor::ActionTimelineWidget::zoom().
友元及相关函数文档
◆ operator<=>
◆ operator==
该类的文档由以下文件生成: