https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | List of all members
PointInSurfaceCheckInterface Class Referenceabstract

Mixin interface implemented by user objects that can classify a query point against a closed surface (or a union of closed surfaces). More...

#include <PointInSurfaceCheckInterface.h>

Inheritance diagram for PointInSurfaceCheckInterface:
[legend]

Public Member Functions

virtual ~PointInSurfaceCheckInterface ()=default
 
virtual SurfaceGeometry::SurfaceSide sideness (const libMesh::Point &p) const =0
 Classify a point as INSIDE, ON, or OUTSIDE the surface(s).
 
bool contains (const libMesh::Point &p) const
 Whether the point is inside or on the surface(s). ON maps to true.
 

Detailed Description

Mixin interface implemented by user objects that can classify a query point against a closed surface (or a union of closed surfaces).

This is deliberately NOT a UserObject: keeping it a plain abstract class lets a concrete object multiply-inherit it alongside either GeneralUserObject (for the mesh-based, thread-safe checkers) or ThreadedGeneralUserObject (for checkers that evaluate a Function and therefore need a per-thread copy). Deriving the interface itself from GeneralUserObject would create a diamond in the threaded case, so it carries no base and no data.

Consumers hold objects polymorphically as PointInSurfaceCheckInterface and, to fetch one by name, dynamic_cast the UserObjectBase to this interface – the same pattern MOOSE uses for role mixins such as BlockRestrictable.

Definition at line 34 of file PointInSurfaceCheckInterface.h.

Constructor & Destructor Documentation

◆ ~PointInSurfaceCheckInterface()

virtual PointInSurfaceCheckInterface::~PointInSurfaceCheckInterface ( )
virtualdefault

Member Function Documentation

◆ contains()

bool PointInSurfaceCheckInterface::contains ( const libMesh::Point p) const
inline

Whether the point is inside or on the surface(s). ON maps to true.

Definition at line 43 of file PointInSurfaceCheckInterface.h.

44 {
46 }
virtual SurfaceGeometry::SurfaceSide sideness(const libMesh::Point &p) const =0
Classify a point as INSIDE, ON, or OUTSIDE the surface(s).
@ OUTSIDE
The point lies strictly in the exterior of the closed surface.

Referenced by PointInPolyhedronCheckUO::spatialValue(), PointInSignedFunctionCheckUO::spatialValue(), and PointInUnionCheckUO::spatialValue().

◆ sideness()

virtual SurfaceGeometry::SurfaceSide PointInSurfaceCheckInterface::sideness ( const libMesh::Point p) const
pure virtual

Classify a point as INSIDE, ON, or OUTSIDE the surface(s).

Referenced by contains().


The documentation for this class was generated from the following file: