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

One named quantity sampled over a lattice, held in host memory. More...

#include <VolumeData.hpp>

+ Collaboration diagram for MayaFlux::Kakshya::VolumeField:

Public Types

using ValueStorage = std::variant< std::vector< float >, std::vector< glm::vec3 > >
 

Public Member Functions

std::vector< float > * as_scalar ()
 
const std::vector< float > * as_scalar () const
 Typed accessors.
 
std::vector< glm::vec3 > * as_vector ()
 
const std::vector< glm::vec3 > * as_vector () const
 
size_t byte_size () const
 Total byte size of value storage, dispatched on variant.
 
const void * data () const
 Raw data pointer, dispatched on variant.
 
size_t element_count () const
 Number of cells represented, dispatched on variant.
 
bool is_vector () const
 Whether the active variant holds vectors rather than scalars.
 

Public Attributes

std::string name
 
Kinesis::LatticeSemantics semantics {}
 
ValueStorage values
 

Detailed Description

One named quantity sampled over a lattice, held in host memory.

Value storage is a variant over float and glm::vec3, chosen by the producer from the source field's per-cell stride. There is no vec4 variant: padding is a GPU alignment concern and is stripped on the way out, so no consumer of this struct ever sees a component it must skip.

Values are stored densely in the lattice's own index order, x fastest, z slowest, one element per cell with no gaps. Sparsity is a property of the formats this feeds, not of this struct: a writer decides which cells are active by thresholding, and the decision does not travel here.

The name is the producer's own string, taken verbatim from wherever the field was declared. Consumers that care about conventional names (density, temperature, velocity) match on it; nothing rewrites it.

Definition at line 26 of file VolumeData.hpp.


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