Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Utilities
ITK
Code
Numerics
FEM
itkFEMElement2DMembrane.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Insight Segmentation & Registration Toolkit
4
Module: $RCSfile: itkFEMElement2DMembrane.h,v $
5
Language: C++
6
Date: $Date: 2009-01-28 21:57:30 $
7
Version: $Revision: 1.4 $
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 __itkFEMElement2DMembrane_h
19
#define __itkFEMElement2DMembrane_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
Element2DMembrane
:
public
TBaseClass
43
{
44
FEM_ABSTRACT_CLASS
(
Element2DMembrane
,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
Element2DMembrane
();
66
68
75
virtual
void
GetStrainDisplacementMatrix
(MatrixType& B, const MatrixType& shapeDgl) const;
76
80
virtual
void
GetMaterialMatrix
(MatrixType& D) const;
81
85
void
GetMassMatrix
(MatrixType& Me) const;
86
87
91
virtual
unsigned
int
GetNumberOfDegreesOfFreedomPerNode
(
void
)
const
92
{
return
2; }
93
94
public
:
95
99
MaterialLinearElasticity::ConstPointer
m_mat
;
100
virtual
Material::ConstPointer
GetMaterial
(
void
)
const
{
return
m_mat
; }
101
virtual
void
SetMaterial
(
Material::ConstPointer
mat_ ) {
m_mat
=
dynamic_cast<
const
MaterialLinearElasticity
*
>
(&*mat_); }
102
103
104
};
// class Element2DMembrane
105
106
#ifdef _MSC_VER
107
// Declare a static dummy function to prevent a MSVC 6.0 SP5 from crashing.
108
// I have no idea why things don't work when this is not declared, but it
109
// looks like this declaration makes compiler forget about some of the
110
// troubles it has with templates.
111
static
void
Dummy(
void
);
112
#endif // #ifdef _MSC_VER
113
114
}}
// end namespace itk::fem
115
116
#ifndef ITK_MANUAL_INSTANTIATION
117
#include "
itkFEMElement2DMembrane.txx
"
118
#endif
119
120
#endif // #ifndef __itkFEMElement2DMembrane_h
Generated at Sat Feb 2 2013 23:36:40 for
Orfeo Toolbox
with
doxygen 1.8.1.1