From ab1a365ca59c00af1d5b281d208f1c817bf266b9 Mon Sep 17 00:00:00 2001 From: Ralf Hielscher Date: Thu, 11 Oct 2018 08:05:18 +0200 Subject: [PATCH] fixing some issues mentioned in #373 --- S2Fun/@S2FunHarmonic/symmetrise.m | 2 +- geometry/@symmetry/calcAxisDistribution.m | 25 ++++++++++++++++------- geometry/plotAxisDistribution.m | 14 +++++++------ 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/S2Fun/@S2FunHarmonic/symmetrise.m b/S2Fun/@S2FunHarmonic/symmetrise.m index 97931d696..4b5e77ba2 100644 --- a/S2Fun/@S2FunHarmonic/symmetrise.m +++ b/S2Fun/@S2FunHarmonic/symmetrise.m @@ -65,7 +65,7 @@ % maybe there is nothing to do if sF.bandwidth == 0 || length(symX) == 1 - sFs = S2FunHarmonicSym(sF.fhat, sym, varargin{:}); + sFs = S2FunHarmonicSym(sF.fhat, sym); return; end diff --git a/geometry/@symmetry/calcAxisDistribution.m b/geometry/@symmetry/calcAxisDistribution.m index af712d62d..c0bf523ce 100644 --- a/geometry/@symmetry/calcAxisDistribution.m +++ b/geometry/@symmetry/calcAxisDistribution.m @@ -15,14 +15,25 @@ % See also [oR,dcs,nSym] = fundamentalRegion(cs,varargin{:}); +varargin = delete_option(varargin,'complete'); +if isa(varargin{1},'symmetry'), varargin(1) = []; end + -if nargin > 1 && isa(varargin{1},'vector3d') - varargin = delete_option(varargin,'complete'); - h = varargin{1}; +if ~isempty(varargin) && isa(varargin{1},'vector3d') + + x = getValue(varargin{1}); + +else + + f = @(h) getValue(h); + x = S2FunHarmonicSym.quadrature(f,dcs,'bandwidth',256,varargin{:}); + +end + +function value = getValue(h) h = project2FundamentalRegion(h,dcs); omega = oR.maxAngle(h); - x = nSym * (omega - sin(omega)) ./ pi; -else - f = @(h) calcAxisDistribution(dcs,h,varargin{:}); - x = S2FunHarmonicSym.quadrature(f,dcs,'bandwidth',128,varargin{:}); + value = nSym * (omega - sin(omega)) ./ pi; end + +end \ No newline at end of file diff --git a/geometry/plotAxisDistribution.m b/geometry/plotAxisDistribution.m index 6aea25884..90b330056 100644 --- a/geometry/plotAxisDistribution.m +++ b/geometry/plotAxisDistribution.m @@ -29,7 +29,9 @@ [mtexFig,isNew] = newMtexFigure(varargin{:}); +res = 2.5 * degree; if isa(obj,'symmetry') + res = .5 * degree; cs1 = obj; if nargin > 1 && isa(varargin{1},'symmetry') cs2 = varargin{1}; @@ -60,15 +62,15 @@ % plotting grid sR = fundamentalSector(dcs,varargin{:}); + h = plotS2Grid(sR,'resolution',res,varargin{:}); + + % plot + varargin = [delete_option(varargin,'complete'),dcs.plotOptions]; if isa(obj,'symmetry') - h = plotS2Grid(sR,'resolution',.5*degree,varargin{:}); + density = pos(calcAxisDistribution(cs1,cs2,h,varargin{:})); else - h = plotS2Grid(sR,'resolution',2.5*degree,varargin{:}); + density = pos(calcAxisDistribution(obj,h,varargin{:})); end - - % plot - varargin = [delete_option(varargin,'complete'),dcs.plotOptions]; - density = pos(calcAxisDistribution(obj,h,varargin{:})); h = smooth(h,density,dcs,varargin{:}); end