farm-ng-core
sophus::Ray< TScalar, kN > Class Template Reference

#include <ray.h>

Classes

struct  IntersectionResult
 

Public Member Functions

 Ray (Eigen::Matrix< TScalar, kN, 1 > const &origin, UnitVector< TScalar, kN > const &direction)
 
 Ray (Ray const &)=default
 
auto operator= (Ray const &) -> Ray &=default
 
auto origin () const -> Eigen::Matrix< TScalar, kN, 1 > const &
 
auto origin () -> Eigen::Matrix< TScalar, kN, 1 > &
 
auto direction () const -> UnitVector< TScalar, kN > const &
 
auto direction () -> UnitVector< TScalar, kN > &
 
auto pointAt (TScalar lambda) const -> Eigen::Matrix< TScalar, kN, 1 >
 
auto intersect (Eigen::Hyperplane< TScalar, kN > const &plane) const -> std::optional< IntersectionResult >
 
auto projection (Eigen::Matrix< TScalar, kN, 1 > const &point) const -> Eigen::Matrix< TScalar, kN, 1 >
 

Constructor & Destructor Documentation

◆ Ray() [1/2]

template<class TScalar , int kN>
sophus::Ray< TScalar, kN >::Ray ( Eigen::Matrix< TScalar, kN, 1 > const &  origin,
UnitVector< TScalar, kN > const &  direction 
)
inline

◆ Ray() [2/2]

template<class TScalar , int kN>
sophus::Ray< TScalar, kN >::Ray ( Ray< TScalar, kN > const &  )
default

Member Function Documentation

◆ direction() [1/2]

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::direction ( ) -> UnitVector<TScalar, kN>&
inline

◆ direction() [2/2]

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::direction ( ) const -> UnitVector<TScalar, kN> const&
inline

◆ intersect()

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::intersect ( Eigen::Hyperplane< TScalar, kN > const &  plane) const -> std::optional<IntersectionResult>
inline

◆ operator=()

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::operator= ( Ray< TScalar, kN > const &  ) -> Ray &=default
default

◆ origin() [1/2]

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::origin ( ) -> Eigen::Matrix<TScalar, kN, 1>&
inline

◆ origin() [2/2]

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::origin ( ) const -> Eigen::Matrix<TScalar, kN, 1> const&
inline

◆ pointAt()

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::pointAt ( TScalar  lambda) const -> Eigen::Matrix<TScalar, kN, 1>
inline

◆ projection()

template<class TScalar , int kN>
auto sophus::Ray< TScalar, kN >::projection ( Eigen::Matrix< TScalar, kN, 1 > const &  point) const -> Eigen::Matrix<TScalar, kN, 1>
inline

The documentation for this class was generated from the following file: