45 const Eigen::VectorXd& vec,
46 bool preserve_precision =
true);
63 const Eigen::MatrixXd& matrix,
65 bool preserve_precision =
true);
77 void validate_matrix_dimensions(
78 const Eigen::MatrixXd& matrix,
89 const Eigen::MatrixXd& matrix,
EigenInsertion(Kakshya::DataVariant &variant)
void insert_vector(const Eigen::VectorXd &vec, bool preserve_precision=true)
Insert Eigen vector as scalar data.
Kakshya::DataVariant & m_variant
void insert_matrix(const Eigen::MatrixXd &matrix, MatrixInterpretation interpretation=MatrixInterpretation::AUTO, bool preserve_precision=true)
Insert Eigen matrix with automatic interpretation.
Type-erased writer for converting Eigen types to DataVariant.
Kakshya::DataVariant from_eigen_matrix(const Eigen::MatrixXd &matrix, MatrixInterpretation interpretation=MatrixInterpretation::AUTO)
Convenience function for direct conversion.
Kakshya::DataVariant from_eigen_vector(const Eigen::VectorXd &vec)
Convenience function for vector conversion.
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.
MatrixInterpretation
How to interpret Eigen matrix rows/columns.
@ MAT4
16 rows → glm::mat4 (flattened)
@ SCALAR
Single row → scalar values.
@ COMPLEX
2 rows → complex (row 0 = real, row 1 = imag)
@ AUTO
Infer from row count.