This is an old revision of the document!
Table of Contents
Opérateurs
Introduction
Les opérateurs de transformation géométrique permettent de déplacer une géométrie maillée ou non pour la placer dans une autre position. La syntaxe est la suivante:
op = MachinOperator(arg1, arg2, ...) sideset(1).move(op)
On crée donc l'opérateur op
qui prend un ou plusieurs arguments qui peuvent être des valeurs ou des objets de Metafor (voir le détail des différents opérateurs ci-dessous). On applique ensuite cet opérateur à l'objet que l'on désire déplacer (ici la face #1).
Opérateur de translation
Cet opérateur permet de déplacer selon un mouvement de translation une géométrie maillée ou non. Le déplacement est défini par un Vect3
:
op = TranslationOperator([Vect3] disp) sideset(1).move(op)
Opérateur de rotation
Cet opérateur permet de faire tourner une géométrie maillée ou non autour d'un axe. La rotation est définie par un angle (en radian) et un objet géométrique Axe
:
op = RotationOperator(axe, angle) sideset(1).move(op)
Opérateur d'alignement
Cet opérateur permet d'appliquer un mouvement de corps rigide (translation + rotation) une géométrie maillée ou non. Ce mouvement de corps rigide est défini par deux objets géométriques Trièdre
:
op = AlignmentOperator(triedreRef, triedreMesh) sideset(1).move(op)
triedreRef
est le trièdre dans lequel on veut placer la Side
1 et triedreMesh
est le trièdre modélisant un système d'axes local de la Side
à déplacer
Opérateur de symétrie centrale
Cet opérateur permet d'appliquer une symétrie centrale (couplée ou non à une translation) à une géométrie maillée ou non. Cette symétrie centrale est définie par un objet géométrique Axe
et l'amplitude ampl
:
op = RadialOperator(axe, ampl) op.setDisplacement([Vect3] disp) sideset(1).move(op)
L'axe indique la direction de la symétrie centrale.
Opérateur de symétrie orthogonale
Cet opérateur permet d'appliquer une symétrie orthogonale à une géométrie maillée ou non par rapport à un plan. Cette symétrie orthogonale est définie par un objet géométrique Plane
:
op = OrthogonalSymmetryOperator(plane) sideset(1).move(op)
Opérateur de mise à échelle
Cet opérateur permet d'appliquer une mise à échelle d'une géométrie maillée ou non. Cette mise à échelle est définie par le centre de l'homothétie (objet géométrique Point
) et l'amplitude de la mise à échelle fact
:
op = ScalingOperator(pt0, fact) sideset(1).move(op)