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 BSplineCurve<TPoint>

    Class defining a generic B-Spline curve.

    Inheritance
    Object
    BSplineCurve<TPoint>
    BSplineCurve
    NurbsCurve
    Namespace: BRIDGES.Geometry.Kernel
    Assembly: BRIDGES.dll
    Syntax
    public class BSplineCurve<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

    BSplineCurve(Int32, IEnumerable<TPoint>)

    Initialises a new instance of BSplineCurve<TPoint> class.

    Declaration
    public BSplineCurve(int degree, IEnumerable<TPoint> controlPoints)
    Parameters
    Type Name Description
    Int32 degree

    Degree of the interpolating polynomials in the BSpline basis.

    IEnumerable<TPoint> controlPoints

    Control points of the BSplineCurve<TPoint>.

    | Improve this Doc View Source

    BSplineCurve(Int32, IEnumerable<Double>, IEnumerable<TPoint>)

    Initialises a new instance of BSplineCurve<TPoint> class by defining its fields.

    Declaration
    public BSplineCurve(int degree, IEnumerable<double> knotVector, IEnumerable<TPoint> controlPoints)
    Parameters
    Type Name Description
    Int32 degree

    Degree of the interpolating polynomials in the BSpline basis.

    IEnumerable<Double> knotVector

    Knot vector of the interpolating BSpline polynomial basis.

    IEnumerable<TPoint> controlPoints

    Control points of the BSplineCurve<TPoint>.

    Fields

    | Improve this Doc View Source

    _controlPoints

    Control points.

    Declaration
    protected List<TPoint> _controlPoints
    Field Value
    Type Description
    List<TPoint>
    | Improve this Doc View Source

    _knotVector

    Knot vector.

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

    Properties

    | Improve this Doc View Source

    Degree

    Gets the degree of the interpolating polynomials in the BSpline basis.

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

    DomainEnd

    Class defining a generic B-Spline curve.

    Declaration
    public double DomainEnd { get; }
    Property Value
    Type Description
    Double
    | Improve this Doc View Source

    DomainStart

    Class defining a generic B-Spline curve.

    Declaration
    public double DomainStart { get; }
    Property Value
    Type Description
    Double
    | Improve this Doc View Source

    EndPoint

    Class defining a generic B-Spline curve.

    Declaration
    public TPoint EndPoint { get; }
    Property Value
    Type Description
    TPoint
    | Improve this Doc View Source

    IsClosed

    Class defining a generic B-Spline curve.

    Declaration
    public bool IsClosed { get; }
    Property Value
    Type Description
    Boolean
    | Improve this Doc View Source

    KnotCount

    Number of knots of the interpolating BSpline polynomial basis.

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

    PointCount

    Gets the number of control points of the curve.

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

    StartPoint

    Class defining a generic B-Spline curve.

    Declaration
    public TPoint StartPoint { get; }
    Property Value
    Type Description
    TPoint

    Methods

    | Improve this Doc View Source

    ControlPoint(Int32)

    Returns the control point at the given index.

    Declaration
    public TPoint ControlPoint(int index)
    Parameters
    Type Name Description
    Int32 index

    Index of the control point to look return.

    Returns
    Type Description
    TPoint

    The control point at the given index.

    | Improve this Doc View Source

    Flip()

    Class defining a generic B-Spline curve.

    Declaration
    public void Flip()
    | Improve this Doc View Source

    Knot(Int32)

    Returns the knot at the given index.

    Declaration
    public double Knot(int index)
    Parameters
    Type Name Description
    Int32 index

    Index of the knot to look for.

    Returns
    Type Description
    Double

    The knot at the given index.

    | Improve this Doc View Source

    Length()

    Class defining a generic B-Spline curve.

    Declaration
    public double Length()
    Returns
    Type Description
    Double
    | Improve this Doc View Source

    PointAt(Double, CurveParameterFormat)

    Class defining a generic B-Spline curve.

    Declaration
    public TPoint PointAt(double parameter, CurveParameterFormat format)
    Parameters
    Type Name Description
    Double parameter
    CurveParameterFormat format
    Returns
    Type Description
    TPoint
    | Improve this Doc View Source

    SetControlPoints(IEnumerable<TPoint>)

    Sets the control points of the current BSplineCurve<TPoint>.

    Declaration
    protected void SetControlPoints(IEnumerable<TPoint> controlPoints)
    Parameters
    Type Name Description
    IEnumerable<TPoint> controlPoints

    Control points of the BSplineCurve<TPoint>.

    | Improve this Doc View Source

    SetKnotVector(IEnumerable<Double>)

    Sets the knot vector of the current BSplineCurve<TPoint> while ensuring its validity.

    Declaration
    protected void SetKnotVector(IEnumerable<double> knotVector)
    Parameters
    Type Name Description
    IEnumerable<Double> knotVector

    Knot vector to set.

    | Improve this Doc View Source

    SetUniformKnotVector(Double, Double, Int32, Int32)

    Creates and sets the knot vector for the current BSplineCurve<TPoint> with a uniform middle part.

    Declaration
    protected void SetUniformKnotVector(double domainStart, double domainEnd, int degree, int knotCount)
    Parameters
    Type Name Description
    Double domainStart

    Start value of the curve domain.

    Double domainEnd

    End value of the curve domain.

    Int32 degree

    Degree of the interpolating polynomials in the BSpline basis.

    Int32 knotCount

    Number of knots of the interpolating BSpline polynomial basis.

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