====== Geometry/Mesh Operators ====== ===== Introduction ===== These kinds of operators are used to move/deform a geometry and its associated mesh from one configuration to another. The generic syntax is as follow: op = XXXOperator(arg1, arg2, ...) target.move(op) where ''target'' is a geometrical entity (e.g. ''sideset(1)'', ''curveset(2)'') As can be seen, the operator ''op'' must first be created. It takes several arguments, which can be values of Metafor objects (see below for specific operators). Then, the operator is applied to the ''target'' object (e.g. Side #1 or Curve #2). ===== Translation Operator ===== This operator translates a geometry, meshed or not. The displacement is defined by a ''Vect3'': op = TranslationOperator(disp) where | ''disp'' | ''Vect3'' | displacement vector | ===== Rotation Operator ===== This operator is used to rotate a geometry, meshed or not, along an axis. The rotation is defined by and angle (in radian) and an ''[[doc:user:geometry:user:axes|Axis]]'': op = RotationOperator(axis, angle) where | ''axis'' | ''[[doc:user:geometry:user:axes|Axis]]'' | rotation axis | | ''angle'' | ''float'' | angle (in radian) | ===== Alignment Operator ===== This operator is used to apply a rigid body motion (translation + rotation), to a geometric entity, meshed or not. This rigid body mode is defined by two ''[[doc:user:geometry:user:triedres]]'': op = AlignmentOperator(trihedronRef, trihedronMesh) ''trihedronRef'' is the trihedron to which the target must be moved, when ''trihedronMesh'' is a trihedron modelling a local frame of the side to be moved. ===== Point-Reflection Operator ===== This operator is used to apply a point reflection (with or without a translation) to a geometric entity, meshed or not. This point reflection is defined by an ''[[axes|Axis]]'' and an amplitude ''ampl'': op = RadialOperator(axe, ampl) op.setDisplacement(disp) where | ''axe'' | ''[[doc:user:geometry:user:axes|Axis]]'' | reflection axis which indicates the direction of the point reflection | | ''ampl'' | ''float'' | amplitude | | ''disp'' | ''Vect3'' | displacement vector | ===== Reflection/Symmetry Operator ===== This operator is used to apply a reflection symmetry to a geometric entity, meshed or not: op = OrthogonalSymmetryOperator(plane) where | ''plane'' | ''[[surfaces#plan|Plane]]'' | reflection plane | ===== Scaling Operator ===== This operator is used to apply a scaling to a geometric entity, meshed or not. op = ScalingOperator(pt0, fact) where | ''pt0'' | ''Point'' | homothetic centre | | ''fact'' | ''float'' | scaling factor |