vtkbone
vtkboneLinearOrthotropicMaterial.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Copyright 2010-2016, Numerics88 Solutions Ltd.
4  http://www.numerics88.com/
5 
6  Copyright (c) Eric Nodwell and Steven K. Boyd
7  See Copyright.txt for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 =========================================================================*/
13 
30 #ifndef __vtkboneLinearOrthotropicMaterial_h
31 #define __vtkboneLinearOrthotropicMaterial_h
32 
33 #include "vtkboneMaterial.h"
34 #include "vtkIdTypeArray.h"
35 #include "vtkboneWin32Header.h"
36 
38  {
39  public:
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
45 
47  vtkSetMacro(YoungsModulusX, double);
48  vtkGetMacro(YoungsModulusX, double);
49  vtkSetMacro(YoungsModulusY, double);
50  vtkGetMacro(YoungsModulusY, double);
51  vtkSetMacro(YoungsModulusZ, double);
52  vtkGetMacro(YoungsModulusZ, double);
54 
56 
58  vtkSetMacro(PoissonsRatioYZ, double);
59  vtkGetMacro(PoissonsRatioYZ, double);
60  vtkSetMacro(PoissonsRatioZX, double);
61  vtkGetMacro(PoissonsRatioZX, double);
62  vtkSetMacro(PoissonsRatioXY, double);
63  vtkGetMacro(PoissonsRatioXY, double);
65 
67 
69  double GetPoissonsRatioZY();
70  double GetPoissonsRatioXZ();
71  double GetPoissonsRatioYX();
73 
75 
77  vtkSetMacro(ShearModulusYZ, double);
78  vtkGetMacro(ShearModulusYZ, double);
79  vtkSetMacro(ShearModulusZX, double);
80  vtkGetMacro(ShearModulusZX, double);
81  vtkSetMacro(ShearModulusXY, double);
82  vtkGetMacro(ShearModulusXY, double);
84 
86 
87  double GetShearModulusZY() {return ShearModulusYZ;}
88  double GetShearModulusXZ() {return ShearModulusZX;}
89  double GetShearModulusYX() {return ShearModulusXY;}
91 
94  virtual vtkboneMaterial* Copy();
95 
100  virtual vtkboneMaterial* ScaledCopy(double factor);
101 
102  protected:
105 
115 
116  private:
118  void operator=(const vtkboneLinearOrthotropicMaterial&); // Not implemented.
119  };
120 
121 #endif
122 
void PrintSelf(ostream &os, vtkIndent indent)
static vtkboneMaterial * New()
#define VTKBONE_EXPORT
virtual vtkboneMaterial * ScaledCopy(double factor)
An abstract base class for materials used in finite element models.
virtual vtkboneMaterial * Copy()
An object representing a linear orthotropic material.