MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ modality_to_interpretation()

Kakshya::MatrixInterpretation MayaFlux::Yantra::detail::modality_to_interpretation ( Kakshya::DataModality  modality,
std::type_index  original_type 
)

Definition at line 11 of file OperationHelper.cpp.

14 {
15 switch (modality) {
16 case Kakshya::DataModality::VERTEX_POSITIONS_3D:
17 case Kakshya::DataModality::VERTEX_NORMALS_3D:
18 case Kakshya::DataModality::VERTEX_TANGENTS_3D:
19 case Kakshya::DataModality::VERTEX_COLORS_RGB:
20 return Kakshya::MatrixInterpretation::VEC3;
21
22 case Kakshya::DataModality::TEXTURE_COORDS_2D:
23 return Kakshya::MatrixInterpretation::VEC2;
24
25 case Kakshya::DataModality::VERTEX_COLORS_RGBA:
26 return Kakshya::MatrixInterpretation::VEC4;
27
28 case Kakshya::DataModality::TRANSFORMATION_MATRIX:
29 return Kakshya::MatrixInterpretation::MAT4;
30
31 case Kakshya::DataModality::SPECTRAL_2D:
32 return Kakshya::MatrixInterpretation::COMPLEX;
33
34 default:
35 break;
36 }
37
38 if (original_type == std::type_index(typeid(std::vector<glm::vec2>))) {
39 return Kakshya::MatrixInterpretation::VEC2;
40 }
41 if (original_type == std::type_index(typeid(std::vector<glm::vec3>))) {
42 return Kakshya::MatrixInterpretation::VEC3;
43 }
44 if (original_type == std::type_index(typeid(std::vector<glm::vec4>))) {
45 return Kakshya::MatrixInterpretation::VEC4;
46 }
47 if (original_type == std::type_index(typeid(std::vector<glm::mat4>))) {
48 return Kakshya::MatrixInterpretation::MAT4;
49 }
50 if (original_type == std::type_index(typeid(std::vector<std::complex<double>>))
51 || original_type == std::type_index(typeid(std::vector<std::complex<float>>))) {
52 return Kakshya::MatrixInterpretation::COMPLEX;
53 }
54
55 return Kakshya::MatrixInterpretation::SCALAR;
56 }

References MayaFlux::Kakshya::COMPLEX, MayaFlux::Kakshya::MAT4, MayaFlux::Kakshya::SCALAR, MayaFlux::Kakshya::SPECTRAL_2D, MayaFlux::Kakshya::TEXTURE_COORDS_2D, MayaFlux::Kakshya::TRANSFORMATION_MATRIX, MayaFlux::Kakshya::VEC2, MayaFlux::Kakshya::VEC3, MayaFlux::Kakshya::VEC4, MayaFlux::Kakshya::VERTEX_COLORS_RGB, MayaFlux::Kakshya::VERTEX_COLORS_RGBA, MayaFlux::Kakshya::VERTEX_NORMALS_3D, MayaFlux::Kakshya::VERTEX_POSITIONS_3D, and MayaFlux::Kakshya::VERTEX_TANGENTS_3D.

Referenced by MayaFlux::Yantra::OperationHelper::reconstruct_data_variant_from_double().

+ Here is the caller graph for this function: