24 "The center (many people spell this 'center') of the box.");
29 "The direction along which the width is oriented.");
31 "The direction along which the length is oriented (must " 32 "be perpendicular to width_direction).");
37 : _center(parameters.
get<Point>(
"center"))
39 const std::string &
name = parameters.
get<std::string>(
"_object_name");
46 Point bottom_left(-xmax, -ymax, -zmax);
47 Point top_right(xmax, ymax, zmax);
49 _bounding_box = std::make_unique<BoundingBox>(bottom_left, top_right);
74 mooseError(
"width_direction and length_direction are not perpendicular in ",
name);
77 _rot_matrix = std::make_unique<RealTensorValue>(w, l, w.cross(l));
std::string name(const ElemQuality q)
bool containsPoint(const Point &point)
Test if the supplied point is within the defined oriented bounding box.
static InputParameters validParams()
Class constructor.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
Point _center
Center of the defined bounding box.
std::unique_ptr< RealTensorValue > _rot_matrix
Rotation matrix for transforming the bounding box.
std::unique_ptr< BoundingBox > _bounding_box
The bounding box used to test if the point is contained within.
OrientedBoxInterface(const InputParameters ¶meters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real