API Reference > OdDg Classes > OdDgBSplineSurface Class > OdDgBSplineSurface Methods > OdDgBSplineSurface::get Method
OdDgBSplineSurface::get Method
Syntax
C++
OdResult get(OdUInt8& uOrderU, OdUInt8& uOrderV, bool& bRational, bool& bClosedInU, bool& bClosedInV, int& iUNumControlPoints, int& iVNumControlPoints, OdGePoint3dArray& ctrlPtsArr, OdGeDoubleArray& weights, OdGeKnotVector& uKnots, OdGeKnotVector& vKnots) const;
Parameters 
Description 
bool& bRational 
[out] Determines whether the surface is rational.  
bool& bClosedInU 
[out] Determines whether the surface is closed in the u direction.  
bool& bClosedInV 
[out] Determines whether the surface is closed in the v direction.  
int& iUNumControlPoints 
[out] The quantity of control points in the u direction.  
int& iVNumControlPoints 
[out] The quantity of control points in the v direction.  
OdGePoint3dArray& ctrlPtsArr 
[out] An array of control points (in WCS coordinates).  
OdGeDoubleArray& weights 
[out] An array of the weights for each control point.  
OdGeKnotVector& uKnots 
[out] An array of the knot values in the u direction.  
OdGeKnotVector& vKnots 
[out] An array of the knot values in the v direction.
 
uOredrU 
[out] Order in the u direction.  
uOrverV 
[out] Order in the v direction.  

Returns eOk if successful or an appropriate error code otherwise.

Gets all NURB data. 

 

The control points are represented with an OdGePoint3d array. The column indexes are for the v direction, and row indexes are for the u direction. For example, if the surface has n control points in the u direction and m control points in the v direction, the array looks like [0,0], [0,1], ...[0,n-1], ..., [m-1,0], [m-1,1], ...[m-1,n-1]. If the surface is rational, the weights array will contain the same number of entries as the ctrlPts array. The values in weights and ctrlPts arrays have the same sequential order as the control points array. If the surface is not closed in the u direction, the size of the uKnots vector is greater than the iUNumControlPoints value by the degree + 1. If the surface is closed in the u direction, the size of the uKnots vector is greater than the iUNumControlPoints value by 1. Similarly, if the surface is not closed in the v direction, the size of the vKnots vector is greater than the iUNumControlPoints by the degree + 1. If the surface is closed in the v direction, the size of the vKnots vector is greater than the iUNumControlPoints by 1.

Copyright © 2002–2020. Open Design Alliance. All rights reserved.