18 params.set<
bool>(
"_use_ray_registration") =
false;
24 _executed_once(declareRestartableData<bool>(
"executed_once", false)),
26 declareRestartableDataWithContext<
std::vector<
std::shared_ptr<
Ray>>>(
"banked_rays", this))
39 ray->setStart(elem->vertex_average(), elem);
40 ray->setStartingDirection(Point(1, 0, 0));
47 const auto start_point = ray->currentPoint();
48 const auto direction = ray->direction();
49 const auto elem = ray->currentElem();
52 ray->clearStartingInfo();
53 ray->setStart(start_point, elem);
54 ray->setStartingDirection(-direction);
libMesh::ConstElemRange * getActiveLocalElementRange()
const std::vector< std::shared_ptr< Ray > > & rayBank() const
Get the Ray bank.
MooseMesh & _mesh
The Mesh.
std::shared_ptr< Ray > acquireRay()
User APIs for constructing Rays within the RayTracingStudy.
virtual void postExecuteStudy() override
Entry point after study execution.
virtual void generateRays() override
Subclasses should override this to determine how to generate Rays.
static InputParameters validParams()
virtual unsigned int dimension() const
static InputParameters validParams()
registerMooseObject("RayTracingTestApp", TestReuseRaysStudy)
Basic datastructure for a ray that will traverse the mesh.
std::vector< std::shared_ptr< Ray > > & _banked_rays
void mooseError(Args &&... args) const
void moveRayToBuffer(std::shared_ptr< Ray > &ray)
Moves a ray to the buffer to be traced during generateRays().
void moveRaysToBuffer(std::vector< std::shared_ptr< Ray >> &rays)
Moves rays to the buffer to be traced during generateRays().
TestReuseRaysStudy(const InputParameters ¶meters)
Tests the re-use of banked rays.
Base class for Ray tracing studies that will generate Rays and then propagate all of them to terminat...