OGS
ComputeIntersections.h
Go to the documentation of this file.
1
9#pragma once
10
11#include <vtkType.h>
12#include <vtkUnstructuredGrid.h>
13
14#include <Eigen/Core>
15#include <range/v3/view/enumerate.hpp>
16#include <vector>
17
19
20namespace AU = ApplicationUtils;
21
24{
25 Eigen::Vector3d point;
26 double t; // parameter along the line from p0 to p1, i.e. p = p0 + t*(p1 -
27 // p0) used for sorting
28};
29
41std::vector<std::vector<IntersectionResult>> getOrderedAnchorCoords(
42 vtkUnstructuredGrid* grid,
43 Eigen::MatrixX3d const& realcoords,
44 Eigen::VectorXd const& free_fraction,
45 double const tol);
46
56 std::vector<std::vector<IntersectionResult>> const& anchor_coords,
57 AU::ComputeNaturalCoordsResult const& original_anchor_data);
std::vector< std::vector< IntersectionResult > > getOrderedAnchorCoords(vtkUnstructuredGrid *grid, Eigen::MatrixX3d const &realcoords, Eigen::VectorXd const &free_fraction, double const tol)
Finds intersection points of a line segment with the cells of a vtkUnstructuredGrid....
AU::ComputeNaturalCoordsResult setPhysicalPropertiesForIntersectionPoints(std::vector< std::vector< IntersectionResult > > const &anchor_coords, AU::ComputeNaturalCoordsResult const &original_anchor_data)
fills the physical properties of the intersection points based on the original anchor data.
Result of an intersection of a line with a cell.