vcg::tri::Inertia< InertiaMeshType > Class Template Reference

#include <inertia.h>

List of all members.

Public Member Functions

Point3< ScalarTypeCenterOfMass ()
void CompFaceIntegrals (FaceType &f)
void compProjectionIntegrals (FaceType &f)
void Compute (MeshType &m)
void InertiaTensor (Matrix44< ScalarType > &J)
void InertiaTensor (Matrix33< ScalarType > &J)
void InertiaTensorEigen (Matrix44< ScalarType > &EV, Point4< ScalarType > &ev)
ScalarType Mass ()

Static Public Member Functions

static void Covariance (const MeshType &m, vcg::Point3< ScalarType > &bary, vcg::Matrix33< ScalarType > &C)

Private Types

enum  { X = 0, Y = 1, Z = 2 }
typedef MeshType::ConstFaceIterator ConstFaceIterator
typedef MeshType::CoordType CoordType
typedef MeshType::FaceContainer FaceContainer
typedef MeshType::FaceIterator FaceIterator
typedef MeshType::FacePointer FacePointer
typedef MeshType::FaceType FaceType
typedef InertiaMeshType MeshType
typedef MeshType::ScalarType ScalarType
typedef MeshType::VertexIterator VertexIterator
typedef MeshType::VertexPointer VertexPointer
typedef MeshType::VertexType VertexType

Private Member Functions

ScalarType CUBE (ScalarType &x) const
ScalarType SQR (ScalarType &x) const

Private Attributes

int A
int B
int C
double Fa
double Faa
double Faaa
double Faab
double Fb
double Fbb
double Fbbb
double Fbbc
double Fc
double Fcc
double Fcca
double Fccc
double P1
double Pa
double Paa
double Paaa
double Paab
double Pab
double Pabb
double Pb
double Pbb
double Pbbb
double T0
double T1 [3]
double T2 [3]
double TP [3]

Detailed Description

template<class InertiaMeshType>
class vcg::tri::Inertia< InertiaMeshType >

Definition at line 68 of file inertia.h.


Member Typedef Documentation

template<class InertiaMeshType>
typedef MeshType::ConstFaceIterator vcg::tri::Inertia< InertiaMeshType >::ConstFaceIterator [private]

Definition at line 78 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::CoordType vcg::tri::Inertia< InertiaMeshType >::CoordType [private]

Definition at line 80 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::FaceContainer vcg::tri::Inertia< InertiaMeshType >::FaceContainer [private]

Definition at line 79 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::FaceIterator vcg::tri::Inertia< InertiaMeshType >::FaceIterator [private]

Definition at line 77 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::FacePointer vcg::tri::Inertia< InertiaMeshType >::FacePointer [private]

Definition at line 76 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::FaceType vcg::tri::Inertia< InertiaMeshType >::FaceType [private]

Definition at line 75 of file inertia.h.

template<class InertiaMeshType>
typedef InertiaMeshType vcg::tri::Inertia< InertiaMeshType >::MeshType [private]

Definition at line 70 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::ScalarType vcg::tri::Inertia< InertiaMeshType >::ScalarType [private]

Definition at line 74 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::VertexIterator vcg::tri::Inertia< InertiaMeshType >::VertexIterator [private]

Definition at line 73 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::VertexPointer vcg::tri::Inertia< InertiaMeshType >::VertexPointer [private]

Definition at line 72 of file inertia.h.

template<class InertiaMeshType>
typedef MeshType::VertexType vcg::tri::Inertia< InertiaMeshType >::VertexType [private]

Definition at line 71 of file inertia.h.


Member Enumeration Documentation

template<class InertiaMeshType>
anonymous enum [private]
Enumerator:
X 
Y 
Z 

Definition at line 83 of file inertia.h.


Member Function Documentation

template<class InertiaMeshType>
Point3<ScalarType> vcg::tri::Inertia< InertiaMeshType >::CenterOfMass (  )  [inline]

Definition at line 240 of file inertia.h.

template<class InertiaMeshType>
void vcg::tri::Inertia< InertiaMeshType >::CompFaceIntegrals ( FaceType f  )  [inline]

Definition at line 160 of file inertia.h.

template<class InertiaMeshType>
void vcg::tri::Inertia< InertiaMeshType >::compProjectionIntegrals ( FaceType f  )  [inline]

Definition at line 103 of file inertia.h.

template<class InertiaMeshType>
void vcg::tri::Inertia< InertiaMeshType >::Compute ( MeshType m  )  [inline]

Definition at line 195 of file inertia.h.

template<class InertiaMeshType>
static void vcg::tri::Inertia< InertiaMeshType >::Covariance ( const MeshType m,
vcg::Point3< ScalarType > &  bary,
vcg::Matrix33< ScalarType > &  C 
) [inline, static]

Compute covariance matrix of a mesh, i.e. the integral int_{M} { (x-b)(x-b)^T }dx where b is the barycenter and x spans over the mesh M

Definition at line 311 of file inertia.h.

template<class InertiaMeshType>
ScalarType vcg::tri::Inertia< InertiaMeshType >::CUBE ( ScalarType x  )  const [inline, private]

Definition at line 85 of file inertia.h.

template<class InertiaMeshType>
void vcg::tri::Inertia< InertiaMeshType >::InertiaTensor ( Matrix44< ScalarType > &  J  )  [inline]

Definition at line 269 of file inertia.h.

template<class InertiaMeshType>
void vcg::tri::Inertia< InertiaMeshType >::InertiaTensor ( Matrix33< ScalarType > &  J  )  [inline]

Definition at line 248 of file inertia.h.

template<class InertiaMeshType>
void vcg::tri::Inertia< InertiaMeshType >::InertiaTensorEigen ( Matrix44< ScalarType > &  EV,
Point4< ScalarType > &  ev 
) [inline]

Compute eigenvalues and eigenvectors of inertia tensor. The eigenvectors make a rotation matrix that aligns the mesh along the axes of min/max inertia

Definition at line 296 of file inertia.h.

template<class InertiaMeshType>
ScalarType vcg::tri::Inertia< InertiaMeshType >::Mass (  )  [inline]

Definition at line 235 of file inertia.h.

template<class InertiaMeshType>
ScalarType vcg::tri::Inertia< InertiaMeshType >::SQR ( ScalarType x  )  const [inline, private]

Definition at line 84 of file inertia.h.


Member Data Documentation

template<class InertiaMeshType>
int vcg::tri::Inertia< InertiaMeshType >::A [private]

Definition at line 87 of file inertia.h.

template<class InertiaMeshType>
int vcg::tri::Inertia< InertiaMeshType >::B [private]

Definition at line 88 of file inertia.h.

template<class InertiaMeshType>
int vcg::tri::Inertia< InertiaMeshType >::C [private]

Definition at line 89 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fa [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Faa [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Faaa [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Faab [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fb [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fbb [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fbbb [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fbbc [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fc [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fcc [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fcca [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Fccc [private]

Definition at line 95 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::P1 [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Pa [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Paa [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Paaa [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Paab [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Pab [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Pabb [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Pb [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Pbb [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::Pbbb [private]

Definition at line 92 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::T0 [private]

Definition at line 98 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::T1[3] [private]

Definition at line 98 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::T2[3] [private]

Definition at line 98 of file inertia.h.

template<class InertiaMeshType>
double vcg::tri::Inertia< InertiaMeshType >::TP[3] [private]

Definition at line 98 of file inertia.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:33 2013