VTK  9.2.6
vtkBilinearQuadIntersection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLagrangianParticleTracker.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
27 #ifndef vtkBilinearQuadIntersection_h
28 #define vtkBilinearQuadIntersection_h
29 
30 #include "vtkCommonComputationalGeometryModule.h" // For export macro
31 #include "vtkVector.h"
32 
33 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkBilinearQuadIntersection
34 {
35 public:
36  vtkBilinearQuadIntersection(const vtkVector3d& pt00, const vtkVector3d& Pt01,
37  const vtkVector3d& Pt10, const vtkVector3d& Pt11);
38  vtkBilinearQuadIntersection() = default;
39 
41 
44  double* GetP00Data();
45  double* GetP01Data();
46  double* GetP10Data();
47  double* GetP11Data();
48  //}@
49 
54  vtkVector3d ComputeCartesianCoordinates(double u, double v);
55 
59  bool RayIntersection(const vtkVector3d& r, const vtkVector3d& q, vtkVector3d& uv);
60 
61 private:
62  vtkVector3d Point00;
63  vtkVector3d Point01;
64  vtkVector3d Point10;
65  vtkVector3d Point11;
66  int AxesSwapping = 0;
67 };
68 #endif // vtkBilinearQuadIntersection_h
69 // VTK-HeaderTest-Exclude: vtkBilinearQuadIntersection.h
Class to perform non planar quad intersection.