opensurgsim
Classes | Namespaces | Functions
MathConvert.h File Reference

This contains a series of functions to encode and decode Eigen data structures to and from YAML nodes. More...

#include <Eigen/Core>
#include <Eigen/Geometry>
#include <yaml-cpp/yaml.h>
#include <boost/any.hpp>
#include "SurgSim/Framework/Macros.h"
#include "SurgSim/Math/LinearSparseSolveAndInverse.h"
#include "SurgSim/Math/OdeSolver.h"
#include "SurgSim/Math/MathConvert-inl.h"

Go to the source code of this file.

Classes

struct  YAML::convert< typename Eigen::Matrix< Type, Rows, Cols, MOpt > >
 Specialization of convert for fixed size Eigen::Matrix. More...
 
struct  YAML::convert< typename Eigen::Quaternion< Type, QOpt > >
 Specialization of convert for Eigen::Quaternion. More...
 
struct  YAML::convert< typename Eigen::Transform< Type, Dim, TMode, TOptions > >
 Specialization of convert for Eigen::RigidTransform. More...
 
struct  YAML::convert< typename Eigen::AngleAxis< Type > >
 Specialization of convert for Eigen::AngleAxis. More...
 
struct  YAML::convert< std::shared_ptr< SurgSim::Math::Shape > >
 
struct  YAML::convert< SurgSim::Math::IntegrationScheme >
 
struct  YAML::convert< SurgSim::Math::LinearSolver >
 
struct  YAML::convert< boost::any >
 

Namespaces

 SurgSim
 Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui needs glew but we need to call glewInit() from a osg callback, using this call we avoid getting warnings about redefinitions.
 

Functions

void SurgSim::Math::toBytes (double d, std::vector< uint8_t > *result)
 Writes the byte code for a double into a vector of bytes.
 
size_t SurgSim::Math::fromBytes (const std::vector< uint8_t > &bytes, double *out, size_t start=0)
 Fills a double from a vector of bytes.
 
void SurgSim::Math::toBytes (SurgSim::Math::Vector3d in, std::vector< uint8_t > *result)
 Writes the byte code for a Vector3d into a vector of bytes. More...
 
size_t SurgSim::Math::fromBytes (const std::vector< uint8_t > &bytes, SurgSim::Math::Vector3d *out, size_t start=0)
 Fills a Vector3d from a vector of bytes.
 
template<class T >
bool YAML::tryConvert (const boost::any &any, YAML::Node *node)
 

Detailed Description

This contains a series of functions to encode and decode Eigen data structures to and from YAML nodes.

These conversion functions will extinguish Eigen options, these are not serialized, the output is determined by the type as it is declared in the appropriate conversion function, with Eigen::Transform, this could lead to problems If the mode that is used for reading is different than the mode that was used while writing.

Function Documentation

§ toBytes()

void SurgSim::Math::toBytes ( SurgSim::Math::Vector3d  in,
std::vector< uint8_t > *  result 
)

Writes the byte code for a Vector3d into a vector of bytes.

TODO (ryanbeasley): Make a templated version when we need it. TODO (ryanbeasley): Consider moving into Vector.h or Vector.cpp.