https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
12class LineSegment;
13class Ball;
14
19{
20public:
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:35
Base class for geometry primitives.
virtual ~GeometryBase()=default
virtual bool intersect(const LineSegment &line_segment) const =0
Check if a line segment intersects this geometry.
virtual Ball computeBoundingBall() const =0
Compute a bounding ball for this geometry.
The LineSegment class is used by the LineMaterialSamplerBase class and for some ray tracing stuff.
Definition LineSegment.h:31