aimsalgo  5.0.5
Neuroimaging image processing
Moment< T > Class Template Reference

#include <aims/moment/moment.h>

Inheritance diagram for Moment< T >:
Collaboration diagram for Moment< T >:

Public Types

enum  Operation { mSub = -1, mAdd = 1 }
 
enum  MomentId {
  m000 = 0, m100 = 0, m010 = 1, m001 = 2,
  m200 = 0, m020 = 1, m002 = 2, m110 = 3,
  m101 = 4, m011 = 5, m300 = 0, m030 = 1,
  m003 = 2, m210 = 3, m201 = 4, m120 = 5,
  m021 = 6, m102 = 7, m012 = 8, m111 = 9
}
 

Public Member Functions

 Moment ()
 doesn't necessarily clear all moments to 0. Call clear() to be sure More...
 
 Moment (const Moment< T > &)
 
virtual ~Moment ()
 
virtual void clear ()
 
double cx () const
 
double cy () const
 
double cz () const
 
double ct () const
 
void setcx (double x)
 
void setcy (double x)
 
void setcz (double x)
 
void setct (double x)
 
double * gravity ()
 
const double * gravity () const
 
double & sum ()
 
const double & sum () const
 
double & m0 ()
 
const double & m0 () const
 
double * m1 ()
 
const double * m1 () const
 
double * m2 ()
 
const double * m2 () const
 
double * m3 ()
 
const double * m3 () const
 
const AimsData< double > & eigenValue () const
 
const AimsData< double > & eigenVector () const
 
virtual void update (Point3df &, int)
 
virtual void update (AimsVector< double, 3 > &, int)
 
virtual void update (double, double, double, int)
 
virtual void doit (AimsData< T > &, T, int)
 
virtual void doit (AimsSurfaceTriangle &)
 
virtual void doit (const aims::BucketMap< Void > &)
 
virtual void orientation ()
 
Moment< T > & operator+= (const Moment< T > &)
 
Moment< T > operator+ (const Moment< T > &)
 

Protected Attributes

double _cx
 
double _cy
 
double _cz
 
double _ct
 
double _g [3]
 
double _sum
 
double _m0
 
double _m1 [3]
 
double _m2 [6]
 
double _m3 [10]
 
AimsData< double > _eigenValue
 
AimsData< double > _eigenVector
 

Detailed Description

template<class T>
class Moment< T >

Definition at line 47 of file moment.h.

Member Enumeration Documentation

◆ MomentId

template<class T>
enum Moment::MomentId
Enumerator
m000 
m100 
m010 
m001 
m200 
m020 
m002 
m110 
m101 
m011 
m300 
m030 
m003 
m210 
m201 
m120 
m021 
m102 
m012 
m111 

Definition at line 65 of file moment.h.

◆ Operation

template<class T>
enum Moment::Operation
Enumerator
mSub 
mAdd 

Definition at line 59 of file moment.h.

Constructor & Destructor Documentation

◆ Moment() [1/2]

template<class T >
Moment< T >::Moment ( )
inline

doesn't necessarily clear all moments to 0. Call clear() to be sure

Definition at line 162 of file moment.h.

◆ Moment() [2/2]

template<class T>
Moment< T >::Moment ( const Moment< T > &  other)
inline

Definition at line 169 of file moment.h.

◆ ~Moment()

template<class T>
virtual Moment< T >::~Moment ( )
inlinevirtual

Definition at line 95 of file moment.h.

Member Function Documentation

◆ clear()

template<class T >
void Moment< T >::clear ( )
inlinevirtual

Definition at line 188 of file moment.h.

Referenced by Moment< int16_t >::~Moment().

◆ ct()

template<class T>
double Moment< T >::ct ( ) const
inline

◆ cx()

template<class T>
double Moment< T >::cx ( ) const
inline

◆ cy()

template<class T>
double Moment< T >::cy ( ) const
inline

◆ cz()

template<class T>
double Moment< T >::cz ( ) const
inline

◆ doit() [1/3]

template<class T>
void Moment< T >::doit ( AimsData< T > &  ,
,
int   
)
virtual

Reimplemented in GeometricMoment< T >.

Definition at line 408 of file moment.h.

Referenced by Moment< int16_t >::eigenVector().

◆ doit() [2/3]

template<class T>
void Moment< T >::doit ( AimsSurfaceTriangle )
virtual

Reimplemented in TriangulationMoment.

Definition at line 420 of file moment.h.

◆ doit() [3/3]

template<class T>
void Moment< T >::doit ( const aims::BucketMap< Void > &  )
virtual

Definition at line 432 of file moment.h.

◆ eigenValue()

template<class T>
const AimsData< double >& Moment< T >::eigenValue ( ) const
inline

Definition at line 122 of file moment.h.

◆ eigenVector()

template<class T>
const AimsData< double >& Moment< T >::eigenVector ( ) const
inline

Definition at line 123 of file moment.h.

◆ gravity() [1/2]

template<class T>
double* Moment< T >::gravity ( )
inline

◆ gravity() [2/2]

template<class T>
const double* Moment< T >::gravity ( ) const
inline

Definition at line 108 of file moment.h.

◆ m0() [1/2]

template<class T>
double& Moment< T >::m0 ( )
inline

◆ m0() [2/2]

template<class T>
const double& Moment< T >::m0 ( ) const
inline

Definition at line 113 of file moment.h.

◆ m1() [1/2]

◆ m1() [2/2]

template<class T>
const double* Moment< T >::m1 ( ) const
inline

Definition at line 116 of file moment.h.

◆ m2() [1/2]

◆ m2() [2/2]

template<class T>
const double* Moment< T >::m2 ( ) const
inline

Definition at line 118 of file moment.h.

◆ m3() [1/2]

◆ m3() [2/2]

template<class T>
const double* Moment< T >::m3 ( ) const
inline

Definition at line 120 of file moment.h.

◆ operator+()

template<class T>
Moment< T > Moment< T >::operator+ ( const Moment< T > &  m)
inline

Definition at line 397 of file moment.h.

Referenced by Moment< int16_t >::eigenVector().

◆ operator+=()

template<class T>
Moment< T > & Moment< T >::operator+= ( const Moment< T > &  m)
inline

Definition at line 293 of file moment.h.

Referenced by Moment< int16_t >::eigenVector().

◆ orientation()

template<class T >
void Moment< T >::orientation ( )
inlinevirtual

◆ setct()

template<class T>
void Moment< T >::setct ( double  x)
inline

Definition at line 105 of file moment.h.

◆ setcx()

template<class T>
void Moment< T >::setcx ( double  x)
inline

Definition at line 102 of file moment.h.

◆ setcy()

template<class T>
void Moment< T >::setcy ( double  x)
inline

Definition at line 103 of file moment.h.

◆ setcz()

template<class T>
void Moment< T >::setcz ( double  x)
inline

Definition at line 104 of file moment.h.

◆ sum() [1/2]

template<class T>
double& Moment< T >::sum ( )
inline

◆ sum() [2/2]

template<class T>
const double& Moment< T >::sum ( ) const
inline

Definition at line 111 of file moment.h.

◆ update() [1/3]

template<class T >
void Moment< T >::update ( Point3df pt,
int  dir 
)
inlinevirtual

Definition at line 222 of file moment.h.

Referenced by Moment< int16_t >::eigenVector(), and Moment< int16_t >::update().

◆ update() [2/3]

template<class T >
void Moment< T >::update ( AimsVector< double, 3 > &  pt,
int  dir 
)
inlinevirtual

Definition at line 229 of file moment.h.

◆ update() [3/3]

template<class T >
void Moment< T >::update ( double  ,
double  ,
double  ,
int   
)
inlinevirtual

Reimplemented in GeometricMoment< T >.

Definition at line 236 of file moment.h.

Member Data Documentation

◆ _ct

template<class T>
double Moment< T >::_ct
protected

◆ _cx

template<class T>
double Moment< T >::_cx
protected

◆ _cy

template<class T>
double Moment< T >::_cy
protected

◆ _cz

template<class T>
double Moment< T >::_cz
protected

◆ _eigenValue

template<class T>
AimsData< double > Moment< T >::_eigenValue
protected

Definition at line 156 of file moment.h.

Referenced by Moment< int16_t >::eigenValue(), and Moment< int16_t >::orientation().

◆ _eigenVector

template<class T>
AimsData< double > Moment< T >::_eigenVector
protected

Definition at line 157 of file moment.h.

Referenced by Moment< int16_t >::eigenVector(), and Moment< int16_t >::orientation().

◆ _g

template<class T>
double Moment< T >::_g[3]
protected

◆ _m0

template<class T>
double Moment< T >::_m0
protected

◆ _m1

template<class T>
double Moment< T >::_m1[3]
protected

◆ _m2

◆ _m3

template<class T>
double Moment< T >::_m3[10]
protected

◆ _sum

template<class T>
double Moment< T >::_sum
protected

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