MayaFlux 0.3.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 9 of file OperationHelper.cpp.

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

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: