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) override;
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
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() override;
95
100 virtual vtkboneMaterial* ScaledCopy(double factor) override;
101
102 protected:
105
115
116 private:
118 void operator=(const vtkboneLinearOrthotropicMaterial&); // Not implemented.
119};
120
121#endif
122
An object representing a linear orthotropic material.
virtual vtkboneMaterial * Copy() override
virtual vtkboneMaterial * ScaledCopy(double factor) override
static vtkboneLinearOrthotropicMaterial * New()
void PrintSelf(ostream &os, vtkIndent indent) override
An abstract base class for materials used in finite element models.