• Articles
  • Api Documentation
Show / Hide Table of Contents
  • Paramdigma.Core
    • Convert
    • Intersect3D
    • Intersect3D.LineLineIntersectionResult
    • Intersect3D.LineLineIntersectionStatus
    • Intersect3D.LinePlaneIntersectionStatus
    • Intersect3D.RayFacePerimeterIntersectionStatus
    • Settings
  • Paramdigma.Core.Collections
    • Interval
    • Matrix<T>
  • Paramdigma.Core.Curves
    • Geodesics
    • LevelSets
  • Paramdigma.Core.Exceptions
    • UnsetGeometryException
  • Paramdigma.Core.Extensions
    • Lists
  • Paramdigma.Core.Geometry
    • BaseCurve
    • BasePoint
    • Box
    • Circle
    • Cylinder
    • Delaunay
    • InvalidCurveException
    • Line
    • Line2d
    • Mesh
    • MeshCorner
    • MeshEdge
    • MeshFace
    • MeshGeometry
    • MeshHalfEdge
    • MeshPoint
    • MeshTopology
    • MeshVertex
    • NurbsCurve
    • NurbsSurface
    • Plane
    • Point2d
    • Point3d
    • Point4d
    • Polyline
    • Polyline2d
    • Ray
    • Ray2d
    • Rectangle2d
    • Sphere
    • Torus
    • Vector2d
    • Vector3d
    • VectorNd
  • Paramdigma.Core.Geometry.Interfaces
    • ICurve
    • ISurface
    • IVector
  • Paramdigma.Core.IO
    • CsvReader
    • CsvWritter
    • OBJMeshData
    • ObjReader
    • ObjWritter
    • OffMeshData
    • OffReader
    • OffResult
    • OffWriter
  • Paramdigma.Core.LinearAlgebra
    • Complex
    • LeastSquaresLinearFit
    • Triplet
    • TripletData
  • Paramdigma.Core.Optimization
    • GradientDescent
    • GradientDescent.FitnessFunction
    • GradientDescentOptions
    • GradientDescentResult
    • KMeansCluster
    • KMeansClustering
    • KMeansClustering.IterationCompletedEventArgs
  • Paramdigma.Core.Spatial
    • DelaunayEdge
    • DelaunayPoint
    • DelaunayTriangle
    • Octree
    • PointCloud
    • PointCloudMember
    • QuadTree

Class NurbsCurve

Inheritance
System.Object
BaseCurve
NurbsCurve
Inherited Members
BaseCurve.Domain
BaseCurve.IsValid
BaseCurve.Length
Namespace: Paramdigma.Core.Geometry
Assembly: Paramdigma.Core.dll
Syntax
public class NurbsCurve : BaseCurve

Constructors

| Improve this Doc View Source

NurbsCurve(List<Point4d>, Int32)

Initializes a new instance of NurbsCurve by it's control points and degree.

Declaration
public NurbsCurve(List<Point4d> controlPoints, int degree)
Parameters
Type Name Description
List<Point4d> controlPoints

The control points to create the curve with.

System.Int32 degree

The desired degree of the curve. Degree cannot be > (ControlPoints - 1)

Fields

| Improve this Doc View Source

ControlPoints

The control points of the nurbs curve.

Declaration
public List<Point4d> ControlPoints
Field Value
Type Description
List<Point4d>
| Improve this Doc View Source

Degree

The degree of the curve.

Declaration
public int Degree
Field Value
Type Description
System.Int32
| Improve this Doc View Source

Knots

The nurbs curve knot vector.

Declaration
public List<double> Knots
Field Value
Type Description
List<System.Double>

Properties

| Improve this Doc View Source

EndPoint

The end point of the curve.

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

EndTangent

The tangent vector at the end of the curve.

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

StartPoint

The start point of the curve.

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

StartTangent

The tangent vector at the start of the curve.

Declaration
public Vector3d StartTangent { get; }
Property Value
Type Description
Vector3d

Methods

| Improve this Doc View Source

BinormalAt(Double)

Compute a binormal vector along the curve at a specified parameter.

Declaration
public override Vector3d BinormalAt(double t)
Parameters
Type Name Description
System.Double t

Parameter.

Returns
Type Description
Vector3d

Binormal vector at the parameter specified.

Overrides
BaseCurve.BinormalAt(Double)
| Improve this Doc View Source

CheckValidity()

Checks the validity of the curve.

Declaration
public override bool CheckValidity()
Returns
Type Description
System.Boolean

True if valid.

Overrides
BaseCurve.CheckValidity()
| Improve this Doc View Source

ComputeLength()

Computes the length of the curve.

Declaration
protected override double ComputeLength()
Returns
Type Description
System.Double

Length as number.

Overrides
BaseCurve.ComputeLength()
| Improve this Doc View Source

FrameAt(Double)

Compute the perpendicular frame along the curve at a specified parameter.

Declaration
public override Plane FrameAt(double t)
Parameters
Type Name Description
System.Double t

Parameter.

Returns
Type Description
Plane

Perpendicular plane at the parameter specified.

Overrides
BaseCurve.FrameAt(Double)
| Improve this Doc View Source

NormalAt(Double)

Compute normal vector along the curve at a specified parameter.

Declaration
public override Vector3d NormalAt(double t)
Parameters
Type Name Description
System.Double t

Parameter.

Returns
Type Description
Vector3d

Normal vector at the parameter specified.

Overrides
BaseCurve.NormalAt(Double)
| Improve this Doc View Source

PointAt(Double)

Compute a point along the curve at a specified parameter.

Declaration
public override Point3d PointAt(double t)
Parameters
Type Name Description
System.Double t

Parameter.

Returns
Type Description
Point3d

Point at the parameter specified.

Overrides
BaseCurve.PointAt(Double)
| Improve this Doc View Source

TangentAt(Double)

Compute the tangent vector along the curve at a specified parameter.

Declaration
public override Vector3d TangentAt(double t)
Parameters
Type Name Description
System.Double t

Parameter.

Returns
Type Description
Vector3d

Tangent vector at the parameter specified.

Overrides
BaseCurve.TangentAt(Double)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX