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

Represents a 3D Line.

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

Constructors

| Improve this Doc View Source

Line(Point3d, Point3d)

Initializes a new instance of the Line class from two points.

Declaration
public Line(Point3d startPoint, Point3d endPoint)
Parameters
Type Name Description
Point3d startPoint

Start point.

Point3d endPoint

End point.

| Improve this Doc View Source

Line(Point3d, Vector3d, Double)

Initializes a new instance of the Line class from an origin point, a direction and a specified length.

Declaration
public Line(Point3d origin, Vector3d direction, double length)
Parameters
Type Name Description
Point3d origin

Start point of the line.

Vector3d direction

Direction of the line (length will not be taken into account).

System.Double length

Length of the line.

Properties

| Improve this Doc View Source

EndPoint

Gets or sets the line's end point.

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

StartPoint

Gets or sets the lines's start point.

Declaration
public Point3d StartPoint { get; set; }
Property Value
Type Description
Point3d

Methods

| Improve this Doc View Source

BinormalAt(Double)

Computes the bi-normal vector at the given parameter.

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

Parameter of the bi-normal vector. Must be between 0 and 1.

Returns
Type Description
Vector3d

Bi-normal vector at specified parameter.

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

CheckValidity()

Checks if line is valid.

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

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

Line length.

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

FrameAt(Double)

Computes the perpendicular frame at the given parameter.

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

Parameter of the frame. Must be between 0 and 1.

Returns
Type Description
Plane

Frame at specified parameter.

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

NormalAt(Double)

Computes the normal at the given parameter.

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

Parameter of the normal vector. Must be between 0 and 1.

Returns
Type Description
Vector3d

Normal vector at specified parameter.

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

PointAt(Double)

Computes thepoint at the given parameter.

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

Parameter of the point. Must be between 0 and 1.

Returns
Type Description
Point3d

Point at specified parameter.

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

TangentAt(Double)

Computes the tangent at the given parameter.

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

Parameter of the tangent. Must be between 0 and 1.

Returns
Type Description
Vector3d

Tangent at specified parameter.

Overrides
BaseCurve.TangentAt(Double)

Operators

| Improve this Doc View Source

Explicit(Line to Vector3d)

Explicitly converts a line to it's vector representation.

Declaration
public static explicit operator Vector3d(Line line)
Parameters
Type Name Description
Line line

Line to convert.

Returns
Type Description
Vector3d

Vector defining the line direction and length.

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