- Timestamp:
- Jan 22, 2016 2:38:54 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASII.py ¶
r2134 r2135 3172 3172 (peak[0],dsp,peak[2],np.sqrt(max(0.0001,peak[4])),peak[6],peak[8],peak[10],FWHM)) 3173 3173 else: #CW 3174 sig = np.sqrt(peak[4]) /100. #var -> sig in deg3175 gam = peak[6] /100. #-> gam in deg3174 sig = np.sqrt(peak[4]) #var -> sig 3175 gam = peak[6] 3176 3176 FWHM = G2pwd.getgamFW(gam,sig) #to get delta-2-theta in deg. from Gam(peak) 3177 3177 file.write("%10.3f %10.5f %12.2f %10.5f %10.5f %10.5f \n" % \ … … 3216 3216 (int(peak[0]),int(peak[1]),int(peak[2]),int(peak[3]),peak[4],peak[5],FWHM,peak[8])) 3217 3217 else: 3218 sig = np.sqrt(peak[6]) /100.3219 gam = peak[7] /100.3218 sig = np.sqrt(peak[6]) 3219 gam = peak[7] 3220 3220 FWHM = G2pwd.getgamFW(gam,sig) 3221 3221 file.write(" %3d %3d %3d %3d %10.5f %10.5f %10.5f %10.3f \n" % \ -
TabularUnified trunk/GSASIIgrid.py ¶
r2131 r2135 339 339 self.Cent = 'noncentrosymmetric' 340 340 self.Laue = '1' 341 self.Class = 'triclinic' 341 342 self.Draw() 342 343 … … 351 352 Obj = event.GetEventObject() 352 353 self.Cent = Obj.GetValue() 353 self.Laue = '-1' 354 if 'non' in self.Cent: 355 self.Laue = '1' 354 self.Laue = '' 356 355 self.Draw() 357 356 … … 360 359 self.Laue = Obj.GetValue() 361 360 self.Draw() 362 361 362 def OnClass(event): 363 Obj = event.GetEventObject() 364 self.Class = Obj.GetValue() 365 self.Laue = '' 366 self.Draw() 367 363 368 self.panel.Destroy() 364 369 self.panel = wx.Panel(self) … … 384 389 MatSizer.Add(transSizer) 385 390 mainSizer.Add(MatSizer) 386 centroLaue = ['-1','2/m','2/m(c)','2/m(a)','mmm','-3','-3m1','-31m','-3m', \ 387 '4/m','4/mmm','6/m','6/mmm','m3','m3m'] 388 noncentroLaue = ['1','2','2(a)','2(c)','m','m(a)','m(c)','222','mm2','m2m','2mm', \ 389 '3','312','321','32','3m1','31m','3m','4','-4','422','4mm','-42m','-4m2', \ 390 '6','-6','622','6mm','-6m2','-62m','23','432','-43m'] 391 laueClass = ['triclinic','monoclinic','orthorhombic','trigonal(H)','tetragonal','hexagonal','cubic'] 392 centroLaue = {'triclinic':['-1',],'monoclinic':['2/m','2/m(c)','2/m(a)',], 393 'orthorhombic':['mmm',],'trigonal(H)':['-3','-3m1','-31m','-3m',], \ 394 'tetragonal':['4/m','4/mmm',],'hexagonal':['6/m','6/mmm',],'cubic':['m3','m3m']} 395 noncentroLaue = {'triclinic':['1',],'monoclinic':['2','2(a)','2(c)','m','m(a)','m(c)',], 396 'orthorhombic':['222','mm2','m2m','2mm',], 397 'trigonal(H)':['3','312','321','32','3m1','31m','3m',], 398 'tetragonal':['4','-4','422','4mm','-42m','-4m2',], \ 399 'hexagonal':['6','-6','622','6mm','-6m2','-62m',],'cubic':['23','432','-43m']} 391 400 centChoice = ['noncentrosymmetric','centrosymmetric'] 401 mainSizer.Add(wx.StaticText(self.panel,label=' Select Laue class for new lattice:'),0,WACV) 402 Class = wx.ComboBox(self.panel,value=self.Class,choices=laueClass, 403 style=wx.CB_READONLY|wx.CB_DROPDOWN) 404 Class.Bind(wx.EVT_COMBOBOX,OnClass) 405 mainSizer.Add(Class,0,WACV) 392 406 mainSizer.Add(wx.StaticText(self.panel,label=' Target Laue symmetry:'),0,WACV) 393 407 Cent = wx.ComboBox(self.panel,value=self.Cent,choices=centChoice, … … 397 411 mergeSizer.Add(Cent,0,WACV) 398 412 mergeSizer.Add((10,0),0) 399 Choice = centroLaue 413 Choice = centroLaue[self.Class] 400 414 if 'non' in self.Cent: 401 Choice = noncentroLaue 415 Choice = noncentroLaue[self.Class] 402 416 Laue = wx.ComboBox(self.panel,value=self.Laue,choices=Choice, 403 417 style=wx.CB_READONLY|wx.CB_DROPDOWN) … … 412 426 btnSizer = wx.BoxSizer(wx.HORIZONTAL) 413 427 btnSizer.Add((20,20),1) 414 btnSizer.Add(OkBtn) 415 btnSizer.Add((20,20),1) 428 if self.Laue: 429 btnSizer.Add(OkBtn) 430 btnSizer.Add((20,20),1) 416 431 btnSizer.Add(cancelBtn) 417 432 btnSizer.Add((20,20),1) -
TabularUnified trunk/GSASIIlattice.py ¶
r2131 r2135 955 955 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 956 956 HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3]) 957 #monoclinic - all 3 settings 957 #monoclinic - all 3 settings OK 958 #noncentrosymmetric 958 959 elif Laue == '2(a)': #ok 959 960 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) … … 971 972 elif Laue == 'm(c)': #ok 972 973 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 974 #centrosymmetric 973 975 elif Laue == '2/m(a)': 974 976 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) … … 980 982 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 981 983 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 982 #orthorhombic - 3 settings 984 #orthorhombic - 3 settings all OK 985 #noncentrosymmetric 983 986 elif Laue == '222': #ok 984 987 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) … … 995 998 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3]) 996 999 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3]) 1000 #centrosymmetric 997 1001 elif Laue == 'mmm': #ok 998 1002 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3]) 999 1003 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3]) 1000 1004 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1001 #trigonal'-3','-3m1','-31m','-3m', '3','312','321','32','3m1','31m','3m' - all hex cell 1002 elif Laue == '-3': 1003 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1004 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1005 elif Laue == '-3m1': 1006 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1007 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1008 elif Laue == '-31m': 1009 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1010 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1011 elif Laue == '-3m': 1012 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1013 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1005 #trigonal - all hex cell 1006 #noncentrosymmetric 1014 1007 elif Laue == '3': 1015 1008 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) … … 1032 1025 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3]) 1033 1026 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1034 #tetragonal '4/m','4/mmm', '4','-4','422','4mm','-42m','-4m2' 1027 #centrosymmetric 1028 elif Laue == '-3': 1029 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1030 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1031 elif Laue == '-3m1': 1032 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1033 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1034 elif Laue == '-31m': 1035 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1036 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1037 elif Laue == '-3m': 1038 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3]) 1039 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat3[nxs,:,:])).T,HKLFT[:3]) 1040 #tetragonal 1041 #noncentrosymmetric 1042 elif Laue == '4': #OK 1043 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1044 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3]) 1045 HKLFT[:3] = np.where(HKLFT[0]==0,np.where(HKLFT[1]>0,np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3]) 1046 elif Laue == '-4': 1047 # HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1048 # HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) 1049 HKLFT[:3] = np.where(HKLFT[0]<0,np.where(HKLFT[1]>0,np.squeeze(np.inner(-HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]),HKLFT[:3]) 1050 elif Laue == '422': 1051 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1052 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) 1053 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3]) 1054 elif Laue == '4mm': 1055 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1056 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) 1057 HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat43[nxs,:,:])).T,HKLFT[:3]) 1058 elif Laue == '-42m': 1059 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1060 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1061 elif Laue == '-4m2': 1062 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1063 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1064 #centrosymmetric 1035 1065 elif Laue == '4/m': 1036 1066 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) … … 1042 1072 HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1043 1073 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1044 elif Laue == '4': 1045 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1046 HKLFT[:3] = np.where(HKLFT[1]==0,np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,1,-1])[:,nxs],HKLFT[:3]),HKLFT[:3]) 1047 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1048 elif Laue == '-4': 1049 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1050 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1051 elif Laue == '422': 1052 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1053 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) 1054 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1055 elif Laue == '4mm': 1056 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3]) 1057 HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3]) 1058 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1059 elif Laue == '-42m': 1060 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1061 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1062 elif Laue == '-4m2': 1063 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1064 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1065 #hexagonal '6/m','6/mmm', '6','-6','622','6mm','-6m2','-62m' 1066 elif Laue == '6/m': 1067 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1068 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1069 elif Laue == '6/mmm': 1070 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1071 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1074 #hexagonal 1075 #noncentrosymmetric 1072 1076 elif Laue == '6': 1073 1077 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) … … 1085 1089 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1086 1090 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1087 #c ubic 'm3','m3m', '23','432','-43m'1088 elif Laue == ' m3':1091 #centrosymmetric 1092 elif Laue == '6/m': 1089 1093 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1090 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat 41[nxs,:,:])).T,HKLFT[:3])1091 elif Laue == ' m3m':1094 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1095 elif Laue == '6/mmm': 1092 1096 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1093 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1097 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3]) 1098 #cubic 1099 #noncentrosymmetric 1094 1100 elif Laue == '23': 1095 1101 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) … … 1099 1105 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1100 1106 elif Laue == '-43m': 1107 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1108 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1109 #centrosymmetric 1110 elif Laue == 'm3': 1111 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1112 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) 1113 elif Laue == 'm3m': 1101 1114 HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3]) 1102 1115 HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3]) -
TabularUnified trunk/GSASIIplot.py ¶
r2132 r2135 771 771 for i,ref in enumerate(hklRef): 772 772 h,k,l = ref[:3] 773 X,Y,Z = gluProject(h,k,l,Model,Proj,View) 774 XY = [int(X),int(Y)] 775 if np.allclose(xy,XY,atol=10) and Z < Zmax: 776 Zmax = Z 773 try: 774 X,Y,Z = gluProject(h,k,l,Model,Proj,View) 775 XY = [int(X),int(Y)] 776 if np.allclose(xy,XY,atol=10) and Z < Zmax: 777 Zmax = Z 778 return [int(h),int(k),int(l)] 779 except ValueError: 777 780 return [int(h),int(k),int(l)] 781 778 782 779 783 def SetTranslation(newxy): … … 905 909 glDisable(GL_COLOR_MATERIAL) 906 910 907 def RenderUnitVectors(x,y,z ):911 def RenderUnitVectors(x,y,z,labxyz=['','','']): 908 912 xyz = np.array([x,y,z]) 909 913 glEnable(GL_COLOR_MATERIAL) … … 918 922 glVertex3fv(line[1]) 919 923 glEnd() 924 glRotate(180,1,0,0) #fix to flip about x-axis 925 for ix,txt in enumerate(labxyz): 926 if txt: 927 pos = uEdges[ix][1] 928 glTranslate(pos[0],-1.5*pos[1],-pos[2]) 929 text = gltext.TextElement(text=txt,font=Font) 930 text.draw_text(scale=0.05) 931 glTranslate(-pos[0],1.5*pos[1],pos[2]) 920 932 glPopMatrix() 921 933 glColor4ubv([0,0,0,0]) … … 984 996 else: 985 997 RenderUnitVectors(x,y,z) 986 RenderUnitVectors(0,0,0 )998 RenderUnitVectors(0,0,0,labxyz=['h','k','l']) 987 999 RenderDots(HKL,RC) 988 1000 time0 = time.time()
Note: See TracChangeset
for help on using the changeset viewer.