Hide Table of Contents
IGetSegments Method (ISplineParamData)

Gets the coefficients of all of the piecewise polynomials of a spline.

.NET Syntax

Visual Basic (Declaration) 
Function IGetSegments( _
   ByVal Count As System.Integer, _
   ByRef Segments As System.Double _
) As System.Boolean
Visual Basic (Usage) 
Dim instance As ISplineParamData
Dim Count As System.Integer
Dim Segments As System.Double
Dim value As System.Boolean
 
value = instance.IGetSegments(Count, Segments)
C# 
System.bool IGetSegments( 
   System.int Count,
   out System.double Segments
)
C++/CLI 
System.bool IGetSegments( 
&   System.int Count,
&   [Out] System.double Segments
) 

Parameters

Count
Size of Segments array
Segments
  • in-process, unmanaged C++: Pointer to an array of doubles
  • VBA, VB.NET, C#, and C++/CLI: Not supported

     

    See In-process Methods for details about this type of method.

  • Return Value

    True if successful, false if not

    Remarks

    This method works only with P-spline parameterization data. Before calling this method, call ICurve::GetPCurveParams2 to obtain the P-spline parameterization data object for the curve.

    Before calling this method, call ISplineParamData::SegmentCount to populate the Count parameter.

    Each pair of spline control points defines one segment of a curve. Each segment is typically represented by a cubic polynomial. This method returns a one-dimensional array containing doubles that are the coefficients of all of the piecewise cubic polynomials of the spline.

    The segment coefficients are stored in the Segments array in order of increasing variable exponent:

    (constants)(first degree coefficients)(second degree coefficients)(third degree coefficients) etc.

    For example, if the spline segments are represented by cubic rational (dim=4) polynomials in parametric form,

            (w0*a0 + w1*a1*t + w2*a2*t**2 + w3*a3*t**3)

    p(t) = --------------------------------------------

                (w0 + w1*t + w2*t**2 + w3*t**3) 

    where w0, w1, w2, w3 are weighting coefficients and a0, a1, a2, a3 are vector coefficients, then the Segments array stores (dimension(4) X order(4)) = 16 coefficients:

    (a0x,a0y,a0z,w0)(a1x,a1y,a1z,w1)(a2x,a2y,a2z,w2)(a3x,a3y,a3z,w3).

    If the spline segments are represented by cubic non-rational (dim=3) polynomials, then the Segments array stores (dimension(3) X order(4)) = 12 coefficients:

    (a0x,a0y,a0z)(a1x,a1y,a1z)(a2x,a2y,a2z)(a3x,a3y,a3z0).

    The total number of coefficients returned by this method is:

    (segment count) x (order) x (dimension)

     

    See Also

    Availability

    SOLIDWORKS 2011 FCS, Revision Number 19.0


    Provide feedback on this topic

    SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

    * Required

     
    *Email:  
    Subject:   Feedback on Help Topics
    Page:   IGetSegments Method (ISplineParamData)
    *Comment:  
    *   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

    Print Topic

    Select the scope of content to print:

    x

    We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

     Never show this message again
    x

    Web Help Content Version: API Help (English only) 2017 SP05

    To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

    To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.