Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
ca-frame-stream.H File Reference

Directory-backed frame sinks for CA trajectories. More...

#include <cstddef>
#include <filesystem>
#include <fstream>
#include <iomanip>
#include <ostream>
#include <sstream>
#include <string>
#include <tuple>
#include <utility>
#include <ah-errors.H>
#include <tpl_array.H>
#include <ca-io.H>
#include <ca-tikz.H>
Include dependency graph for ca-frame-stream.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::CA::Frame_Stream_Options
 Options for directory-backed frame streams. More...
 
class  Aleph::CA::Composite_Frame_Sink< Sinks >
 Fan-out sink that forwards every frame to several sinks. More...
 
class  Aleph::CA::Directory_Frame_Sink
 Directory-backed sink for CA frames. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 
namespace  Aleph::CA
 
namespace  Aleph::CA::ca_frame_stream_detail
 

Concepts

concept  Aleph::CA::Frame_Sink
 Concept implemented by sinks that consume CA frames.
 

Enumerations

enum class  Aleph::CA::Frame_Output_Format {
  Aleph::CA::PGM , Aleph::CA::PPM , Aleph::CA::RLE , Aleph::CA::CSV ,
  Aleph::CA::JSON , Aleph::CA::TikZ
}
 File format used by Directory_Frame_Sink. More...
 

Functions

const char * Aleph::CA::ca_frame_stream_detail::extension (Frame_Output_Format format) noexcept
 
const char * Aleph::CA::ca_frame_stream_detail::format_name (Frame_Output_Format format) noexcept
 
std::string Aleph::CA::ca_frame_stream_detail::padded_step (std::size_t step, std::size_t width)
 
std::filesystem::path Aleph::CA::ca_frame_stream_detail::format_step_path (const std::filesystem::path &pattern, const std::size_t step, const std::size_t zero_pad)
 
std::filesystem::path Aleph::CA::format_step_path (const std::filesystem::path &pattern, const std::size_t step, const std::size_t zero_pad=6)
 Format a step-indexed file path.
 

Detailed Description

Directory-backed frame sinks for CA trajectories.

Directory_Frame_Sink writes selected simulation frames into a directory using the Phase-11 exporters from ca-io.H and ca-tikz.H. It is small enough to be used directly in an engine post-step hook or in an explicit simulation loop.

No compression or video dependency is pulled into Aleph-w. The sink writes a deterministic manifest and exposes montage_command_hint() so callers can hand the frame sequence to external tools such as ffmpeg or NetPBM.

Author
Leandro Rabindranath Leon

Definition in file ca-frame-stream.H.