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 Polyline

    Class defining a polyline curve in three-dimensional euclidean space.

    Inheritance
    Object
    Polyline
    Implements
    IGeometricallyEquatable<Polyline>
    Namespace: BRIDGES.Geometry.Euclidean3D
    Assembly: BRIDGES.dll
    Syntax
    public class Polyline : IEquatable<Polyline>, IGeometricallyEquatable<Polyline>

    Constructors

    | Improve this Doc View Source

    Polyline(Polyline)

    Initialises a new instance of the Polyline class from another Polyline.

    Declaration
    public Polyline(Polyline polyline)
    Parameters
    Type Name Description
    Polyline polyline

    Polyline to copy.

    | Improve this Doc View Source

    Polyline(IEnumerable<Point>, Boolean)

    Initialises a new instance of the Polyline class by defining its vertices.

    Declaration
    public Polyline(IEnumerable<Point> vertices, bool isClosed = false)
    Parameters
    Type Name Description
    IEnumerable<Point> vertices

    Position of the vertices.

    Boolean isClosed

    Determines whether the new Polyline is closed or not.

    Properties

    | Improve this Doc View Source

    DomainEnd

    Class defining a polyline curve in three-dimensional euclidean space.

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

    DomainStart

    Class defining a polyline curve in three-dimensional euclidean space.

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

    EndPoint

    Class defining a polyline curve in three-dimensional euclidean space.

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

    IsClosed

    Class defining a polyline curve in three-dimensional euclidean space.

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

    Item[Int32]

    Gets the vertex of the Polyline at the given index.

    Declaration
    public Point this[int index] { get; set; }
    Parameters
    Type Name Description
    Int32 index

    Index of the vertex to retrieve.

    Property Value
    Type Description
    Point

    The Point representing the position of the vertex.

    | Improve this Doc View Source

    SegmentCount

    Gets the number of segments of the current Polyline.

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

    StartPoint

    Class defining a polyline curve in three-dimensional euclidean space.

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

    VertexCount

    Gets the number of vertices of the current Polyline.

    Declaration
    public int VertexCount { get; }
    Property Value
    Type Description
    Int32

    Methods

    | Improve this Doc View Source

    AddVertex(Point)

    Adds a vertex at the end of the polyline.

    Declaration
    public void AddVertex(Point vertex)
    Parameters
    Type Name Description
    Point vertex

    Position of the new vertex.

    | Improve this Doc View Source

    AddVertices(List<Point>)

    Adds a list of vertices at the end of the polyline.

    Declaration
    public void AddVertices(List<Point> vertices)
    Parameters
    Type Name Description
    List<Point> vertices

    Position of the new vertices.

    | Improve this Doc View Source

    ClosestPoint(Point, out Double)

    Retrieves the closest point on a polyline to a given point, and the distance from the point to the polyline.

    Declaration
    public Point ClosestPoint(Point point, out double t)
    Parameters
    Type Name Description
    Point point

    Point to find the closest point from.

    Double t

    Distance from the given point and the point on the polyline.

    Returns
    Type Description
    Point

    The closest point on the polyline.

    | Improve this Doc View Source

    Equals(Polyline)

    Evaluates whether the current Polyline is equal to another Polyline.

    Declaration
    public bool Equals(Polyline other)
    Parameters
    Type Name Description
    Polyline other

    Polyline to compare with.

    Returns
    Type Description
    Boolean

    true if the two Polyline are equal, false otherwise.

    Remarks

    Two Polyline are equal if they have the same topology and their corresponding vertices are equal.

    | Improve this Doc View Source

    Equals(Object)

    Class defining a polyline curve in three-dimensional euclidean space.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj
    Returns
    Type Description
    Boolean
    | Improve this Doc View Source

    Flip()

    Flips the current Polyline by reversing the list of vertices.

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

    GeometricallyEquals(Polyline)

    Evaluates whether the current object is geometrically equal to the given T.

    Declaration
    public bool GeometricallyEquals(Polyline other)
    Parameters
    Type Name Description
    Polyline other
    Returns
    Type Description
    Boolean

    true if the two objects are geometrically equal, false otherwise.

    | Improve this Doc View Source

    GetHashCode()

    Class defining a polyline curve in three-dimensional euclidean space.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32
    | Improve this Doc View Source

    InsertVertex(Int32, Point)

    Inserts a vertex in the polyline at the given index.

    Declaration
    public void InsertVertex(int index, Point vertex)
    Parameters
    Type Name Description
    Int32 index

    Zero-based index at which the vertex should be inserted.

    Point vertex

    Position of the new vertex.

    | Improve this Doc View Source

    Length()

    Computes the length of the current Polyline.

    Declaration
    public double Length()
    Returns
    Type Description
    Double

    The value corresponding to the Polyline's length.

    | Improve this Doc View Source

    PointAt(Double, CurveParameterFormat)

    Evaluates the current Polyline at the given parameter.

    Declaration
    public Point PointAt(double t, CurveParameterFormat format)
    Parameters
    Type Name Description
    Double t

    Parameter to evaluate the curve.

    CurveParameterFormat format

    Format of the parameter.

    • Normalised The point at t = i is the vertex at index i.
    • ArcLength The point at t = 1.0 is at a distance 1.0 from the start point along the polyline.
    Returns
    Type Description
    Point

    The Point on the Polyline at the given parameter.

    | Improve this Doc View Source

    ReplaceVertex(Int32, Point)

    Replaces a vertex in the polyline at the given index.

    Declaration
    public void ReplaceVertex(int index, Point vertex)
    Parameters
    Type Name Description
    Int32 index

    Zero-based index of the vertex to replace.

    Point vertex

    New position of the vertex.

    | Improve this Doc View Source

    ReplaceVertices(IEnumerable<Point>)

    Replaces all the vertices in the polyline.

    Declaration
    public void ReplaceVertices(IEnumerable<Point> vertices)
    Parameters
    Type Name Description
    IEnumerable<Point> vertices

    New position of the vertices.

    | Improve this Doc View Source

    ToString()

    Class defining a polyline curve in three-dimensional euclidean space.

    Declaration
    public override string ToString()
    Returns
    Type Description
    String

    Implements

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