vtkPVChangeOfBasisHelper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVChangeOfBasisHelper.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
22 #ifndef vtkPVChangeOfBasisHelper_h
23 #define vtkPVChangeOfBasisHelper_h
24 
25 #include "vtkObject.h"
26 #include "vtkPVVTKExtensionsMiscModule.h" // needed for export macro
27 
28 #include "vtkDataObject.h"
29 #include "vtkDoubleArray.h"
30 #include "vtkFieldData.h"
31 #include "vtkMatrix4x4.h"
32 #include "vtkNew.h"
33 #include "vtkSmartPointer.h"
34 #include "vtkStringArray.h"
35 #include "vtkVector.h"
36 
37 #include <algorithm>
38 
40 {
41 public:
45  static vtkSmartPointer<vtkMatrix4x4> GetChangeOfBasisMatrix(
46  const vtkVector3d& u, const vtkVector3d& v, const vtkVector3d& w);
47 
48  static bool GetBasisVectors(vtkMatrix4x4* matrix, vtkVector3d& u, vtkVector3d& v, vtkVector3d& w);
49 
50  static bool AddChangeOfBasisMatrixToFieldData(vtkDataObject* dataObject, vtkMatrix4x4* matrix);
51 
52  static vtkSmartPointer<vtkMatrix4x4> GetChangeOfBasisMatrix(vtkDataObject* dataObject);
53 
55 
58  static bool AddBasisNames(
59  vtkDataObject* dataObject, const char* utitle, const char* vtitle, const char* wtitle);
61 
62  static void GetBasisName(
63  vtkDataObject* dataObject, const char*& utitle, const char*& vtitle, const char*& wtitle);
64 
66 
69  static bool AddBoundingBoxInBasis(vtkDataObject* dataObject, const double bbox[6]);
71 
72  static bool GetBoundingBoxInBasis(vtkDataObject* dataObject, double bbox[6]);
73 };
74 
75 #endif
76 //****************************************************************************
77 // VTK-HeaderTest-Exclude: vtkPVChangeOfBasisHelper.h
vtkPVChangeOfBasisHelper is designed for ORNL-SNS use-cases where we needed to add support for differ...
#define VTKPVVTKEXTENSIONSMISC_EXPORT