Synopsis

DPK_mirrorGeo -lr|-rl|-fl [flags] [string]

The command is Undoable, NOT Queryable, and NOT Editable

Description

With the DPK_mirrorGeo command, you can mirror the positions of the geometry points (vertices, CVs, etc.) from one side to the other. You can also flip them, so that the left and right sides are exchanged (looks like scaling by -1).

When copying from left to right (or from right to left), the center row of vertices usually is the border where the copying starts. Since this might result in unwanted corners, the command can blend the sides in a certain region. See the mirrorGeo manual for more information.

The command needs a symmetrical reference object that it can use to find out which right point belongs to a left point. Without this, it wouldn’t be clear how the points correspond and no mirroring would be possible. Symmetrical objects are either geometry or a bcs node.

One of the flags -lr, -rl, or -fl has to be present. The argument to this command is the object to be mirrored. If no object is specified, the current selection is used.

Flags

Flags (short/long)Argument(s)Return

-ax/-axis

x|y|z

 

Specifies the axis across which to mirror. Default is x.

-so/-symmetricalObject

string

 

Specifies the symmetrical object that will be used to find out which points belong to each other on the left and right side. When the mirrored object is a bcs dataPoint geometry object, this flag doesn’t need to be specified, because the bcs node’s input geometry can be used. Otherwise, this flag has to be present. Instead of specifying geometry, you can also use a bcs node as the flag argument (the input geometry will be used).

If the object isn’t perfectly symmetrical, the points that match best are used.

Note that the specified symmetrical object has to be of the same type (or a bcs node) and has to have the same number of points as the mirrored object.

-b/-blend

float

 

This flag can not be used with the -flip flag as blending doesn’t make any sense when exchanging the sides.

With the -lr or -rl flags, specifies the region which should be blended. If set to 0 (the default), no blending is done and the center row of vertices is the border of the mirror process.

A value of 1 blends from the left most to the right most points of the mirrored object. If blending with values of 5 or more, the direction of the mirroring becomes more and more irrelevant and the object is made symmetrical by changing both side to (almost) the same extend.

-r/-relative

 

 

When mirroring an object that is absolute dataPoint geometry, only its relative correction is mirrored/flipped.

-lr/-leftRight

 

 

Mirrors the left to the right side making the right side of the object to look as the left.

-rl/-rightLeft

 

 

Mirrors the right to the left side making the left side of the object to look as the right.

-fl/-flip

 

 

Exchanges the positions of the left and right points. The result is that the object looks as if it was scaled by -1 in the axis across we mirror, but it isn’t scaled (this would not result in a usable Blend Shape target or dataPoint object). The points stay on their side, they’re just moved to the mirrored position of the other, so that a left smile becomes a right smile.

Examples

// These examples assume you have selected an asymmetrical object and have
// another object, called "symm", that is a symmetrical version of it.

// Mirror the point positions from the left to the right side of the selected
// object using the object "symm" as the symmetrical reference object.
DPK_mirrorGeo -so "symm" -lr;

// To avoid ugly corners, we can use the blend region.
DPK_mirrorGeo -so "symm" -b 0.3 -lr;

// This will make the left and right side equal by making them akin to each
// other.
DPK_mirrorGeo -so "symm" -b 100 -lr;