MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ place()

void MayaFlux::Kriya::Chimera::place ( const State &  state,
Layer &  layer,
uint64_t  head,
double  rate,
double  nearest,
double  elapsed 
)
staticprivate

Definition at line 185 of file Chimera.cpp.

186{
187 const double latest = static_cast<double>(head) - nearest;
188
189 if (layer.lag) {
190 const double behind = ((*layer.lag)(elapsed) + layer.lag_offset) * rate;
191 layer.position = static_cast<double>(head) - std::max(behind, nearest);
192 } else if (!layer.entered) {
193 layer.position = latest;
194 } else {
195 layer.position = std::min(layer.position + *layer.ratio * rate / state.frame_rate, latest);
196 }
197 layer.entered = true;
198}
float rate

References MayaFlux::Kriya::Chimera::Layer::entered, MayaFlux::Kriya::Chimera::State::frame_rate, MayaFlux::Kriya::Chimera::Layer::lag, MayaFlux::Kriya::Chimera::Layer::lag_offset, MayaFlux::Kriya::Chimera::Layer::position, rate, and MayaFlux::Kriya::Chimera::Layer::ratio.

Referenced by collect(), and feed().

+ Here is the caller graph for this function: