MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::IO::SpatialCapture Class Reference

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
 
SpatialCaptureoperator= (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< SpatialCachem_cache
 
Vruta::TaskSchedulerm_scheduler
 
std::vector< SpatialCaptureSourcem_sources
 
std::shared_ptr< CaptureStatem_state
 
std::string m_task_name
 

Detailed Description

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.


The documentation for this class was generated from the following files: