23 "Rotation angles (XZX convention, in degrees NOT radians) to rotate the " 24 "mesh of this component with. Note that this rotation " 25 "is applied before the translation.");
28 "Direction to orient the component mesh with, assuming it is initially oriented along the " 29 "X-axis (1, 0, 0). Note that this rotation is applied before the translation.");
31 params.addParam<Point>(
32 "position", Point(0., 0., 0.),
"Vector to translate the mesh of this component by.");
34 params.addParamNamesToGroup(
"rotation direction position",
35 "Position and orientation of the component");
43 _translation(getParam<Point>(
"position"))
56 params.
set<MeshGeneratorName>(
"input") =
_mg_names.back();
62 const auto rotation_matrix =
65 angles(0) = std::atan2(rotation_matrix(1, 0), rotation_matrix(0, 0));
66 angles(1) = std::asin(-rotation_matrix(2, 0));
67 angles(2) = std::atan2(rotation_matrix(2, 1), rotation_matrix(2, 2));
71 "TransformGenerator",
name() +
"_rotated", params);
78 params.
set<MeshGeneratorName>(
"input") =
_mg_names.back();
82 "TransformGenerator",
name() +
"_translated", params);
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
std::vector< MeshGeneratorName > _mg_names
Name(s) of the final mesh generator(s) creating the mesh for the component.
Base class for components that are defined using an action.
virtual const std::string & name() const
Get the name of the class.
static InputParameters validParams()
void addMeshGenerator(const std::string &type, const std::string &name, const InputParameters ¶ms)
Add a mesh generator that will act on the meshes in the system.
Factory & _factory
The Factory associated with the MooseApp.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
MooseApp & _app
The MOOSE application this is associated with.
void addRequiredTask(const std::string &task)
Add a new required task for all physics deriving from this class NOTE: This does not register the tas...
MeshGeneratorSystem & getMeshGeneratorSystem()
Gets the system that manages the MeshGenerators.