VTK  9.3.1
vtkBilinearQuadIntersection.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkBilinearQuadIntersection_h
16 #define vtkBilinearQuadIntersection_h
17 
18 #include "vtkCommonComputationalGeometryModule.h" // For export macro
19 #include "vtkVector.h"
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkBilinearQuadIntersection
23 {
24 public:
25  vtkBilinearQuadIntersection(const vtkVector3d& pt00, const vtkVector3d& Pt01,
26  const vtkVector3d& Pt10, const vtkVector3d& Pt11);
27  vtkBilinearQuadIntersection() = default;
28 
30 
33  double* GetP00Data();
34  double* GetP01Data();
35  double* GetP10Data();
36  double* GetP11Data();
37  //}@
38 
43  vtkVector3d ComputeCartesianCoordinates(double u, double v);
44 
48  bool RayIntersection(const vtkVector3d& r, const vtkVector3d& q, vtkVector3d& uv);
49 
50 private:
51  vtkVector3d Point00;
52  vtkVector3d Point01;
53  vtkVector3d Point10;
54  vtkVector3d Point11;
55  int AxesSwapping = 0;
56 };
57 VTK_ABI_NAMESPACE_END
58 #endif // vtkBilinearQuadIntersection_h
59 // VTK-HeaderTest-Exclude: vtkBilinearQuadIntersection.h
Class to perform non planar quad intersection.