Takes a string of path data (like "M0,0 C100,20 300,50 400,0..."
, what's typically found in the d
attribute of a <path>
), parses it, converts it into cubic beziers, and then returns it as a RawPath.
A RawPath is basically an array containing an array for each contiguous segment, always populated with cubic bezier data. There's one segment (array) for each "M" command; All of the cubic bezier coordinates are in alternating x/y format (just like SVG path data) in numeric form which is nice because that way you don't have to parse a long string and convert things. For example, this SVG <path>
has two separate segments because there are two "M" commands:
<path d="M0,0 C10,20,15,30,5,18 M0,100 C50,120,80,110,100,100" />So the resulting RawPath would be:
[ [0, 0, 10, 20, 15, 30, 5, 18], [0, 100, 50, 120, 80, 110, 100, 100] ]
There is also a corresponding MorphSVGPlugin.rawPathToString()
method that allows you to convert things back again.