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);
registerMooseObject("RayTracingTestApp", TestReuseRaysStudy)
void mooseError(Args &&... args) const
virtual unsigned int dimension() const
const libMesh::ConstElemRange * getActiveLocalElementRange()
Base class for Ray tracing studies that will generate Rays and then propagate all of them to terminat...
static InputParameters validParams()
MooseMesh & _mesh
The Mesh.
void moveRayToBuffer(std::shared_ptr< Ray > &ray)
Moves a ray to the buffer to be traced during generateRays().
std::shared_ptr< Ray > acquireRay()
User APIs for constructing Rays within the RayTracingStudy.
const std::vector< std::shared_ptr< Ray > > & rayBank() const
Get the Ray bank.
void moveRaysToBuffer(std::vector< std::shared_ptr< Ray > > &rays)
Moves rays to the buffer to be traced during generateRays().
Basic datastructure for a ray that will traverse the mesh.
Tests the re-use of banked rays.
static InputParameters validParams()
TestReuseRaysStudy(const InputParameters ¶meters)
virtual void postExecuteStudy() override
Entry point after study execution.
virtual void generateRays() override
Subclasses should override this to determine how to generate Rays.
std::vector< std::shared_ptr< Ray > > & _banked_rays