Go to: Synopsis. Return value. Flags. MEL examples.
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.
In query mode, return type is based on queried flag.
constructionHistory, direction, tolerance, useDirection
Long name (short name) |
Argument types |
Properties |
|
Common flags |
-constructionHistory(-ch)
|
boolean
|
|
|
Turn the construction history on or off.
|
|
-direction(-d)
|
linear linear linear
|
|
|
The direction that the input curves are projected in
before intersecting. This vector is only used if
"useDirection" flag is true.
|
|
-tolerance(-tol)
|
linear
|
|
|
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
|
|
-useDirection(-ud)
|
boolean
|
|
|
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
|
|
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.
|
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.