ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkFEMMaterialLinearElasticity.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef __itkFEMMaterialLinearElasticity_h
20 #define __itkFEMMaterialLinearElasticity_h
21 
22 #include "itkFEMMaterialBase.h"
23 
24 namespace itk
25 {
26 namespace fem
27 {
38 {
39 public:
40 
46 
48  itkSimpleNewMacro(Self);
49 
51  itkTypeMacro(MaterialLinearElasticity, Material);
52 
55  virtual::itk::LightObject::Pointer CreateAnother(void) const ITK_OVERRIDE;
56 
61 
65  void SetCrossSectionalArea(double area);
66 
70  double GetCrossSectionalArea() const;
71 
75  void SetYoungsModulus(double modulus);
76 
80  double GetYoungsModulus() const;
81 
85  void SetThickness(double t);
86 
90  double GetThickness() const;
91 
95  void SetMomentOfInertia(double iner);
96 
100  double GetMomentOfInertia() const;
101 
105  void SetPoissonsRatio(double poi);
106 
110  double GetPoissonsRatio() const;
111 
115  void SetDensityHeatProduct(double dhp);
116 
120  double GetDensityHeatProduct() const;
121 
122 protected:
123 
124  virtual void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
125 
126  /* Data members of MaterialLinearElasticity class */
127 
132 
137 
142 
147 
151  double m_Thickness;
152 
153  /*
154  * ... we can add properties here as required without the influence on the already defined elements
155  */
156 
161 };
162 
163 }
164 } // end namespace itk::fem
165 
166 #endif // #ifndef __itkFEMMaterialLinearElasticity_h
Light weight base class for most itk classes.
virtual ::itk::LightObject::Pointer CreateAnother(void) const ITK_OVERRIDE
void SetCrossSectionalArea(double area)
Linear elasticity material class.
Base class for storing all the implicit material and other properties required to fully define the el...
void SetDensityHeatProduct(double dhp)
void SetYoungsModulus(double modulus)
Control indentation during Print() invocation.
Definition: itkIndent.h:49
void SetMomentOfInertia(double iner)
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE