740 mooseAssert(context,
"Missing RayTracingStudy context");
751 loadHelper(stream, ray->_current_point, context);
756 loadHelper(stream, ray->_current_incoming_side, context);
757 loadHelper(stream, ray->_trajectory_changed, context);
759 loadHelper(stream, ray->_should_continue, context);
760 loadHelper(stream, ray->_processor_crossings, context);
761 loadHelper(stream, ray->_intersections, context);
762 loadHelper(stream, ray->_trajectory_changes, context);
764 loadHelper(stream, ray->_max_distance, context);
768 if (ray->hasTraced())
770 "Cannot not load a Ray that has already traced during generation or propagation; " 771 "reset the Ray first");
bool currentlyGenerating() const
Whether or not the study is generating.
unsigned long int RayID
Type for a Ray's ID.
std::shared_ptr< Ray > acquireRayInternal(const RayID id, const std::size_t data_size, const std::size_t aux_data_size, const bool reset, const AcquireRayInternalKey &)
Key that is used for restricting access to acquireRayInternal().
virtual const Elem * query_elem_ptr(const dof_id_type i) const=0
bool currentlyPropagating() const
Whether or not the study is propagating (tracing Rays)
MeshBase & meshBase() const
Access to the libMesh MeshBase.
void loadHelper(std::istream &stream, P &data, void *context)
Base class for Ray tracing studies that will generate Rays and then propagate all of them to terminat...