M

Make2PointSlide

Introduced

4.0

Description

Uses two guide objects to create a two-point slide setup. A two-point slide setup consists of 'Bind' object and two control objects, 'Top' and 'Base' that control the Bind object by a two point constraint. Optionally the orientation of the Bind object can be controlled with an upvector, and constrained to avoid an implicit volume object (bounding volume).

Scripting Syntax

    Make2PointSlide( [Prefix], GuidePoint1, GuidePoint2, Parent1, Parent2, [UpVector], [BoundingVolume] )

Parameters

Parameter | Type | Description
Prefix | String | The name prefix for the newly created slide nulls.
GuidePoint1 | String | 3D Object, whose pose will be assumed by the first slide object.
GuidePoint2 | String | 3D Object, whose pose will be assumed by the second slide object.
Parent1 | String | The parent under which the first slide object will be placed.
Parent2 | String | The parent under which the second slide object will be placed.
UpVector | String | An upvector object to control the orientation of the Binding Point.
BoundingVolume | String | A bounding volume implicit to stay outside of when sliding.

Return Value

Returns a PointSlide JScript object.

Examples

JScript Example

    /*
       This example creates a two point slide where the bind null is bounding
       volume constrained and controlled by an upvector.
    */

    var Target1  = GetPrim("Null", "Target1", null);
    var Target2  = GetPrim("Null", "Target2", null);
    var Parent1  = GetPrim("Null", "Parent1", null);
    var Parent2  = GetPrim("Null", "Parent2", null);
    var UpVector  = GetPrim("Null", "UpV", null);
    var BoundingVol = GetPrim("Sphere", "BoundingVol" , null);

    //
    // Position the guide objects
    //
    var lXfm = Target1.Kinematics.Global.Transform;
    lXfm.SetTranslationFromValues(-2,0,0);
    Target1.Kinematics.Global.Transform = lXfm;
    lXfm.SetTranslationFromValues(-2,5,0);
    Target2.Kinematics.Global.Transform = lXfm;
    // upvector
    lXfm.SetTranslationFromValues(0,3,0);
    UpVector.Kinematics.Global.Transform = lXfm;

    var TwoPtSlide = Make2PointSlide("ABC",Target1,Target2,Parent1,Parent2,UpVector,BoundingVol);

    logmessage ("Data in the returned two point slide object:");
    logmessage ("-------------------------------------------");
    logmessage ("Bind Null : " + TwoPtSlide.BindNull);
    logmessage ("Top  Null : " + TwoPtSlide.TopNull);
    logmessage ("Base Null : " + TwoPtSlide.BaseNull);
    logmessage ("Constraint: " + TwoPtSlide.Constraint);
    logmessage ("Hidden    : " + TwoPtSlide.Hidden);
    logmessage ("Envelope  : " + TwoPtSlide.Envelope);

    //results of running this script:
    //INFO : "Data in the returned two point slide object:"
    //INFO : "-------------------------------------------"
    //INFO : "Bind Null : ABCBind"
    //INFO : "Top  Null : ABCTop"
    //INFO : "Base Null : ABCBase"
    //INFO : "Constraint: ABCBind.kine.2ptscns"
    //INFO : "Hidden    : ABCTop,ABCBase"
    //INFO : "Envelope  : ABCBind"

See Also

MakeThighSlide

Autodesk Softimage v7.5