aimsalgo  5.1.2
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 carto::VolumeRef< double > & eigenValue () const
 
const carto::VolumeRef< 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 (carto::rc_ptr< carto::Volume< 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]
 
carto::VolumeRef< double > _eigenValue
 
carto::VolumeRef< double > _eigenVector
 

Detailed Description

template<class T>
class Moment< T >

Definition at line 55 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 164 of file moment.h.

◆ Moment() [2/2]

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

◆ ~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 190 of file moment.h.

◆ 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 ( AimsSurfaceTriangle )
virtual

Reimplemented in TriangulationMoment.

Definition at line 423 of file moment.h.

◆ doit() [2/3]

template<class T >
void Moment< T >::doit ( carto::rc_ptr< carto::Volume< T > > &  ,
,
int   
)
virtual

Reimplemented in GeometricMoment< T >.

Definition at line 411 of file moment.h.

◆ doit() [3/3]

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

Definition at line 435 of file moment.h.

◆ eigenValue()

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

Definition at line 122 of file moment.h.

References Moment< T >::_eigenValue.

Referenced by operator<<().

◆ eigenVector()

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

Definition at line 124 of file moment.h.

References Moment< T >::_eigenVector.

Referenced by operator<<().

◆ 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.

References Moment< T >::_g.

◆ 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.

References Moment< T >::_m0.

◆ m1() [1/2]

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

◆ m1() [2/2]

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

Definition at line 116 of file moment.h.

References Moment< T >::_m1.

◆ m2() [1/2]

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

◆ m2() [2/2]

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

Definition at line 118 of file moment.h.

References Moment< T >::_m2.

◆ m3() [1/2]

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

◆ m3() [2/2]

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

Definition at line 120 of file moment.h.

References Moment< T >::_m3.

◆ operator+()

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

Definition at line 400 of file moment.h.

◆ operator+=()

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

◆ 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.

References Moment< T >::_ct.

◆ setcx()

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

Definition at line 102 of file moment.h.

References Moment< T >::_cx.

◆ setcy()

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

Definition at line 103 of file moment.h.

References Moment< T >::_cy.

◆ setcz()

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

Definition at line 104 of file moment.h.

References Moment< T >::_cz.

◆ 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.

References Moment< T >::_sum.

◆ update() [1/3]

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

Definition at line 231 of file moment.h.

◆ update() [2/3]

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

Reimplemented in GeometricMoment< T >.

Definition at line 238 of file moment.h.

◆ update() [3/3]

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

Definition at line 224 of file moment.h.

Member Data Documentation

◆ _ct

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

Definition at line 147 of file moment.h.

Referenced by Moment< T >::ct(), and Moment< T >::setct().

◆ _cx

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

Definition at line 144 of file moment.h.

Referenced by Moment< T >::cx(), and Moment< T >::setcx().

◆ _cy

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

Definition at line 145 of file moment.h.

Referenced by Moment< T >::cy(), and Moment< T >::setcy().

◆ _cz

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

Definition at line 146 of file moment.h.

Referenced by Moment< T >::cz(), and Moment< T >::setcz().

◆ _eigenValue

template<class T >
carto::VolumeRef< double > Moment< T >::_eigenValue
protected

Definition at line 158 of file moment.h.

Referenced by Moment< T >::eigenValue().

◆ _eigenVector

template<class T >
carto::VolumeRef< double > Moment< T >::_eigenVector
protected

Definition at line 159 of file moment.h.

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

◆ _g

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

Definition at line 149 of file moment.h.

Referenced by Moment< T >::gravity(), and Moment< T >::Moment().

◆ _m0

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

Definition at line 152 of file moment.h.

Referenced by Moment< T >::m0(), and Moment< T >::operator+=().

◆ _m1

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

Definition at line 154 of file moment.h.

Referenced by Moment< T >::m1(), Moment< T >::Moment(), and Moment< T >::operator+=().

◆ _m2

template<class T >
double Moment< T >::_m2[6]
protected

Definition at line 155 of file moment.h.

Referenced by Moment< T >::m2(), Moment< T >::Moment(), and Moment< T >::operator+=().

◆ _m3

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

Definition at line 156 of file moment.h.

Referenced by Moment< T >::m3(), Moment< T >::Moment(), and Moment< T >::operator+=().

◆ _sum

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

Definition at line 151 of file moment.h.

Referenced by Moment< T >::operator+=(), and Moment< T >::sum().


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