MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
NDData.hpp File Reference
#include <glm/glm.hpp>
#include "typeindex"
+ Include dependency graph for NDData.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Kakshya::DataDimension::ComponentGroup
 Grouping information for sub-dimensions. More...
 
struct  MayaFlux::Kakshya::DataDimension
 Minimal dimension descriptor focusing on structure only. More...
 
class  MayaFlux::Kakshya::FrameView
 Zero-copy typed view over one frame of container storage. More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< T >
 Type traits to determine if a type is a valid DataVariant element. More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< double >
 high precision floating point data (double) (audio) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< float >
 standard precision floating point data (float) (params) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< glm::mat4 >
 4x4 matrix data (glm::mat4) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< glm::vec2 >
 2D vector data (glm::vec2) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< glm::vec3 >
 3D vector data (glm::vec3) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< glm::vec4 >
 4D vector data (glm::vec4) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< std::complex< double > >
 high precision complex data (spectral) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< std::complex< float > >
 complex data (spectral) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< uint16_t >
 16-bit unsigned integer data (uint16_t) (CD audio, images) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< uint32_t >
 32-bit unsigned integer data (uint32_t) (high precision int) More...
 
struct  MayaFlux::Kakshya::is_data_variant_element< uint8_t >
 8-bit unsigned integer data (uint8_t) (images, compressed audio) More...
 
struct  MayaFlux::Kakshya::detail::span_const_from_vector_variant< std::variant< Vecs... > >
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kakshya
 
namespace  MayaFlux::Kakshya::detail
 

Concepts

concept  MayaFlux::Kakshya::DataVariantElement
 Concept to constrain types to valid DataVariant elements.
 

Typedefs

using MayaFlux::Kakshya::DataSpanVariant = typename detail::span_const_from_vector_variant< DataVariant >::type
 
using MayaFlux::Kakshya::DataVariant = std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > >
 Multi-type data storage for different precision needs.
 

Enumerations

enum class  MayaFlux::Kakshya::DataModality : uint8_t {
  MayaFlux::Kakshya::AUDIO_1D , MayaFlux::Kakshya::AUDIO_MULTICHANNEL , MayaFlux::Kakshya::IMAGE_2D , MayaFlux::Kakshya::IMAGE_COLOR ,
  MayaFlux::Kakshya::IMAGE_COLOR_ARRAY , MayaFlux::Kakshya::VIDEO_GRAYSCALE , MayaFlux::Kakshya::VIDEO_COLOR , MayaFlux::Kakshya::TEXTURE_2D ,
  MayaFlux::Kakshya::TENSOR_ND , MayaFlux::Kakshya::SPECTRAL_2D , MayaFlux::Kakshya::VOLUMETRIC_3D , MayaFlux::Kakshya::VERTICES_3D ,
  MayaFlux::Kakshya::VERTEX_POSITIONS_3D , MayaFlux::Kakshya::VERTEX_NORMALS_3D , MayaFlux::Kakshya::VERTEX_TANGENTS_3D , MayaFlux::Kakshya::VERTEX_COLORS_RGB ,
  MayaFlux::Kakshya::VERTEX_COLORS_RGBA , MayaFlux::Kakshya::TEXTURE_COORDS_2D , MayaFlux::Kakshya::TRANSFORMATION_MATRIX , MayaFlux::Kakshya::SCALAR_F32 ,
  MayaFlux::Kakshya::UNKNOWN
}
 Data modality types for cross-modal analysis. More...
 
enum class  MayaFlux::Kakshya::GpuDataFormat : uint8_t {
  MayaFlux::Kakshya::FLOAT32 , MayaFlux::Kakshya::VEC2_F32 , MayaFlux::Kakshya::VEC3_F32 , MayaFlux::Kakshya::VEC4_F32 ,
  MayaFlux::Kakshya::FLOAT64 , MayaFlux::Kakshya::VEC2_F64 , MayaFlux::Kakshya::VEC3_F64 , MayaFlux::Kakshya::VEC4_F64 ,
  MayaFlux::Kakshya::INT32 , MayaFlux::Kakshya::UINT32 , MayaFlux::Kakshya::UINT8 , MayaFlux::Kakshya::UINT16
}
 GPU data formats with explicit precision levels. More...
 
enum class  MayaFlux::Kakshya::MemoryLayout : uint8_t { MayaFlux::Kakshya::ROW_MAJOR , MayaFlux::Kakshya::COLUMN_MAJOR }
 Memory layout for multi-dimensional data. More...
 
enum class  MayaFlux::Kakshya::OrganizationStrategy : uint8_t { MayaFlux::Kakshya::INTERLEAVED , MayaFlux::Kakshya::PLANAR , MayaFlux::Kakshya::HYBRID , MayaFlux::Kakshya::USER_DEFINED }
 Data organization strategy for multi-channel/multi-frame data. More...
 

Functions

size_t MayaFlux::Kakshya::gpu_data_format_bytes (GpuDataFormat fmt) noexcept
 Byte size of one element of a GpuDataFormat.
 
bool MayaFlux::Kakshya::is_structured_modality (DataModality modality)
 Check if a modality represents structured data (vectors, matrices).
 
std::string_view MayaFlux::Kakshya::modality_to_string (DataModality modality)
 Convert DataModality enum to string representation.