Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
RayTracingAttributes.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 #include "TheWarehouse.h"
13 
14 class RayTracingStudy;
15 
20 {
21 public:
23  : Attribute(w, "ray_tracing_study")
24  {
25  _val = study;
26  }
27  virtual void initFrom(const MooseObject * obj) override;
28  virtual bool isMatch(const Attribute & other) const override;
29  virtual bool isEqual(const Attribute & other) const override;
30  virtual std::unique_ptr<Attribute> clone() const override
31  {
32  return std::unique_ptr<Attribute>(new AttribRayTracingStudy(*this));
33  }
34  virtual size_t hash() const override
35  {
36  size_t h = 0;
38  return h;
39  }
40 
41 private:
43 };
virtual bool isMatch(const Attribute &other) const override
Attribute for the RayTracingStudy a RayTracingObject is associated with.
virtual std::unique_ptr< Attribute > clone() const override
virtual void initFrom(const MooseObject *obj) override
void hash_combine(std::size_t &)
virtual bool isEqual(const Attribute &other) const override
virtual size_t hash() const override
AttribRayTracingStudy(TheWarehouse &w, const RayTracingStudy *study)
const RayTracingStudy * _val
Base class for Ray tracing studies that will generate Rays and then propagate all of them to terminat...