|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Type-erased accessor for NDData with semantic view construction. More...
#include <DataAccess.hpp>
Collaboration diagram for MayaFlux::Kakshya::DataAccess:Public Member Functions | |
| DataAccess (DataVariant &variant, const std::vector< DataDimension > &dimensions, DataModality modality) | |
| template<typename T > | |
| auto | view () const |
| Get explicit typed view of data. | |
| auto | gpu_buffer () const |
| Get raw buffer info for GPU upload. | |
| DataModality | modality () const |
| bool | is_structured () const |
| size_t | element_count () const |
| size_t | component_count () const |
| std::string | type_description () const |
| std::string_view | suggested_view_type () const |
| Get suggested view type for this data's modality. | |
Private Member Functions | |
| template<typename T > requires std::is_arithmetic_v<T> | |
| std::span< const T > | create_scalar_view () const |
| template<typename T > | |
| void | validate_structured_access () const |
| template<typename T > | |
| void * | ensure_conversion_cache (size_t required_bytes) const |
| Ensure conversion cache exists and is properly sized. | |
Static Private Member Functions | |
| template<typename T > | |
| static uint32_t | get_format_hint () |
Private Attributes | |
| DataVariant & | m_variant |
| const std::vector< DataDimension > & | m_dimensions |
| DataModality | m_modality |
| std::optional< std::vector< uint8_t > > | m_conversion_cache |
Type-erased accessor for NDData with semantic view construction.
Provides a unified interface to access data either as structured types (glm::vec3, etc.) or as scalar arrays (double, float), based on modality and user intent. Container classes remain template-free.
Definition at line 19 of file DataAccess.hpp.