|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
Records time-sampled spatial data from one or more sources into a single Alembic archive. More...
#include <SpatialTransfer.hpp>
Collaboration diagram for MayaFlux::IO::SpatialCapture:Classes | |
| struct | CaptureState |
Public Member Functions | |
| uint32_t | frames_written () const |
| bool | is_recording () const |
| SpatialCapture & | operator= (const SpatialCapture &)=delete |
| SpatialCapture (const SpatialCapture &)=delete | |
| SpatialCapture (Vruta::TaskScheduler &scheduler, std::shared_ptr< SpatialCache > cache, std::vector< SpatialCaptureSource > sources) | |
| void | start (uint32_t max_frames=0, uint64_t frame_interval=1) |
| Spawn the capture routine, resetting the frame counter. | |
| void | stop () |
| Request the capture routine stop. | |
| ~SpatialCapture () | |
Static Private Member Functions | |
| static bool | run_one_frame (CaptureState &state) |
| One tick: write every source's stream. | |
Private Attributes | |
| std::shared_ptr< SpatialCache > | m_cache |
| Vruta::TaskScheduler & | m_scheduler |
| std::vector< SpatialCaptureSource > | m_sources |
| std::shared_ptr< CaptureState > | m_state |
| std::string | m_task_name |
Records time-sampled spatial data from one or more sources into a single Alembic archive.
Unlike VolumeCapture, which numbers a file per frame because no volumetric format carries time, Alembic holds every sample in the one archive a SpatialCache keeps open across the whole recording: start() spawns a GraphicsRoutine that ticks every source in turn and suspends on a FrameDelay, the same frame-clock-driven, no-polling shape VolumeCapture uses. stop() cancels the task by name; frames already written stay on disk.
A failed source stops the capture, the same as VolumeCapture: a sequence with a hole in it is worse than a short one.
Definition at line 64 of file SpatialTransfer.hpp.