Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Utilities
ITK
Code
Numerics
FEM
itkFEMElement3DStrain.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Insight Segmentation & Registration Toolkit
4
Module: $RCSfile: itkFEMElement3DStrain.h,v $
5
Language: C++
6
Date: $Date: 2009-01-29 20:09:13 $
7
Version: $Revision: 1.8 $
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 __itkFEMElement3DStrain_h
19
#define __itkFEMElement3DStrain_h
20
21
#include "
itkFEMElementBase.h
"
22
#include "
itkFEMMaterialLinearElasticity.h
"
23
24
namespace
itk {
25
namespace
fem {
26
41
template
<
class
TBaseClass=Element>
42
class
Element3DStrain
:
public
TBaseClass
43
{
44
FEM_ABSTRACT_CLASS
(
Element3DStrain
,TBaseClass)
45
public:
46
47
// Repeat the required typedefs and enums from parent class
48
typedef typename
Superclass
::
Float
Float
;
49
typedef typename
Superclass
::
MatrixType
MatrixType
;
50
typedef typename
Superclass
::
VectorType
VectorType
;
51
55
virtual
void
Read
( std::istream&,
void
* info );
56
60
virtual
void
Write
( std::ostream& f ) const;
61
65
Element3DStrain
();
66
68
75
virtual
void
GetStrainDisplacementMatrix
(MatrixType& B, const MatrixType& shapeDgl) const;
76
80
virtual
void
GetMaterialMatrix
(MatrixType& D) const;
81
85
virtual
unsigned
int
GetNumberOfDegreesOfFreedomPerNode
(
void
)
const
86
{
return
3; }
87
88
public
:
89
93
MaterialLinearElasticity::ConstPointer
m_mat
;
94
virtual
Material::ConstPointer
GetMaterial
(
void
)
const
{
return
m_mat
; }
95
virtual
void
SetMaterial
(
Material::ConstPointer
mat_ ) {
m_mat
=
dynamic_cast<
const
MaterialLinearElasticity
*
>
(&*mat_); }
96
97
};
// class Element3DStrain
98
99
#ifdef _MSC_VER
100
// Declare a static dummy function to prevent a MSVC 6.0 SP5 from crashing.
101
// I have no idea why things don't work when this is not declared, but it
102
// looks like this declaration makes compiler forget about some of the
103
// troubles it has with templates.
104
static
void
Dummy(
void
);
105
#endif // #ifdef _MSC_VER
106
107
}}
// end namespace itk::fem
108
109
#ifndef ITK_MANUAL_INSTANTIATION
110
#include "
itkFEMElement3DStrain.txx
"
111
#endif
112
113
#endif // #ifndef __itkFEMElement3DStrain_h
Generated at Sat Feb 2 2013 23:36:42 for
Orfeo Toolbox
with
doxygen 1.8.1.1