VMTK
vtkvmtkUnstructuredGridFEGradientAssembler.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: VMTK
4  Module: $RCSfile: vtkvmtkUnstructuredGridFEGradientAssembler.h,v $
5  Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
28 #ifndef __vtkvmtkUnstructuredGridFEGradientAssembler_h
29 #define __vtkvmtkUnstructuredGridFEGradientAssembler_h
30 
31 #include "vtkvmtkFEAssembler.h"
32 #include "vtkvmtkWin32Header.h"
33 
34 class VTK_VMTK_DIFFERENTIAL_GEOMETRY_EXPORT vtkvmtkUnstructuredGridFEGradientAssembler : public vtkvmtkFEAssembler
35 {
36 public:
37 
40 
41  virtual void Build() VTK_OVERRIDE;
42 
43  vtkSetStringMacro(ScalarsArrayName);
44  vtkGetStringMacro(ScalarsArrayName);
45 
46  vtkSetMacro(ScalarsComponent,int);
47  vtkGetMacro(ScalarsComponent,int);
48 
49  vtkSetMacro(Direction,int);
50  vtkGetMacro(Direction,int);
51 
52  vtkSetMacro(AssemblyMode,int);
53  vtkGetMacro(AssemblyMode,int);
54  void SetAssemblyModeToGradient()
55  { this->SetAssemblyMode(VTKVMTK_GRADIENTASSEMBLY); }
57  { this->SetAssemblyMode(VTKVMTK_PARTIALDERIVATIVEASSEMBLY); }
58 
59 //BTX
60  enum {
62  VTKVMTK_PARTIALDERIVATIVEASSEMBLY
63  };
64 //ETX
65 
66 protected:
69 
70  void BuildGradient();
71  void BuildPartialDerivative();
72 
76  int Direction;
77 
78 private:
80  void operator=(const vtkvmtkUnstructuredGridFEGradientAssembler&); // Not implemented.
81 };
82 
83 #endif
virtual void Build()=0
Base class on which to build to build specific finite element routines.
Construct a gradient based finite element calculation on a mesh.