package Manticore::Layer::Traverse; # Implementation of the traverse line variant of the layer use strict; use warnings; sub fromText { my @all = @_; my @data = (); for my $bli(0..$#all) { my $bl = $all[$bli]; my $v = Manticore::Geometry::Point->new($bl); if('HASH' eq ref $v) { if($bl=~m#^([^\(\)]+)\((.*)\)$#) { push @data, {function=>$1, param=>$2} } else { return { error=>'Not a traverse function', position=>$bli } } } else { # we have a point push @data, $v; } } return bless { data => \@data, srcdata => \@all, mode => "traverse", }; } 1;