Privacy
An open-source, flexible 3D physical simulation framework
mathUtils.h File Reference
#include "Vector.h"
#include "Quaternion.h"
#include <configmaps/ConfigData.h>

Go to the source code of this file.

Namespaces

 mars
 Copyright 2012, DFKI GmbH Robotics Innovation Center.
 
 mars::utils
 

Enumerations

enum  mars::utils::ApproximationFunction {
  mars::utils::FUNCTION_PIPE, mars::utils::FUNCTION_POLYNOM2, mars::utils::FUNCTION_POLYNOM3, mars::utils::FUNCTION_POLYNOM4,
  mars::utils::FUNCTION_POLYNOM5, mars::utils::FUNCTION_GAUSSIAN, mars::utils::FUNCTION_UNKNOWN
}
 
enum  mars::utils::ApproximationFunction2D { mars::utils::FUNCTION_UNKNOWN2D, mars::utils::FUNCTION_POLYNOM2D1, mars::utils::FUNCTION_POLYNOM2D2 }
 

Functions

ApproximationFunction mars::utils::getApproximationFunctionFromString (std::string s)
 
ApproximationFunction2D mars::utils::getApproximationFunction2DFromString (std::string s)
 
double mars::utils::pipe (double *x, std::vector< double > *c)
 
double mars::utils::polynom2 (double *x, std::vector< double > *c)
 
double mars::utils::polynom3 (double *x, std::vector< double > *c)
 
double mars::utils::polynom4 (double *x, std::vector< double > *c)
 
double mars::utils::polynom5 (double *x, std::vector< double > *c)
 
double mars::utils::gaussian (double *x, std::vector< double > *c)
 
double mars::utils::beta_distribution (double *x, std::vector< double > *c)
 
double mars::utils::gamma_distribution (double *x, std::vector< double > *c)
 
double mars::utils::polynom2D1 (double *x, double *y, std::vector< double > *c)
 
double mars::utils::polynom2D2 (double *x, double *y, std::vector< double > *c)
 
bool mars::utils::isNormalized (const Vector &vec)
 
Vector mars::utils::scaleVectorToLength (const Vector &vec, const double &length)
 
double mars::utils::angleBetween (const Vector &v1, const Vector &v2, Vector *axis=NULL)
 Angle between two vectors. More...
 
double mars::utils::getYaw (const Quaternion &q)
 
Quaternion mars::utils::angleAxisToQuaternion (double angle, const Vector &axis)
 
Quaternion mars::utils::eulerToQuaternion (const Vector &euler_v)
 
Quaternion mars::utils::eulerToQuaternion (const sRotation &rot)
 
sRotation mars::utils::quaternionTosRotation (const Quaternion &value)
 
Vector mars::utils::lerp (const Vector &from, const Vector &to, double t)
 
Vector mars::utils::slerp (const Vector &from, const Vector &to, double t)
 
double mars::utils::distanceSquaredBetween (const Vector &v1, const Vector &v2)
 
double mars::utils::distanceBetween (const Vector &v1, const Vector &v2)
 
void mars::utils::vectorToSpherical (const Vector &v, double *r, double *theta, double *phi)
 
Vector mars::utils::getProjection (const Vector &v1, const Vector &v2)
 
Vector mars::utils::vectorFromSpherical (double r, double theta, double phi)
 
bool mars::utils::vectorFromConfigItem (ConfigItem *item, Vector *v)
 
void mars::utils::vectorToConfigItem (ConfigItem *item, Vector *v)
 
bool mars::utils::quaternionFromConfigItem (ConfigItem *item, Quaternion *q)
 
void mars::utils::quaternionToConfigItem (ConfigItem *item, Quaternion *q)
 
template<typename T >
Quaternion mars::utils::quaternionFromMembers (T q)
 
template<typename T >
Quaternion mars::utils::quaternionFromXYZWArray (T q)
 
template<typename T >
Quaternion mars::utils::quaternionFromWXYZArray (T q)
 
double mars::utils::random_normal_number (double mean, double std, double low, double high)
 
double mars::utils::random_number (double min, double max, int digits)
 

Variables

const double mars::utils::SQRT2PI = 2.5066282746310002
 
const double mars::utils::EPSILON = Eigen::NumTraits<double>::epsilon()