00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef __itkFEMElement3DC0LinearHexahedron_h
00019
#define __itkFEMElement3DC0LinearHexahedron_h
00020
00021
#include "itkFEMElementStd.h"
00022
00023
namespace itk {
00024
namespace fem {
00025
00026
00027
00028
00033 class Element3DC0LinearHexahedron :
public ElementStd<8,3>
00034 {
00035
typedef ElementStd<8,3> TemplatedParentClass;
00036 FEM_ABSTRACT_CLASS(
Element3DC0LinearHexahedron,
TemplatedParentClass )
00037 public:
00038
00039
00041
00042
00043
00044
00045 virtual
void GetIntegrationPointAndWeight(
unsigned int i, VectorType& pt, Float& w,
unsigned int order) const;
00046
00047 virtual
unsigned int GetNumberOfIntegrationPoints(
unsigned int order) const;
00048
00049
00050
00052
00053
00054
00055
00056 virtual VectorType ShapeFunctions( const VectorType& pt ) const;
00057
00058 virtual
void ShapeFunctionDerivatives( const VectorType& pt, MatrixType& shapeD ) const;
00059
00060 virtual
bool GetLocalFromGlobalCoordinates( const VectorType& globalPt , VectorType& localPt) const;
00061
00065 #ifdef FEM_BUILD_VISUALIZATION
00066
void Draw(CDC* pDC,
Solution::
ConstPointer sol) const;
00067 #endif
00068
00069 };
00070
00071
00072
00073
00074 }}
00075
00076 #endif