Patate Lib  0.5
Vitelotte::QuadraticElement< _Scalar > Class Template Reference

Inherits Vitelotte::LinearElement< _Scalar >.

## Detailed Description

### template<typename _Scalar> class Vitelotte::QuadraticElement< _Scalar >

Provides method to evaluate quadratic elements and their derivatives.

## Public Types

typedef _Scalar Scalar

typedef LinearElement< Scalar > Base

typedef Eigen::Matrix< Scalar, 2, 1 > Vector

typedef Eigen::Matrix< Scalar, 6, 1 > Values

typedef Eigen::Matrix< Scalar, 6, 2 > Jacobian

typedef Eigen::Matrix< Scalar, 2, 2 > Hessian

typedef Eigen::Matrix< Scalar, 3, 1 > BarycentricCoord

## Public Member Functions

template<typename It >

template<typename Derived0 , typename Derived1 , typename Derived2 >
QuadraticElement (const Eigen::MatrixBase< Derived0 > &p0, const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)

Values eval (const BarycentricCoord &bc) const

Scalar eval (unsigned bi, const BarycentricCoord &bc) const

const Jacobian jacobian (const BarycentricCoord &bc) const

const Vector gradient (unsigned bi, const BarycentricCoord &bc) const

Protected Types inherited from Vitelotte::LinearElement< _Scalar >
typedef Eigen::Matrix< Scalar, 3, 1 > Vector3

typedef Eigen::Matrix< Scalar, 2, 2 > Matrix2

typedef Eigen::Matrix< Scalar, 3, 3 > Matrix3

typedef Eigen::Matrix< Scalar, 3, 2 > Matrix3x2

typedef Eigen::Matrix< Scalar, 2, 3 > Matrix2x3

typedef _Scalar Scalar

typedef Eigen::Matrix< Scalar, 2, 1 > Vector

typedef Eigen::Matrix< Scalar, 3, 1 > Values

typedef Eigen::Matrix< Scalar, 3, 2 > Jacobian

typedef Eigen::Matrix< Scalar, 2, 2 > Hessian

typedef Eigen::Matrix< Scalar, 3, 1 > BarycentricCoord

Protected Member Functions inherited from Vitelotte::LinearElement< _Scalar >
template<typename Derived0 , typename Derived1 , typename Derived2 >
void computeFromPoints (const Eigen::MatrixBase< Derived0 > &p0, const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)

template<typename It >
LinearElement (It pointIt)

template<typename Derived0 , typename Derived1 , typename Derived2 >
LinearElement (const Eigen::MatrixBase< Derived0 > &p0, const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)

Vector projPoint (unsigned pi, unsigned offset=0) const

Scalar edgeLength (unsigned ei, unsigned offset=0) const

Scalar doubleArea () const

BarycentricCoord bcProj (const Vector &p) const

Values eval (const BarycentricCoord &bc) const

Scalar eval (unsigned bi, const BarycentricCoord &bc) const

const Eigen::Block< const
Matrix3, 3, 2 >
jacobian (const BarycentricCoord &=BarycentricCoord()) const

const Vector gradient (unsigned bi, const BarycentricCoord &=BarycentricCoord()) const

Protected Attributes inherited from Vitelotte::LinearElement< _Scalar >
Vector m_p2

Vector3 m_eLen

Scalar m_2delta

Matrix3 m_lbf