@@ -0,0 +1,1654 @@
+from __future__ import print_function%0Afrom __future__ import absolute_import%0Afrom __future__ import division%0A%0Aimport Rhino%0Aimport compas_rhino%0Afrom ..conversions import polyline_to_compas%0Afrom ..conversions import polyline_to_rhino%0Afrom ._geometry import BaseRhinoGeometry%0A%0A%0Aclass RhinoPolyline(BaseRhinoGeometry):%0A    %22%22%22Wrapper for a Rhino polyline objects.%0A    %22%22%22%0A%0A    def __init__(self):%0A        super(RhinoPolyline, self).__init__()%0A%0A    @classmethod%0A    def from_geometry(cls, geometry):%0A        %22%22%22Construct a line from an existing Rhino polyline geometry object.%0As%0A        Parameters%0A        ----------%0A        geometry : :class:%60Rhino.Geometry.Polyline%60 or :class:%60Polyline%60 or list of points%0A            The input geometry.%0A%0A        Returns%0A        -------%0A        :class:%60RhinoPolyline%60%0A        %22%22%22%0A        if not isinstance(geometry, Rhino.Geometry.Polyline):%0A            geometry = polyline_to_rhino(geometry)%0A        polyline = cls()%0A        polyline.geometry = geometry%0A        return polyline%0A%0A    @classmethod%0A    def from_selection(cls):%0A        %22%22%22Construct a polyline wrapper by selecting an existing Rhino polyline object.%0A%0A        Parameters%0A        ----------%0A        None%0A%0A        Returns%0A        -------%0A        :class:%60compas_rhino.geometry.RhinoPolyline%60%0A            The Rhino polyline wrapper.%0A        %22%22%22%0A        guid = compas_rhino.select_polyline()%0A        return cls.from_guid(guid)%0A%0A    def to_compas(self):%0A        %22%22%22Convert the polyline to a COMPAS geometry object.%0A%0A        Returns%0A        -------%0A        :class:%60Polyline%60%0A            A COMPAS polyline.%0A        %22%22%22%0A        return polyline_to_compas(self.geometry)%0A

add polyline wrapper