• 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 Polyline

Represents a polyline of 3-dimensional points.

Inheritance
System.Object
BaseCurve
Polyline
Implements
IEnumerable<Point3d>
Inherited Members
BaseCurve.Domain
BaseCurve.IsValid
BaseCurve.Length
Namespace: Paramdigma.Core.Geometry
Assembly: Paramdigma.Core.dll
Syntax
public class Polyline : BaseCurve, IEnumerable<Point3d>

Constructors

| Improve this Doc View Source

Polyline()

Initializes a new instance of the Polyline class.

Declaration
public Polyline()
| Improve this Doc View Source

Polyline(List<Point3d>)

Initializes a new instance of the Polyline class from a list of points.

Declaration
public Polyline(List<Point3d> knots)
Parameters
Type Name Description
List<Point3d> knots

List of points.

Properties

| Improve this Doc View Source

IsClosed

Gets a value indicating whether the polyline is closed (first point == last point).

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

IsUnset

Gets a value indicating whether the polyline is unset.

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

Item[Int32]

Gets the knot at the specified index.

Declaration
public Point3d this[int index] { get; }
Parameters
Type Name Description
System.Int32 index

The index.

Property Value
Type Description
Point3d
| Improve this Doc View Source

Knots

Gets the list of knots for this polyline.

Declaration
public List<Point3d> Knots { get; }
Property Value
Type Description
List<Point3d>
| Improve this Doc View Source

Segments

Gets the segment lines of the polyline.

Declaration
public List<Line> Segments { get; }
Property Value
Type Description
List<Line>

Line.

Methods

| Improve this Doc View Source

AddKnot(Point3d)

Add a new knot vertex at the end of the polyline.

Declaration
public void AddKnot(Point3d knot)
Parameters
Type Name Description
Point3d knot

Point to add.

| 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 polyline. Currently only checks if some segments are collapsed (length == 0).

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

True if polyline has no collapsed segments.

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

GetEnumerator()

Declaration
public IEnumerator<Point3d> GetEnumerator()
Returns
Type Description
IEnumerator<Point3d>
| Improve this Doc View Source

InsertKnot(Point3d, Int32)

Add a new knot vertex at the specified index.

Declaration
public void InsertKnot(Point3d knot, int index)
Parameters
Type Name Description
Point3d knot

Point to add.

System.Int32 index

Location to add at.

| 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

RemoveKnot(Point3d)

Delete a specific knot if it exists in the polyline. If the point exists multiple times, it will remove the first occurrence.

Declaration
public void RemoveKnot(Point3d knot)
Parameters
Type Name Description
Point3d knot

Point to delete.

| Improve this Doc View Source

RemoveKnotAt(Int32)

Delete a knot at a specific index.

Declaration
public void RemoveKnotAt(int index)
Parameters
Type Name Description
System.Int32 index

Index to delete knot at.

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

Implements

IEnumerable<>
  • Improve this Doc
  • View Source
Back to top Generated by DocFX