ECG-Kit 1.0
(1,319 bytes)
function svgTurbulence(s, frequency, octaves, seed, stitch, type, result)
% Adds a feTurbulence SVG filter
% PRELIMINARY IMPLEMENTATION (Parameters may change)
%
% svgTurbulence(s, frequency, octaves, seed, stitch, type, result)
% Parameters:
% s : Array of plot object handles
% frequency : Base frequency, typical 0.05
% octaves : Octaves, typical 2
% seed : Seed value for random generator, typical 0..255
% stitch : Stitch tiles [stitch, noStitch]
% type : Turbulence type [fractalNoise, turbulence]
% result : String that identifies the filter result for following filter
% stages.
for i = 1:length(s)
userdata = get(s(i),'UserData');
if isfield(userdata, 'svg') && isfield(userdata.svg, 'Filter')
next = length(userdata.svg.Filter) + 1;
else
next = 1;
end
userdata.svg.Filter(next).Subfilter.Type = 'feTurbulence';
userdata.svg.Filter(next).Subfilter.BaseFrequency = frequency;
userdata.svg.Filter(next).Subfilter.NumOctaves = octaves;
userdata.svg.Filter(next).Subfilter.Seed = seed;
userdata.svg.Filter(next).Subfilter.StitchTiles = stitch;
userdata.svg.Filter(next).Subfilter.TurbulenceType = type;
userdata.svg.Filter(next).Subfilter.Result = result;
set(s(i),'UserData', userdata);
end