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

◆ create_data_variant_from_eigen()

template<typename EigenType >
static Kakshya::DataVariant MayaFlux::Yantra::OperationHelper::create_data_variant_from_eigen ( const EigenType &  eigen_data)
inlinestaticprivate

Create DataVariant from Eigen matrix/vector.

Definition at line 334 of file OperationHelper.hpp.

335 {
336 std::vector<double> flat_data;
337
338 if constexpr (EigenType::IsVectorAtCompileTime) {
339 flat_data.resize(eigen_data.size());
340 for (int i = 0; i < eigen_data.size(); ++i) {
341 flat_data[i] = static_cast<double>(eigen_data(i));
342 }
343 } else {
344 flat_data.resize(eigen_data.size());
345 int idx = 0;
346 for (int i = 0; i < eigen_data.rows(); ++i) {
347 for (int j = 0; j < eigen_data.cols(); ++j) {
348 flat_data[idx++] = static_cast<double>(eigen_data(i, j));
349 }
350 }
351 }
352
353 return Kakshya::DataVariant { flat_data };
354 }
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 > > DataVariant
Multi-type data storage for different precision needs.
Definition NDData.hpp:73

Referenced by extract_numeric_data().

+ Here is the caller graph for this function: