BRIDGES
  • Articles
  • BRIDGES
Search Results for

    Show / Hide Table of Contents
    • Settings
    • LinearAlgebra
      • Vectors
        • DenseVector
        • SparseVector
        • Vector
      • Factorisation
        • SparseQR
      • Matrices
        • DenseMatrix
        • Matrix
        • SparseMatrix
        • Sparse
          • CompressedColumn
          • CompressedRow
        • Storage
          • DictionaryOfKeys
    • Algebra
      • Measure
        • IDotProduct<TSelf, TValue>
        • IMetric<TSelf>
        • INorm<TSelf>
      • Sets
        • IGroupAction<TSelf, TValue>
      • Fundamentals
        • IAddable<T>
    • Solvers
      • GuidedProjection
        • Energy
        • GuidedProjectionAlgorithm
        • LinearisedConstraint
        • QuadraticConstraint
        • VariableSet
        • EnergyTypes
          • SegmentOrthogonality
          • SegmentParallelity
        • Interfaces
          • IEnergyType
          • ILinearisedConstraintType
          • IQuadraticConstraintType
        • QuadraticConstraintTypes
          • CoherentLength
          • LowerBound
          • UpperBound
          • VectorLength
    • Arithmetic
      • Polynomials
        • Multivariate
          • Monomial
          • Polynomial
        • Univariate
          • Polynomial
          • Specials
            • Bernstein
            • BSpline
      • Numbers
        • Complex
        • Quaternion
        • Real
    • Geometry
      • Euclidean3D
        • Basis
        • BSplineCurve
        • BSplineSurface
        • Circle
        • Frame
        • Line
        • NurbsCurve
        • NurbsSurface
        • Plane
        • Point
        • Polyline
        • Ray
        • Segment
        • Sphere
        • Vector
      • Kernel
        • BSplineCurve<TPoint>
        • BSplineSurface<TPoint>
        • CurveParameterFormat
        • IGeometricallyEquatable<T>
      • Projective3D
        • Point
    • DataStructures
      • PolyhedralMeshes
        • IEdge<TPosition>
        • IFace<TPosition>
        • IMesh<TPosition>
        • IVertex<TPosition>
        • FaceVertexMesh
          • Edge<TPosition>
          • Face<TPosition>
          • Mesh<TPosition>
          • Vertex<TPosition>
        • Abstract
          • Edge<TPosition, TVertex, TEdge, TFace>
          • Face<TPosition, TVertex, TEdge, TFace>
          • Mesh<TPosition, TVertex, TEdge, TFace>
          • Vertex<TPosition, TVertex, TEdge, TFace>
        • HalfedgeMesh
          • Edge<TPosition>
          • Face<TPosition>
          • Halfedge<TPosition>
          • Mesh<TPosition>
          • Vertex<TPosition>

    Class BSplineSurface<TPoint>

    Class defining a generic B-Spline surface.

    Inheritance
    Object
    BSplineSurface<TPoint>
    BSplineSurface
    NurbsSurface
    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 Source

    BSplineSurface()

    Initialises a new instance of BSplineSurface<TPoint> class.

    Declaration
    protected BSplineSurface()
    | Improve this Doc View Source

    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[,]
    | Improve this Doc View Source

    _knotVectorU

    Knot vector in the u-direction.

    Declaration
    protected List<double> _knotVectorU
    Field Value
    Type Description
    List<Double>
    | Improve this Doc View Source

    _knotVectorV

    Knot vector in the v-direction.

    Declaration
    protected List<double> _knotVectorV
    Field Value
    Type Description
    List<Double>

    Properties

    | Improve this Doc View Source

    DegreeU

    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
    | Improve this Doc View Source

    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
    | Improve this Doc View Source

    KnotCountU

    Number of knots of the interpolating BSpline polynomial basis in u-direction.

    Declaration
    public int KnotCountU { get; }
    Property Value
    Type Description
    Int32
    | Improve this Doc View Source

    KnotCountV

    Number of knots of the interpolating BSpline polynomial basis in v-direction.

    Declaration
    public int KnotCountV { get; }
    Property Value
    Type Description
    Int32
    | Improve this Doc View Source

    PointCountU

    Gets the number of control points of the surface in u-direction..

    Declaration
    public int PointCountU { get; }
    Property Value
    Type Description
    Int32
    | Improve this Doc View Source

    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 Source

    PointAt((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.

    | Improve this Doc View Source

    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>.

    | Improve this Doc View Source

    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.

    • Improve this Doc
    • View Source
    In This Article
    Back to top By ENPC and the Build'In Platform