20 params.
addClassDescription(
"Classifies a point against the union of several geometries, each "
21 "supplied by a user object that implements the point-in-surface check "
22 "interface (a meshed surface, a signed function, or another union).");
25 "User objects, each implementing the point-in-surface check interface, whose geometries are "
26 "unioned. A point is inside the union if it is inside any one of them.");
33 const auto & names = getParam<std::vector<UserObjectName>>(
"providers");
36 "must list at least one provider; an empty list would classify every point as "
40 for (
const auto &
name : names)
53 ") does not implement the point-in-surface check interface.");
registerMooseObject("MooseApp", PointInUnionCheckUO)
const std::string & type() const
Get the type of this class.
const std::string & name() const
Get the name of the class.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Mixin interface implemented by user objects that can classify a query point against a closed surface ...
Classifies a point against the union of several geometries, each supplied by a user object implementi...
std::vector< const PointInSurfaceCheckInterface * > _providers
The geometries whose union is tested (non-owning; owned by the warehouse).
virtual SurfaceGeometry::SurfaceSide sideness(const Point &p) const override
static InputParameters validParams()
PointInUnionCheckUO(const InputParameters ¶meters)
An instance of this object type has one copy per thread that runs on each thread.
static InputParameters validParams()
const UserObjectBase & getUserObjectBaseByName(const UserObjectName &object_name, bool is_dependency=true) const
Get an user object with the name object_name.
SurfaceSide unionSideness(SurfaceSide a, SurfaceSide b)
Combine two classifications for a union: INSIDE if either is INSIDE, otherwise ON if either is ON,...
SurfaceSide
The side of a closed surface where a query point is located.
@ INSIDE
The point lies strictly in the interior of the closed surface.
@ OUTSIDE
The point lies strictly in the exterior of the closed surface.