Go to: Synopsis. Return value. Flags. MEL examples.

Synopsis

curveIntersect [-constructionHistory boolean] [-direction linear linear linear] [-tolerance linear] [-useDirection boolean] string string

curveIntersect is undoable, queryable, and editable.

You must specify two curves to intersect.

This command either returns the parameter values at which the given pair of curves intersect, or returns a dependency node that provides the intersection information. If you want to find the intersection of the curves in a specific direction you must use BOTH the "-useDirection" flag and the "direction" flag.

Return value

string

In query mode, return type is based on queried flag.

Flags

constructionHistory, direction, tolerance, useDirection
Long name (short name) Argument types Properties
Common flags
-constructionHistory(-ch) boolean create
Turn the construction history on or off
-useDirection(-ud) boolean queryedit
If true, use direction flag. The input curves are first projected in a specified direction and then intersected. If false, this command will only find true 3D intersections.
Default: false
-direction(-d) linear linear linear queryedit
The direction that the input curves are projected in before intersecting. This vector is only used if "useDirection" flag is true.
-tolerance(-tol) linear queryedit
The tolerance that the intersection is calculated with. For example, given two curves end-to-end, the ends must be within tolerance for an intersection to be returned.
Default: 0.001

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can be used more than once in a command.

MEL examples

curveIntersect curve1 curve2;
// Returns the parameter values that the curves intersect at.
// eg. if 6 parameter values are returned, the first 3 are
// on curve1 and the last 3 are on curve2.

curveIntersect -useDirection true -direction 0 1 0 curve1 curve2;
// Returns the parameter values that the curves intersect at
// when projected along vector (0, 1, 0).  This is useful
// for example when you are viewing the two curves in an orthographic
// view and the curves appear to intersect, even though
// they do not intersect in 3D.

string $node = `curveIntersect -ch on curve1 curve2`;
float $p1[] = `getAttr ($node + ".parameter1")`;    // or use ".p1"
float $p2[] = `getAttr ($node + ".parameter2")`;    // or use ".p2"
// Returns a string which is the name of a new curveIntersect
// dependency node.
// The "getAttr" commands return the parameter values at
// which the curves intersect each other.