supereight
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
math_util.hpp File Reference
#include <Eigen/Geometry>
#include <cmath>
#include "impl/math_util_impl.hpp"
Include dependency graph for math_util.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  se
 Helper wrapper to allocate and de-allocate octants in the octree.
 
namespace  se::math
 

Functions

template<typename T >
constexpr bool se::math::is_power_of_two (const T x)
 
constexpr int se::math::log2_const (int n)
 
static unsigned se::math::power_two_up (const float x)
 
template<typename T >
T se::math::fracf (const T &v)
 
template<typename T >
T se::math::floorf (const T &v)
 
template<typename T >
T se::math::fabs (const T &v)
 
template<typename Scalar >
constexpr Scalar se::math::sq (Scalar a)
 
template<typename Scalar >
constexpr Scalar se::math::cu (Scalar a)
 
template<typename Scalar >
bool se::math::in (const Scalar v, const Scalar a, const Scalar b)
 
static Eigen::Vector3f se::math::plane_normal (const Eigen::Vector3f &p1, const Eigen::Vector3f &p2, const Eigen::Vector3f &p3)
 Compute the normal vector of a plane defined by 3 points.
 
static Eigen::Matrix3f se::math::hat (const Eigen::Vector3f &omega)
 hat-operator
 
static Eigen::Matrix3f se::math::exp_and_theta (const Eigen::Vector3f &omega, float &theta)
 
static Eigen::Matrix4f se::math::exp (const Eigen::Matrix< float, 6, 1 > &a)
 Group exponential.
 

Variables

const Eigen::Vector3f se::math::g_invalid_normal = Eigen::Vector3f::Zero()
 The value used for a normal vector that can't be computed.