Get2 (NurbsCurveList) *

Description

Returns a complete data description of the Nurbs Curve list. The data is returned in a 1-dimensional array and is ordered the same as for the NurbsCurveList.Get method output arguments.

Note: This method must be used with scripting languages that don't support arguments passed by reference such as JScript and PerlScript. For more information on getting output arguments, see About Output Argument Arrays.

Scripting Syntax

    NurbsCurveList.Get2( [NurbsFormat] )

C# Syntax

    Object NurbsCurveList.Get2( siNurbsFormat in_eNurbsFormat );

Parameters

Parameter | Type | Description
NurbsFormat | siNurbsFormat | Specifies how the data is formatted. Default Value: siSINurbs

Return Value

Array ordered as Count, ControlPoints, NbControlPoints, Knots, NbKnots, Closed, Degree, Parameterization.

Examples

JScript Example

    /*
    This example shows how to retrieve the output arguments returned by
    NurbsCurveList.Get2
    */
    var oRoot = Application.ActiveProject.ActiveScene.Root;
    var oText = oRoot.AddGeometry( "Text", "NurbsCurve" );
    oText.text = "b";

    // convert VB array to JScript array
    var vbArgs = new VBArray(oText.ActivePrimitive.Geometry.Get2( siSINurbs ));
    var args = vbArgs.toArray();

    // Number of curves
    LogMessage("number of curves: " + args[0] );

    // Number of control points per curve
    var vbArg6 = new VBArray(args[2]);
    var ncpoints = vbArg6.toArray();
    for (i = 0; i < ncpoints.length; i++)
    {
    LogMessage("number of control points for curve " + i + ": " + ncpoints[i] );
    }

    // Control points
    var vbArg1 = new VBArray(args[1]);

    var cp = vbArg1.toArray();
    for ( i=0; i<cp.length; i++ )
    {
    for ( j=0, k=0; k<cp[i]; k++, j+=4 )
    {
    LogMessage("crv" + i + "[" + k + "]: " + cp[j] + ", " + cp[j+1] + ", " + cp[j+2] + ", " + cp[j+3] );
    }
    }

    // Number of knots per curve
    var vbArg7 = new VBArray(args[4]);
    var nknots = vbArg7.toArray();
    for (i = 0; i < nknots.length; i++)
    {
    LogMessage("number of knots for curve " + i + ": " + nknots[i] );
    }

    // Knots
    var vbArg2 = new VBArray(args[3]);
    var knots = vbArg2.toArray();
    for ( j=0; j<knots.length; j++)
    {
    for (i = 0; i < nknots[j]; i++)
    {
    LogMessage("crv" + j + ": " + "knots" + i + ": " + knots[i] );
    }
    }

    // get nurbs curves closed state
    var vbArg3 = new VBArray(args[5]);
    var closes = vbArg3.toArray();
    for (i = 0; i < closes.length; i++)
    {
    LogMessage("curve" + i + " closed: " + closes[i] );
    }

    // get nurbs degree
    var vbArg4 = new VBArray(args[6]);
    var degrees = vbArg4.toArray();
    for (i = 0; i < degrees.length; i++)
    {
    LogMessage("curve" + i + " degree: " + degrees[i] );
    }

    // get nurbs parameterization
    var vbArg5 = new VBArray(args[7]);
    var params = vbArg5.toArray();
    for (i = 0; i < params.length; i++)
    {
    LogMessage("curve" + i + " parameterization: " + params[i] );
    }

    // Expected result:
    //INFO : number of curves: 2
    //INFO : number of control points for curve 0: 26
    //INFO : number of control points for curve 1: 16
    //INFO : crv0[0]: 0.8072018004501126, 0, 0, 1
    //INFO : crv0[1]: 0.8072018004501126, 0.1785915228807202, 0, 1
    //INFO : crv0[2]: 0.8072018004501126, 0.3571830457614404, 0, 1
    //INFO : crv0[3]: 1.0946642910727682, -0.06301575393848462, 0, 1
    //INFO : crv0[4]: 1.5996811702925732, -0.06301575393848462, 0, 1
    //INFO : crv0[5]: 2.1074174793698423, -0.06301575393848462, 0, 1
    //INFO : crv0[6]: 2.470062828207052, 0.3369748687171793, 0, 1
    //INFO : crv0[7]: 2.8327081770442612, 0.7369654913728433, 0, 1
    //INFO : crv0[8]: 2.8327081770442612, 1.4698049512378095, 0, 1
    //INFO : crv0[9]: 2.8327081770442612, 1.7785071267816954, 0, 1
    //INFO : crv0[10]: 2.7467882595648913, 2.049653038259565, 0, 1
    //INFO : crv0[11]: 2.6608683420855214, 2.3207989497374344, 0, 1
    //INFO : crv0[12]: 2.509166354088522, 2.5127297449362342, 0, 1
    //INFO : crv0[13]: 2.357464366091523, 2.7046605401350336, 0, 1
    //INFO : crv0[14]: 2.122538447111778, 2.8106948612153037, 0, 1
    //INFO : crv0[15]: 1.887612528132033, 2.916729182295574, 0, 1
    //INFO : crv0[16]: 1.624531132783196, 2.916729182295574, 0, 1
    //INFO : crv0[17]: 1.1492873218304575, 2.916729182295574, 0, 1
    //INFO : crv0[18]: 0.8432108027006752, 2.533992873218305, 0, 1
    //INFO : crv0[19]: 0.8432108027006752, 3.23548855963991, 0, 1
    //INFO : crv0[20]: 0.8432108027006752, 3.9369842460615154, 0, 1
    //INFO : crv0[21]: 0.6016504126031508, 3.9369842460615154, 0, 1
    //INFO : crv0[22]: 0.36009002250562644, 3.9369842460615154, 0, 1
    //INFO : crv0[23]: 0.36009002250562644, 1.9684921230307577, 0, 1
    //INFO : crv0[24]: 0.36009002250562644, 0, 0, 1
    //INFO : crv0[25]: 0.5836459114778695, 0, 0, 1
    //INFO : crv1[0]: 0.8072018004501126, 0, 0, 1
    //INFO : crv1[1]: 0.8072018004501126, 0.1785915228807202, 0, 1
    //INFO : crv1[2]: 0.8072018004501126, 0.3571830457614404, 0, 1
    //INFO : crv1[3]: 1.0946642910727682, -0.06301575393848462, 0, 1
    //INFO : crv1[4]: 1.5996811702925732, -0.06301575393848462, 0, 1
    //INFO : crv1[5]: 2.1074174793698423, -0.06301575393848462, 0, 1
    //INFO : crv1[6]: 2.470062828207052, 0.3369748687171793, 0, 1
    //INFO : crv1[7]: 2.8327081770442612, 0.7369654913728433, 0, 1
    //INFO : crv1[8]: 2.8327081770442612, 1.4698049512378095, 0, 1
    //INFO : crv1[9]: 2.8327081770442612, 1.7785071267816954, 0, 1
    //INFO : crv1[10]: 2.7467882595648913, 2.049653038259565, 0, 1
    //INFO : crv1[11]: 2.6608683420855214, 2.3207989497374344, 0, 1
    //INFO : crv1[12]: 2.509166354088522, 2.5127297449362342, 0, 1
    //INFO : crv1[13]: 2.357464366091523, 2.7046605401350336, 0, 1
    //INFO : crv1[14]: 2.122538447111778, 2.8106948612153037, 0, 1
    //INFO : crv1[15]: 1.887612528132033, 2.916729182295574, 0, 1
    //INFO : number of knots for curve 0: 27
    //INFO : number of knots for curve 1: 17
    //INFO : crv0: knots0: 0
    //INFO : crv0: knots1: 0
    //INFO : crv0: knots2: 1
    //INFO : crv0: knots3: 1
    //INFO : crv0: knots4: 2
    //INFO : crv0: knots5: 2
    //INFO : crv0: knots6: 3
    //INFO : crv0: knots7: 3
    //INFO : crv0: knots8: 4
    //INFO : crv0: knots9: 4
    //INFO : crv0: knots10: 5
    //INFO : crv0: knots11: 5
    //INFO : crv0: knots12: 6
    //INFO : crv0: knots13: 6
    //INFO : crv0: knots14: 7
    //INFO : crv0: knots15: 7
    //INFO : crv0: knots16: 8
    //INFO : crv0: knots17: 8
    //INFO : crv0: knots18: 9
    //INFO : crv0: knots19: 9
    //INFO : crv0: knots20: 10
    //INFO : crv0: knots21: 10
    //INFO : crv0: knots22: 11
    //INFO : crv0: knots23: 11
    //INFO : crv0: knots24: 12
    //INFO : crv0: knots25: 12
    //INFO : crv0: knots26: 13
    //INFO : crv1: knots0: 0
    //INFO : crv1: knots1: 0
    //INFO : crv1: knots2: 1
    //INFO : crv1: knots3: 1
    //INFO : crv1: knots4: 2
    //INFO : crv1: knots5: 2
    //INFO : crv1: knots6: 3
    //INFO : crv1: knots7: 3
    //INFO : crv1: knots8: 4
    //INFO : crv1: knots9: 4
    //INFO : crv1: knots10: 5
    //INFO : crv1: knots11: 5
    //INFO : crv1: knots12: 6
    //INFO : crv1: knots13: 6
    //INFO : crv1: knots14: 7
    //INFO : crv1: knots15: 7
    //INFO : crv1: knots16: 8
    //INFO : curve0 closed: true
    //INFO : curve1 closed: true
    //INFO : curve0 degree: 2
    //INFO : curve1 degree: 2
    //INFO : curve0 parameterization: 1
    //INFO : curve1 parameterization: 1

See Also

NurbsCurveList.Get

Autodesk Softimage v7.5