DGtal  1.5.beta
DGtal::GAVector< TSpace, TInputValue > Struct Template Reference

#include <DGtal/images/bijectiveRotations/GAVector.h>

Public Member Functions

 GAVector (const TInputValue &pt=TInputValue(0, 0))
 zero multivector More...
 
TInputValue::Component dot (GAVector other) const
 scalar part of the a mv, i.e. compute the dot product part of the geometric product More...
 
TInputValue::Component bivectorPart (const GAVector &other) const
 bivector part of the a mv, i.e. compute the outer product part of the geometric product More...
 
GAVector operator* (typename TInputValue::Component f) const
 geometric product with a scalar More...
 
GAVector operator* (const GAVector &v)
 geometric product between two vectors More...
 
bool operator< (const GAVector &other) const
 
double angleToXAxis () const
 
bool operator== (const GAVector &other) const
 

Data Fields

TInputValue my_gavec
 

Detailed Description

template<typename TSpace, typename TInputValue = typename TSpace::Point>
struct DGtal::GAVector< TSpace, TInputValue >

Definition at line 47 of file GAVector.h.

Constructor & Destructor Documentation

◆ GAVector()

template<typename TSpace , typename TInputValue = typename TSpace::Point>
DGtal::GAVector< TSpace, TInputValue >::GAVector ( const TInputValue &  pt = TInputValue(0,0))
inlineexplicit

zero multivector

Definition at line 51 of file GAVector.h.

52  : my_gavec( pt ) {}
TInputValue my_gavec
Definition: GAVector.h:48

Referenced by DGtal::GAVector< TSpace, TInputValue >::operator*().

Member Function Documentation

◆ angleToXAxis()

template<typename TSpace , typename TInputValue = typename TSpace::Point>
double DGtal::GAVector< TSpace, TInputValue >::angleToXAxis ( ) const
inline

◆ bivectorPart()

template<typename TSpace , typename TInputValue = typename TSpace::Point>
TInputValue::Component DGtal::GAVector< TSpace, TInputValue >::bivectorPart ( const GAVector< TSpace, TInputValue > &  other) const
inline

bivector part of the a mv, i.e. compute the outer product part of the geometric product

Definition at line 61 of file GAVector.h.

62  {
63  return my_gavec[0] * other.my_gavec[1] - my_gavec[1] * other.my_gavec[0];
64  }

References DGtal::GAVector< TSpace, TInputValue >::my_gavec.

Referenced by DGtal::GAVector< TSpace, TInputValue >::operator*(), DGtal::GAVector< TSpace, TInputValue >::operator<(), and DGtal::GAVector< TSpace, TInputValue >::operator==().

◆ dot()

template<typename TSpace , typename TInputValue = typename TSpace::Point>
TInputValue::Component DGtal::GAVector< TSpace, TInputValue >::dot ( GAVector< TSpace, TInputValue >  other) const
inline

scalar part of the a mv, i.e. compute the dot product part of the geometric product

Definition at line 55 of file GAVector.h.

56  {
57  return my_gavec[0] * other.my_gavec[0] + my_gavec[1] * other.my_gavec[1];
58  }

References DGtal::GAVector< TSpace, TInputValue >::my_gavec.

Referenced by DGtal::GAVector< TSpace, TInputValue >::operator*().

◆ operator*() [1/2]

template<typename TSpace , typename TInputValue = typename TSpace::Point>
GAVector DGtal::GAVector< TSpace, TInputValue >::operator* ( const GAVector< TSpace, TInputValue > &  v)
inline

geometric product between two vectors

Definition at line 73 of file GAVector.h.

74  {
75  return GAVector( TInputValue(this->dot(v), this->bivectorPart(v)) );
76  }
TInputValue::Component bivectorPart(const GAVector &other) const
bivector part of the a mv, i.e. compute the outer product part of the geometric product
Definition: GAVector.h:61
GAVector(const TInputValue &pt=TInputValue(0, 0))
zero multivector
Definition: GAVector.h:51
TInputValue::Component dot(GAVector other) const
scalar part of the a mv, i.e. compute the dot product part of the geometric product
Definition: GAVector.h:55

References DGtal::GAVector< TSpace, TInputValue >::bivectorPart(), DGtal::GAVector< TSpace, TInputValue >::dot(), and DGtal::GAVector< TSpace, TInputValue >::GAVector().

◆ operator*() [2/2]

template<typename TSpace , typename TInputValue = typename TSpace::Point>
GAVector DGtal::GAVector< TSpace, TInputValue >::operator* ( typename TInputValue::Component  f) const
inline

geometric product with a scalar

Definition at line 67 of file GAVector.h.

68  {
69  return GAVector( TInputValue(my_gavec[0] * f, my_gavec[1] * f) );
70  }

References DGtal::GAVector< TSpace, TInputValue >::GAVector(), and DGtal::GAVector< TSpace, TInputValue >::my_gavec.

◆ operator<()

template<typename TSpace , typename TInputValue = typename TSpace::Point>
bool DGtal::GAVector< TSpace, TInputValue >::operator< ( const GAVector< TSpace, TInputValue > &  other) const
inline

Definition at line 77 of file GAVector.h.

78  {
79  return bivectorPart( other ) > 0;
80  }

References DGtal::GAVector< TSpace, TInputValue >::bivectorPart().

◆ operator==()

template<typename TSpace , typename TInputValue = typename TSpace::Point>
bool DGtal::GAVector< TSpace, TInputValue >::operator== ( const GAVector< TSpace, TInputValue > &  other) const
inline

Definition at line 87 of file GAVector.h.

88  {
89  return bivectorPart( other ) == 0;
90  }

References DGtal::GAVector< TSpace, TInputValue >::bivectorPart().

Field Documentation

◆ my_gavec


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