Changeset 2135


Ignore:
Timestamp:
Jan 22, 2016 2:38:54 PM (6 years ago)
Author:
vondreele
Message:

more fixes to peak exports to get correct FWHM
refactor Merge GUI

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r2134 r2135  
    31723172                                    (peak[0],dsp,peak[2],np.sqrt(max(0.0001,peak[4])),peak[6],peak[8],peak[10],FWHM))
    31733173                            else:               #CW
    3174                                 sig = np.sqrt(peak[4])/100. #var -> sig in deg
    3175                                 gam = peak[6]/100.  #-> gam in deg
     3174                                sig = np.sqrt(peak[4]) #var -> sig
     3175                                gam = peak[6]
    31763176                                FWHM = G2pwd.getgamFW(gam,sig)      #to get delta-2-theta in deg. from Gam(peak)
    31773177                                file.write("%10.3f %10.5f %12.2f %10.5f %10.5f %10.5f \n" % \
     
    32163216                                                (int(peak[0]),int(peak[1]),int(peak[2]),int(peak[3]),peak[4],peak[5],FWHM,peak[8]))
    32173217                                        else:
    3218                                             sig = np.sqrt(peak[6])/100.
    3219                                             gam = peak[7]/100.
     3218                                            sig = np.sqrt(peak[6])
     3219                                            gam = peak[7]
    32203220                                            FWHM = G2pwd.getgamFW(gam,sig)
    32213221                                            file.write(" %3d %3d %3d %3d %10.5f %10.5f %10.5f %10.3f \n" % \
  • trunk/GSASIIgrid.py

    r2131 r2135  
    339339        self.Cent = 'noncentrosymmetric'
    340340        self.Laue = '1'
     341        self.Class = 'triclinic'
    341342        self.Draw()
    342343       
     
    351352            Obj = event.GetEventObject()
    352353            self.Cent = Obj.GetValue()
    353             self.Laue = '-1'
    354             if 'non' in self.Cent:
    355                 self.Laue = '1'
     354            self.Laue = ''
    356355            self.Draw()
    357356           
     
    360359            self.Laue = Obj.GetValue()
    361360            self.Draw()
    362        
     361           
     362        def OnClass(event):
     363            Obj = event.GetEventObject()
     364            self.Class = Obj.GetValue()
     365            self.Laue = ''
     366            self.Draw()
     367       
    363368        self.panel.Destroy()
    364369        self.panel = wx.Panel(self)
     
    384389        MatSizer.Add(transSizer)
    385390        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']}
    391400        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)
    392406        mainSizer.Add(wx.StaticText(self.panel,label=' Target Laue symmetry:'),0,WACV)
    393407        Cent = wx.ComboBox(self.panel,value=self.Cent,choices=centChoice,
     
    397411        mergeSizer.Add(Cent,0,WACV)
    398412        mergeSizer.Add((10,0),0)
    399         Choice = centroLaue
     413        Choice = centroLaue[self.Class]
    400414        if 'non' in self.Cent:
    401             Choice = noncentroLaue
     415            Choice = noncentroLaue[self.Class]
    402416        Laue = wx.ComboBox(self.panel,value=self.Laue,choices=Choice,
    403417            style=wx.CB_READONLY|wx.CB_DROPDOWN)
     
    412426        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
    413427        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)
    416431        btnSizer.Add(cancelBtn)
    417432        btnSizer.Add((20,20),1)
  • trunk/GSASIIlattice.py

    r2131 r2135  
    955955        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    956956        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
    958959    elif Laue == '2(a)':    #ok 
    959960        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
     
    971972    elif Laue == 'm(c)':        #ok
    972973        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([1,1,-1])[:,nxs],HKLFT[:3])
     974    #centrosymmetric
    973975    elif Laue == '2/m(a)':       
    974976        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,-1])[:,nxs],HKLFT[:3])
     
    980982        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
    981983        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
    983986    elif Laue == '222': #ok
    984987        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     
    995998        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    996999        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
     1000    #centrosymmetric
    9971001    elif Laue == 'mmm': #ok
    9981002        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    9991003        HKLFT[:3] = np.where(HKLFT[1]<0,HKLFT[:3]*np.array([1,-1,1])[:,nxs],HKLFT[:3])
    10001004        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
    10141007    elif Laue == '3':
    10151008        HKLFT[:3] = np.where(HKLFT[1]<0,np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
     
    10321025        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,1,1])[:,nxs],HKLFT[:3])
    10331026        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
    10351065    elif Laue == '4/m':
    10361066        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,1])[:,nxs],HKLFT[:3])
     
    10421072        HKLFT[:3] = np.where(HKLFT[2]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10431073        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
    10721076    elif Laue == '6':
    10731077        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
     
    10851089        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    10861090        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat31[nxs,:,:])).T,HKLFT[:3])
    1087     #cubic  'm3','m3m',  '23','432','-43m'
    1088     elif Laue == 'm3':
     1091    #centrosymmetric
     1092    elif Laue == '6/m':
    10891093        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],mat41[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':
    10921096        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
    10941100    elif Laue == '23':
    10951101        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
     
    10991105        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
    11001106    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':
    11011114        HKLFT[:3] = np.where(HKLFT[0]<0,HKLFT[:3]*np.array([-1,-1,-1])[:,nxs],HKLFT[:3])
    11021115        HKLFT[:3] = np.where(HKLFT[1]<HKLFT[0],np.squeeze(np.inner(HKLF[:,:3],mat41[nxs,:,:])).T,HKLFT[:3])
  • trunk/GSASIIplot.py

    r2132 r2135  
    771771        for i,ref in enumerate(hklRef):
    772772            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:
    777780                return [int(h),int(k),int(l)]
     781               
    778782                       
    779783    def SetTranslation(newxy):
     
    905909        glDisable(GL_COLOR_MATERIAL)
    906910       
    907     def RenderUnitVectors(x,y,z):
     911    def RenderUnitVectors(x,y,z,labxyz=['','','']):
    908912        xyz = np.array([x,y,z])
    909913        glEnable(GL_COLOR_MATERIAL)
     
    918922            glVertex3fv(line[1])
    919923        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])
    920932        glPopMatrix()
    921933        glColor4ubv([0,0,0,0])
     
    984996        else:
    985997            RenderUnitVectors(x,y,z)
    986         RenderUnitVectors(0,0,0)
     998        RenderUnitVectors(0,0,0,labxyz=['h','k','l'])
    987999        RenderDots(HKL,RC)
    9881000        time0 = time.time()
Note: See TracChangeset for help on using the changeset viewer.