https://mooseframework.inl.gov
GeometryBase.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 class LineSegment;
13 class Ball;
14 
19 {
20 public:
21  virtual ~GeometryBase() = default;
22 
26  virtual bool intersect(const LineSegment & line_segment) const = 0;
27 
32  virtual Ball computeBoundingBall() const = 0;
33 };
Ball primitive: a circle in 2D or a sphere in 3D.
Definition: Ball.h:34
virtual ~GeometryBase()=default
The LineSegment class is used by the LineMaterialSamplerBase class and for some ray tracing stuff...
Definition: LineSegment.h:30
virtual bool intersect(const LineSegment &line_segment) const =0
Check if a line segment intersects this geometry.
Base class for geometry primitives.
Definition: GeometryBase.h:18
virtual Ball computeBoundingBall() const =0
Compute a bounding ball for this geometry.