https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RayTracing.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12// MOOSE includes
13#include "MooseTypes.h"
14
15// Forward declarations
16class LineSegment;
17class MooseMesh;
18
19namespace libMesh
20{
21class Elem;
22class MeshBase;
23class Plane;
24class Point;
25class PointLocatorBase;
26}
27
28namespace Moose
29{
39void elementsIntersectedByLine(const Point & p0,
40 const Point & p1,
41 const MeshBase & mesh,
42 const libMesh::PointLocatorBase & point_locator,
43 std::vector<Elem *> & intersected_elems,
44 std::vector<LineSegment> & segments);
45}
The LineSegment class is used by the LineMaterialSamplerBase class and for some ray tracing stuff.
Definition LineSegment.h:31
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
void elementsIntersectedByLine(const Point &p0, const Point &p1, const MeshBase &mesh, const libMesh::PointLocatorBase &point_locator, std::vector< Elem * > &intersected_elems, std::vector< LineSegment > &segments)
Find all of the elements intersected by a line.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...