Orfeo Toolbox  3.16
itkFEMElement2DC0LinearTriangular.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkFEMElement2DC0LinearTriangular.h,v $
5  Language: C++
6  Date: $Date: 2009-01-28 21:29:04 $
7  Version: $Revision: 1.7 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 
18 #ifndef __itkFEMElement2DC0LinearTriangular_h
19 #define __itkFEMElement2DC0LinearTriangular_h
20 
21 #include "itkFEMElementStd.h"
22 
23 namespace itk {
24 namespace fem {
25 
31 {
34 public:
35 
36 
38 
43 
44  virtual void GetIntegrationPointAndWeight(unsigned int i, VectorType& pt, Float& w, unsigned int order) const;
45 
46  virtual unsigned int GetNumberOfIntegrationPoints(unsigned int order) const;
47 
49 
53  virtual VectorType ShapeFunctions( const VectorType& pt ) const;
54 
55  virtual void ShapeFunctionDerivatives( const VectorType& pt, MatrixType& shapeD ) const;
56 
57  // FIXME: Write a proper implementation
58  virtual bool GetLocalFromGlobalCoordinates( const VectorType& globalPt , VectorType& localPt) const;
59 
60  // Since the Jacobian is not quadratic, we need to provide our
61  // own implementation of calculating the determinant and inverse.
62  virtual Float JacobianDeterminant( const VectorType& pt, const MatrixType* pJ = 0 ) const;
63  virtual void JacobianInverse( const VectorType& pt, MatrixType& invJ, const MatrixType* pJ = 0 ) const;
64 
68 #ifdef FEM_BUILD_VISUALIZATION
69  void Draw(CDC* pDC, Solution::ConstPointer sol) const;
70 #endif
71 
75  static const Float trigGaussRuleInfo[6][7][4];
76 
81  static const unsigned int Nip[6];
82 
83 };
84 
85 }} // end namespace itk::fem
86 
87 #endif // #ifndef __itkFEMElement2DC0LinearTriangular_h

Generated at Sat Feb 2 2013 23:36:39 for Orfeo Toolbox with doxygen 1.8.1.1