|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
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 |
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.