Class BSplineSurface<TPoint>
Class defining a generic B-Spline surface.
Namespace: BRIDGES.Geometry.Kernel
Assembly: BRIDGES.dll
Syntax
public class BSplineSurface<TPoint> : object where TPoint : IAddable<TPoint>, IGroupAction<TPoint, double>
Type Parameters
Name | Description |
---|---|
TPoint | Type of point in the geometric space. |
Constructors
| Improve this Doc View SourceBSplineSurface()
Initialises a new instance of BSplineSurface<TPoint> class.
Declaration
protected BSplineSurface()
BSplineSurface(Int32, Int32, TPoint[,])
Initialises a new instance of BSplineSurface<TPoint> class.
Declaration
public BSplineSurface(int degreeU, int degreeV, TPoint[, ] controlPoints)
Parameters
Type | Name | Description |
---|---|---|
Int32 | degreeU | Degree of the interpolating polynomials in the BSpline basis in u-direction. |
Int32 | degreeV | Degree of the interpolating polynomials in the BSpline basis in v-direction. |
TPoint[,] | controlPoints | Control points of the BSplineSurface<TPoint>. |
Fields
| Improve this Doc View Source_controlPoints
Control points.
Declaration
protected TPoint[, ] _controlPoints
Field Value
Type | Description |
---|---|
TPoint[,] |
_knotVectorU
Knot vector in the u-direction.
Declaration
protected List<double> _knotVectorU
Field Value
Type | Description |
---|---|
List<Double> |
_knotVectorV
Knot vector in the v-direction.
Declaration
protected List<double> _knotVectorV
Field Value
Type | Description |
---|---|
List<Double> |
Properties
| Improve this Doc View SourceDegreeU
Gets the degree of the interpolating polynomials in the BSpline basis in u-direction.
Declaration
public int DegreeU { get; protected set; }
Property Value
Type | Description |
---|---|
Int32 |
DegreeV
Gets the degree of the interpolating polynomials in the BSpline basis in v-direction.
Declaration
public int DegreeV { get; protected set; }
Property Value
Type | Description |
---|---|
Int32 |
KnotCountU
Number of knots of the interpolating BSpline polynomial basis in u-direction.
Declaration
public int KnotCountU { get; }
Property Value
Type | Description |
---|---|
Int32 |
KnotCountV
Number of knots of the interpolating BSpline polynomial basis in v-direction.
Declaration
public int KnotCountV { get; }
Property Value
Type | Description |
---|---|
Int32 |
PointCountU
Gets the number of control points of the surface in u-direction..
Declaration
public int PointCountU { get; }
Property Value
Type | Description |
---|---|
Int32 |
PointCountV
Gets the number of control points of the surface in v-direction..
Declaration
public int PointCountV { get; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
| Improve this Doc View SourcePointAt((Double, Double))
Evaluates the current surface at the given parameter.
Declaration
public TPoint PointAt((double, double) parameter)
Parameters
Type | Name | Description |
---|---|---|
(, )<Double, Double> | parameter | Value of the parameter. |
Returns
Type | Description |
---|---|
TPoint | The point on the surface at the given parameter. |
SetControlPoints(TPoint[,])
Sets the control points of the current BSplineSurface<TPoint>.
Declaration
protected void SetControlPoints(TPoint[, ] controlPoints)
Parameters
Type | Name | Description |
---|---|---|
TPoint[,] | controlPoints | Control points of the BSplineSurface<TPoint>. |
SetUniformKnotVectors((Double, Double), (Double, Double), (Int32, Int32), (Int32, Int32))
Creates and sets the knot vector for the current BSplineSurface<TPoint> with a uniform middle part.
Declaration
protected void SetUniformKnotVectors((double, double) domainU, (double, double) domainV, (int, int) degrees, (int, int) knotCounts)
Parameters
Type | Name | Description |
---|---|---|
(, )<Double, Double> | domainU | Start and End value of the surface domain in u-direction. |
(, )<Double, Double> | domainV | Start and End value of the surface domain in v-direction. |
(, )<Int32, Int32> | degrees | Degrees of the interpolating polynomials in the BSpline basis in u and v directions. |
(, )<Int32, Int32> | knotCounts | Number of knots of the interpolating BSpline polynomial basis in u and v directions. |