VTK  9.4.20241118
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
21VTK_ABI_NAMESPACE_BEGIN
22class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkBilinearQuadIntersection
23{
24public:
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
50private:
51 vtkVector3d Point00;
52 vtkVector3d Point01;
53 vtkVector3d Point10;
54 vtkVector3d Point11;
55 int AxesSwapping = 0;
56};
57VTK_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.
bool RayIntersection(const vtkVector3d &r, const vtkVector3d &q, vtkVector3d &uv)
Compute the intersection between a ray r->q and the quad.
double * GetP00Data()
Get direct access to the underlying point data.
vtkVector3d ComputeCartesianCoordinates(double u, double v)
Compute cartesian coordinates of point in the quad using parameteric coordinates.
double * GetP10Data()
Get direct access to the underlying point data.
double * GetP11Data()
Get direct access to the underlying point data.
vtkBilinearQuadIntersection(const vtkVector3d &pt00, const vtkVector3d &Pt01, const vtkVector3d &Pt10, const vtkVector3d &Pt11)