Euclid
Geometry Processing and Shape Analysis in C++
Vector

Vector utilities. More...

Functions

template<typename Kernel >
Kernel::FT Euclid::length (const CGAL::Vector_3< Kernel > &vec)
 Length of a vector.
 
template<typename Kernel >
void Euclid::normalize (CGAL::Vector_3< Kernel > &vec)
 Normalize a vector.
 
template<typename Kernel >
CGAL::Vector_3< Kernel > Euclid::normalized (const CGAL::Vector_3< Kernel > &vec)
 Return a normalized version of the input vector.
 
template<typename Kernel >
Kernel::FT Euclid::area (const CGAL::Point_3< Kernel > &p1, const CGAL::Point_3< Kernel > &p2, const CGAL::Point_3< Kernel > &p3)
 Area of the triangle.
 
template<typename Kernel >
Kernel::FT Euclid::sine (const CGAL::Vector_3< Kernel > &v1, const CGAL::Vector_3< Kernel > &v2)
 Sine of the angle between two vectors.
 
template<typename Kernel >
Kernel::FT Euclid::sine (const CGAL::Point_3< Kernel > &p1, const CGAL::Point_3< Kernel > &p2, const CGAL::Point_3< Kernel > &p3)
 Sine of the angle between (p1-p2) and (p3-p2).
 
template<typename Kernel >
Kernel::FT Euclid::cosine (const CGAL::Vector_3< Kernel > &v1, const CGAL::Vector_3< Kernel > &v2)
 Cosine of the angle between two vectors.
 
template<typename Kernel >
Kernel::FT Euclid::cosine (const CGAL::Point_3< Kernel > &p1, const CGAL::Point_3< Kernel > &p2, const CGAL::Point_3< Kernel > &p3)
 Cosine of the angle between (p1-p2) and (p3-p2).
 
template<typename Kernel >
Kernel::FT Euclid::tangent (const CGAL::Vector_3< Kernel > &v1, const CGAL::Vector_3< Kernel > &v2)
 Tangent of the angle between two vectors.
 
template<typename Kernel >
Kernel::FT Euclid::tangent (const CGAL::Point_3< Kernel > &p1, const CGAL::Point_3< Kernel > &p2, const CGAL::Point_3< Kernel > &p3)
 Tangent of the angle between (p1-p2) and (p3-p2).
 
template<typename Kernel >
Kernel::FT Euclid::cotangent (const CGAL::Vector_3< Kernel > &v1, const CGAL::Vector_3< Kernel > &v2)
 Cotangent of the angle between two vectors.
 
template<typename Kernel >
Kernel::FT Euclid::cotangent (const CGAL::Point_3< Kernel > &p1, const CGAL::Point_3< Kernel > &p2, const CGAL::Point_3< Kernel > &p3)
 Cotangent of the angle between (p1-p2) and (p3-p2).
 
template<typename CGALVec , typename Derived >
void Euclid::cgal_to_eigen (const CGALVec &from, Eigen::PlainObjectBase< Derived > &to)
 Convert a CGAL vector to Eigen. More...
 
template<typename Derived , typename CGALVec >
void Euclid::eigen_to_cgal (const Eigen::DenseBase< Derived > &from, CGALVec &to)
 Convert an Eigen vector to CGAL. More...
 

Detailed Description

This package contains convenient functions to work with vectors of CGAL and Eigen.

Function Documentation

template<typename CGALVec , typename Derived >
void Euclid::cgal_to_eigen ( const CGALVec &  from,
Eigen::PlainObjectBase< Derived > &  to 
)
Template Parameters
CGALVecCGAL::Vector_3, CGAL::Point_3 and the like.
DerivedDerived type like Eigen::Matrix or Eigen::Array.
template<typename Derived , typename CGALVec >
void Euclid::eigen_to_cgal ( const Eigen::DenseBase< Derived > &  from,
CGALVec &  to 
)
Template Parameters
DerivedDerived type like Eigen::Matrix or Eigen::Array.
CGALVecCGAL::Vector_3, CGAL_Point_3 and the like.