In Metafor, any geometric entity can be defined as rigid Contact Matrices. No additional definition is required.
However, the orientation of the entity is relevant. It defines the area considered as the die, where a penetrating node will experience a contact force. By convention, the normal vector is pointing inside the die.
This normal $\boldsymbol{n}$ is defined as stated below.
Curve (Line, Arc, etc) is defined by its tangent (which can be displayed in the graphical interface). By default, it is defined by its points, from the first one to the last one.Wire is defined by the succession of its lines, from the first to the last, and not by their vertices. When a wire is defined by only one curve, the orientation of the wire is the orientation of the curve.Side is defined as the normal of the corresponding Surface (which can be displayed in the graphical interface). Concerning a Skin, nowadays the Sides must be defined in a way guaranteeing consistency of the whole. To define a planar contact matrix, a Plane surface must be defined and associated to a Side.
For rigid-defo contact, when Sides or Curves are used to define contact matrices, contact can be detected outside of the matrix boundary because lines and surfaces are 10% extrapolated. To avoid this issue, a Skin or Wire must be defined instead. The orientation of a 'Curve or Wire is easy to modify using curve.reverse. This command is not yet available for surfaces, so consistency of Sides must be done manually.
It is also possible to reverse the convention defining where the surface matrix is, changing the value of TYPE_CONT from the default UNILATERAL_POSITIF to UNILATERAL_NEGATIF.
In Metafor, moving contact matrices is done by moving geometric entities in the contact interaction with a Loading (see Prescribed Displacements).