VTK  9.3.20240418
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:
26  const vtkVector3d& Pt10, const vtkVector3d& Pt11);
28 
30 
33  double* GetP00Data();
34  double* GetP01Data();
35  double* GetP10Data();
36  double* GetP11Data();
37  //}@
38 
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.
double * GetP01Data()
Get direct access to the underlying point data.
double * GetP10Data()
Get direct access to the underlying point data.
double * GetP11Data()
Get direct access to the underlying point data.
bool RayIntersection(const vtkVector3d &r, const vtkVector3d &q, vtkVector3d &uv)
Compute the intersection between a ray r->q and the quad.
vtkVector3d ComputeCartesianCoordinates(double u, double v)
Compute cartesian coordinates of point in the quad using parameteric coordinates.
double * GetP00Data()
Get direct access to the underlying point data.
vtkBilinearQuadIntersection(const vtkVector3d &pt00, const vtkVector3d &Pt01, const vtkVector3d &Pt10, const vtkVector3d &Pt11)