﻿Line Structure  Line Structure

Represents the value of start and end points in a single line segment.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll) Syntax
[SerializableAttribute]
public struct Line : IEquatable<Line>,
IEpsilonComparable<Line>

The Line type exposes the following members. Constructors
NameDescription Line(Point3d, Point3d)
Constructs a new line segment between two points. Line(Point3d, Vector3d)
Constructs a new line segment from start point and span vector. Line(Point3d, Vector3d, Double)
Constructs a new line segment from start point, direction and length. Line(Double, Double, Double, Double, Double, Double)
Constructs a new line segment between two points.
Top Properties
NameDescription BoundingBox
Gets the line's 3d axis aligned bounding box.  Direction
Gets the direction of this line segment. The length of the direction vector equals the length of the line segment. From
Start point of line segment. FromX
Gets or sets the X coordinate of the line From point. FromY
Gets or sets the Y coordinate of the line From point. FromZ
Gets or sets the Z coordinate of the line From point. IsValid
Gets a value indicating whether or not this line is valid. Valid lines must have valid start and end points. Length
Gets or sets the length of this line segment. Note that a negative length will invert the line segment without making the actual length negative. The line From point will remain fixed when a new Length is set. To
End point of line segment. ToX
Gets or sets the X coordinate of the line To point. ToY
Gets or sets the Y coordinate of the line To point. ToZ
Gets or sets the Z coordinate of the line To point. UnitTangent
Gets the tangent of the line segment. Note that tangent vectors are always unit vectors.  Unset
Gets a line segment which has Unset end points.
Top Methods
NameDescription ClosestParameter
Finds the parameter on the infinite line segment that is closest to a test point. ClosestPoint
Finds the point on the (in)finite line segment that is closest to a test point. DistanceTo
Compute the shortest distance between this line segment and a test point. EpsilonEquals
Check that all values in other are within epsilon of the values in this Equals(Object)
Determines whether an object is a line that has the same value as this line.
(Overrides ValueTypeEquals(Object).) Equals(Line)
Determines whether a line has the same value as this line. Extend
Extend the line by custom distances on both sides. ExtendThroughBox(BoundingBox)
Ensure the line extends all the way through a box. Note, this does not result in the shortest possible line that overlaps the box. ExtendThroughBox(Box)
Ensure the line extends all the way through a box. Note, this does not result in the shortest possible line that overlaps the box. ExtendThroughBox(BoundingBox, Double)
Ensure the line extends all the way through a box. Note, this does not result in the shortest possible line that overlaps the box. ExtendThroughBox(Box, Double)
Ensure the line extends all the way through a box. Note, this does not result in the shortest possible line that overlaps the box. Flip
Flip the endpoints of the line segment. GetHashCode
Computes a hash number that represents this line.
(Overrides ValueTypeGetHashCode.) GetType
Gets the Type of the current instance.
(Inherited from Object.) MaximumDistanceTo(Line)
Finds the largest distance between this line as a finite segment and another finite segment. MaximumDistanceTo(Point3d)
Finds the largest distance between this line as a finite segment and a test point. MinimumDistanceTo(Line)
Finds the shortest distance between this line as a finite segment and another finite segment. MinimumDistanceTo(Point3d)
Finds the shortest distance between this line as a finite segment and a test point.  PointAt
Evaluates the line at the specified parameter. PointAtLength
Computes a point located at a specific metric distance from the line origin (From).

If line start and end coincide, then the start point is always returned. ToNurbsCurve
Constructs a nurbs curve representation of this line. This amounts to the same as calling NurbsCurve.CreateFromLine(). ToString
Contructs the string representation of this line, in the form "From,To".
(Overrides ValueTypeToString.) Transform
Transform the line using a Transformation matrix.  TryCreateBetweenCurves
Creates a line segment between a pair of curves such that the line segment is either tangent or perpendicular to each of the curves.  TryFitLineToPoints
Attempt to fit a line through a set of points. TryGetPlane
Gets a plane that contains the line. The origin of the plane is at the start of the line. If possible, a plane parallel to the world xy, yz, or zx plane is returned.
Top Operators
NameDescription  Equality
Determines whether two lines have the same value.  Inequality
Determines whether two lines have different values.
Top Version Information

Rhino for Mac

Supported in: 5.4

Rhino for Windows

Supported in: 6.18 See Also