|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API Mapped< std::shared_ptr< Kakshya::PlotContainer > > MayaFlux::Portal::Forma::Plot::place | ( | Surface & | surface, |
| FormaTarget | buf, | ||
| SeriesSpec | spec, | ||
| std::shared_ptr< Kakshya::PlotContainer > | container | ||
| ) |
Place a plot element onto a Surface using a FormaTarget.
Constructs a Mapped<shared_ptr<PlotContainer>> from the geometry function carried by spec, registers the element on surface's layer, and runs one initial sync so the first frame has valid geometry. Sets force_redraw_on_sync so geometry regenerates on every sync() call when the container pointer is stable but its data changes.
Buffer construction and scheduling are the caller's responsibility. Create a batch with surface.render_config(), then pass a slice with spec.topology. Other plot geometry can use slices of that batch.
| surface | Surface to register the element on. |
| buf | Target the series draws into, a slice of spec.topology. |
| spec | Result of a SeriesBuilder terminal. Carries the geometry function and input topology for this encoding. Raw GeometryFn callers are responsible for calling container->process_default() inside their function; SeriesBuilder terminals call it internally. |
| container | PlotContainer with series bound and marked ready for processing. Becomes the initial MappedState value. |
Definition at line 96 of file Plot.cpp.
References MayaFlux::Portal::Forma::Layer::add(), MayaFlux::Portal::Forma::Plot::SeriesSpec::fn, MayaFlux::Portal::Forma::Layer::Slot::id(), and MayaFlux::Portal::Forma::Surface::layer().
Referenced by MayaFlux::Portal::Forma::plot().
Here is the call graph for this function:
Here is the caller graph for this function: