MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kakshya::VolumeData Struct Reference

A lattice and every field sampled over it, held in host memory. More...

#include <VolumeData.hpp>

+ Collaboration diagram for MayaFlux::Kakshya::VolumeData:

Public Member Functions

size_t cell_count () const
 Cells in the lattice, which every field's element_count() must equal.
 
const VolumeFieldfind (const std::string &name) const
 Resolve a field by name.
 
bool is_consistent () const
 Check that every field is densely populated over the lattice.
 

Public Attributes

std::vector< VolumeFieldfields
 
Kinesis::Lattice3D lattice
 

Detailed Description

A lattice and every field sampled over it, held in host memory.

The interchange currency between whatever produced the values and whatever writes them. Parallels ImageData: no Vulkan awareness, no ownership of GPU resources, no knowledge of any file format. A writer receives one of these and nothing else.

All fields share the lattice. A producer wanting fields at differing resolutions emits several VolumeData rather than one, which matches how every target format treats a resolution change anyway.

The lattice carries the world-space bounds and resolution, so a writer derives voxel size from cell_size() and the index-to-world mapping from cell_center() without further arguments. There is no time member: a frame sequence is a sequence of these, numbered by the caller.

Field order is the producer's order and is preserved. Nothing depends on it, but a reader diffing two files will thank you.

Definition at line 109 of file VolumeData.hpp.


The documentation for this struct was generated from the following file: