### Table of Contents

# 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 `Axis`

:

op = RotationOperator(axis, angle)

where

`axis` | `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 `Trihedra`

:

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 `Axis`

and an amplitude `ampl`

:

op = RadialOperator(axe, ampl) op.setDisplacement(disp)

where

`axe` | `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` | `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 |