21 "Positions object providing the positions to transform");
23 MooseEnum transforms(
"TRANSLATE ROTATE_XYZ SCALE");
27 "The type of transformation to perform (TRANSLATE, ROTATE_XYZ, SCALE)");
30 "The value to use for the transformation. When using TRANSLATE or SCALE, the " 31 "xyz coordinates are applied in each direction respectively. When using " 32 "ROTATE_XYZ, the values are interpreted as rotations in degrees around the X, Y and Z axis, " 36 params.
set<
bool>(
"auto_sort") =
false;
38 params.
set<
bool>(
"auto_broadcast") =
false;
43 "Transform, with a linear transformation, positions from another Positions object");
49 _transform(getParam<
MooseEnum>(
"transform")),
52 const auto & base_name = getParam<PositionsName>(
"base_positions");
56 mooseError(
"Base positions has not been created yet. If it exists, re-order Positions objects " 57 "in the input file or implement automated construction ordering for Positions");
A MultiMooseEnum object to hold "execute_on" flags.
static InputParameters validParams()
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
void clearPositions()
Clear all positions vectors.
Positions objects are under the hood Reporters.
const Point & getPosition(unsigned int index, bool initial) const
Getter for a single position at a known index.
libMesh::Point rotatePointAboutAxis(const libMesh::Point &p, const libMesh::Real angle, const libMesh::Point &axis)
Rotate point about an axis.
bool hasUserObject(const std::string &name) const
Check if there if a user object of given name.
const Positions & getPositionsObject(const std::string &name) const
Get the Positions object by its name.
bool _initialized
Whether the positions object has been initialized. This must be set by derived objects.
const std::string & name() const
Get the name of the class.
const ExecFlagType EXEC_TIMESTEP_BEGIN
std::vector< Point > & _positions
For now, only the 1D vector will be shared across all ranks.
bool initialized(bool initial) const
Whether the positions object has been initialized.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
unsigned int getNumPositions(bool initial=false) const
}
const ExecFlagType EXEC_LINEAR
FEProblemBase & _fe_problem
Reference to the FEProblemBase for this user object.
IntRange< T > make_range(T beg, T end)
virtual void finalize() override
In charge of reduction across all ranks & sorting for consistent output.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
const ExecFlagType EXEC_INITIAL