11 bool& intersection_found,
12 bool& backward_tolerance_hit,
15 const auto& grid =
Grid();
17 std::pair<double,double> weights;
19 const double fabs_mu = std::fabs(omega_i.
Dot(cell.
faces_[0].normal_));
26 for (
int f=0; f<num_faces; f++)
32 cell.
faces_[f].normal_, face_point,
34 intersection_point, &weights);
36 double D = weights.first*d_extend;
41 oi.
pos_f = intersection_point;
45 intersection_found =
true;
49 backward_tolerance_hit =
true;
std::vector< CellFace > faces_
std::vector< uint64_t > vertex_ids_
double extension_distance_
void TraceSlab(const Cell &cell, Vector3 &pos_i, Vector3 &omega_i, bool &intersection_found, bool &backward_tolerance_hit, RayTracerOutputInformation &oi)
double backward_tolerance_
const chi_mesh::MeshContinuum & Grid() const
bool CheckPlaneLineIntersect(const chi_mesh::Normal &plane_normal, const chi_mesh::Vector3 &plane_point, const chi_mesh::Vector3 &line_point_0, const chi_mesh::Vector3 &line_point_1, chi_mesh::Vector3 &intersection_point, std::pair< double, double > *weights=nullptr)
Vector3 Dot(const chi_mesh::TensorRank2Dim3 &that) const