diff --git a/6_rendering/gtIPFCmap.m b/6_rendering/gtIPFCmap.m index 8c774cc0690b28b7936c1fee9caa162bad77a8a9..28f42e2f4b12b8fc506e6ef2b6d15bb1f93f85df 100644 --- a/6_rendering/gtIPFCmap.m +++ b/6_rendering/gtIPFCmap.m @@ -76,13 +76,11 @@ if size(r_vectors,2) == 4 end r_vectors = r_vectors.'; -% Get the symmetry operators +% Get the crystal system if isempty(par.crystal_system) parameters = load('parameters.mat'); par.crystal_system = parameters.parameters.cryst(phaseid).crystal_system; end -tmp = gtCrystGetSymmetryOperators(par.crystal_system); -symm = {tmp.g3}; % Compute all orientation matrices g % Gcry = g Gsam @@ -90,10 +88,10 @@ symm = {tmp.g3}; all_g = gtMathsRod2RotMat(r_vectors); % Compute LDc = LD expressed in the crystal CS -LDc = gtVectorLab2Cryst(LD, sam2crys); +LDc = gtVectorLab2Cryst(LD, all_g); % Get the color and vector in the SST triangle -[map, Vsst, ~, Vc_symm] = gtCrystVector2SST(LDc, par.crystal_system, symm, par.saturate); +[map, Vsst, ~, Vc_symm] = gtCrystVector2SST(LDc, par.crystal_system, [], par.saturate); cmap = [ 0 0 0 ; map ]; diff --git a/zUtil_Crack/GtCrackAnalysis.m b/zUtil_Crack/GtCrackAnalysis.m index b9f76457f347d4a9cc65d4acfa7f9f3ab2341385..5f2c6358cde98430910486d4d66576fc313dc79c 100644 --- a/zUtil_Crack/GtCrackAnalysis.m +++ b/zUtil_Crack/GtCrackAnalysis.m @@ -475,7 +475,6 @@ methods (Access = public) end obj.Nphases = length(crystal_systems); - symm = cell(1, 10); for iphase=1:obj.Nphases % Get crystal system try @@ -486,12 +485,11 @@ methods (Access = public) end syst = crystal_systems{iphase}; - % Get symmetry operators - symm = gtCrystGetSymmetryOperators(syst); - % Store phase crystal system and symmetry operators obj.p_crystalSystem{iphase} = syst; - obj.p_symm{iphase} = {symm.g3}; + + % Get symmetry operators + obj.p_symm{iphase} = gtCrystGetSymmetryOperators(syst); end end diff --git a/zUtil_Cryst/gtCrystVector2SST.m b/zUtil_Cryst/gtCrystVector2SST.m index 28619db3a4bc8b85b9c219b334a1f3d5c1e87c1e..b69868caecd04ccf9da955310e5b15e67bce1e2e 100644 --- a/zUtil_Cryst/gtCrystVector2SST.m +++ b/zUtil_Cryst/gtCrystVector2SST.m @@ -7,9 +7,9 @@ function [rgb, Vsst, Vsst_p, Vc_symm] = gtCrystVector2SST(Vc, crystal_system, sy % INPUT: % Vc = <double> Row vectors expressed in crystal frame % crystal_system = <string> Crystal system type ('cubic'|'hexagonal') -% symm = <cell_array> Symmetry operators % -% OPTINAL INPUT: +% OPTIONAL INPUT: +% symm = <cell> Symmetry operators (recomputed if empty) % saturate = <logical> Saturate or not the RGB output {true} % % OUTPUT: @@ -28,6 +28,10 @@ function [rgb, Vsst, Vsst_p, Vc_symm] = gtCrystVector2SST(Vc, crystal_system, sy saturate = true; end + % Get symmetry operators and store g3 operators into an array + if ~exist('symm', 'var') || isempty(symm) + symm = gtCrystGetSymmetryOperators(crystal_system); + end symm = reshape(cell2mat({symm.g3}), 3, 3, []); % All equivalents by symm