LCOV - code coverage report
Current view: top level - include/base - RayTracingAttributes.h (source / functions) Hit Total Coverage
Test: idaholab/moose ray_tracing: #31405 (292dce) with base fef103 Lines: 9 9 100.0 %
Date: 2025-09-04 07:56:07 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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             : 
      16             : /**
      17             :  * Attribute for the RayTracingStudy a RayTracingObject is associated with.
      18             :  */
      19       74423 : class AttribRayTracingStudy : public Attribute
      20             : {
      21             : public:
      22      163353 :   AttribRayTracingStudy(TheWarehouse & w, const RayTracingStudy * study)
      23      163353 :     : Attribute(w, "ray_tracing_study")
      24             :   {
      25      163353 :     _val = study;
      26      163353 :   }
      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       74423 :   virtual std::unique_ptr<Attribute> clone() const override
      31             :   {
      32       74423 :     return std::unique_ptr<Attribute>(new AttribRayTracingStudy(*this));
      33             :   }
      34      195476 :   virtual size_t hash() const override
      35             :   {
      36             :     size_t h = 0;
      37             :     Moose::hash_combine(h, _val);
      38      195476 :     return h;
      39             :   }
      40             : 
      41             : private:
      42             :   const RayTracingStudy * _val;
      43             : };

Generated by: LCOV version 1.14