Explode Polycurve

See that

For SVG plugin I have done that

public XmlNode WriteSVGCurve(XmlDocument xmlDoc, Curve curve, Rhino.DocObjects.RhinoObject rhobj)
        {
            //if (testIfCurveVisibleInView(curve, DirectionOfProjection, doc.ModelAngleToleranceRadians, doc.ModelAbsoluteTolerance))
            //{
            if (curve.IsLinear())
            {
                return WriteSVGLine(xmlDoc, curve, rhobj);
            }//End if linear
            else
            {
                Polyline polyline;
                if (curve.TryGetPolyline(out polyline))
                {
                    return WriteSVGPolyline(xmlDoc, polyline, rhobj);
                }//End if polyline
                else
                {
                    Circle circle;
                    if (curve.TryGetCircle(out circle))
                    {
                        if (Vector3d.Multiply(circle.Normal, DirectionOfProjection) < 0.9999) return WriteSVGBezier(xmlDoc, curve, rhobj);
                        else return WriteSVGCircle(xmlDoc, circle, rhobj);
                    }
                    else
                    {
                        return WriteSVGBezier(xmlDoc, curve, rhobj);
                    }
                }
            }
            //}
            //else return null;
        }