Changeset 2167
- Timestamp:
- Mar 12, 2016 3:46:58 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIIO.py
r2166 r2167 2409 2409 else: 2410 2410 newVals.append(float(val)) 2411 atomRec = [atomName,atomType, '',newVals[0],newVals[1],newVals[2],newVals[4],newVals[3]/78.9568]2411 atomRec = [atomName,atomType,newVals[0],newVals[1],newVals[2],newVals[4],newVals[3]/78.9568] 2412 2412 Layer['Layers'][-1]['Atoms'].append(atomRec) 2413 2413 N += 1 -
trunk/GSASIIphsGUI.py
r2166 r2167 2392 2392 laueChoice = ['-1','2/m(ab)','2/m(c)','mmm','-3','-3m','4/m','4/mmm', 2393 2393 '6/m','6/mmm','axial','unknown'] 2394 colLabels = ['Name','Type',' refine','x','y','z','frac','Uiso']2394 colLabels = ['Name','Type','x','y','z','frac','Uiso'] 2395 2395 transLabels = ['Prob','Dx','Dy','Dz','refine','plot'] 2396 colTypes = [wg.GRID_VALUE_STRING,wg.GRID_VALUE_STRING, wg.GRID_VALUE_CHOICE+": ,X,XU,U,F,FX,FXU,FU",]+ \2396 colTypes = [wg.GRID_VALUE_STRING,wg.GRID_VALUE_STRING,]+ \ 2397 2397 3*[wg.GRID_VALUE_FLOAT+':10,5',]+2*[wg.GRID_VALUE_FLOAT+':10,4',] #x,y,z,frac,Uiso 2398 2398 transTypes = [wg.GRID_VALUE_FLOAT+':10,3',]+3*[wg.GRID_VALUE_FLOAT+':10,5',]+ \ 2399 [wg.GRID_VALUE_CHOICE+": ,P ,PX,PY,PZ,PXY,PXZ,PYZ,PXYZ,X,Y,Z,XY,XZ,YZ,XYZ",wg.GRID_VALUE_BOOL,]2399 [wg.GRID_VALUE_CHOICE+": ,P",wg.GRID_VALUE_BOOL,] 2400 2400 plotDefaults = {'oldxy':[0.,0.],'Quaternion':[0.,0.,0.,1.],'cameraPos':30.,'viewDir':[0,0,1], 2401 2401 'viewPoint':[[0.,0.,0.],[]],} … … 2530 2530 Trans = data['Layers']['Transitions'] 2531 2531 if len(Trans): 2532 Trans.append([[0.,0.,0.,0.,'' ] for trans in Trans])2532 Trans.append([[0.,0.,0.,0.,'',False] for trans in Trans]) 2533 2533 for trans in Trans: 2534 trans.append([0.,0.,0.,0.,'' ])2534 trans.append([0.,0.,0.,0.,'',False]) 2535 2535 else: 2536 Trans = [[ 1.,0.,0.,0.,''],]2537 #modify transition probability matrix as well - add new row/column2536 Trans = [[[1.,0.,0.,0.,'',False],],] 2537 data['Layers']['Transitions'] = Trans 2538 2538 UpdateLayerData() 2539 2539 … … 2549 2549 2550 2550 def OnAddAtom(event): 2551 Layer['Atoms'].append(['Unk','Unk', '',0.,0.,0.,1.,0.01])2551 Layer['Atoms'].append(['Unk','Unk',0.,0.,0.,1.,0.01]) 2552 2552 UpdateLayerData() 2553 2553 … … 2577 2577 def OnDrawLayer(event): 2578 2578 drawLayer.SetValue(False) 2579 if len(Layers['Layers'][il]['Atoms']) == 0: 2580 wx.MessageBox('No atoms in this layer to plot',caption='Data error',style=wx.ICON_EXCLAMATION) 2581 return 2579 2582 G2plt.PlotLayers(G2frame,Layers,[il,],plotDefaults) 2580 2583 … … 2623 2626 atomGrid.SetTable(atomTable,True) 2624 2627 atomGrid.SetScrollRate(0,0) #get rid of automatic scroll bars 2625 for c in range( 3,6):2628 for c in range(2,5): 2626 2629 attr = wx.grid.GridCellAttr() 2627 2630 attr.IncRef() #fix from Jim Hester … … 2638 2641 Obj = event.GetEventObject() 2639 2642 Yi = Indx[Obj.GetId()] 2643 if len(Layers['Layers'][Yi]['Atoms']) == 0: 2644 wx.MessageBox('No atoms in this layer to plot',caption='Data error',style=wx.ICON_EXCLAMATION) 2645 return 2640 2646 Xi,c = event.GetRow(),event.GetCol() 2641 2647 if Xi >= 0 and c == 5: #plot column 2648 if len(Layers['Layers'][Xi]['Atoms']) == 0: 2649 wx.MessageBox('No atoms in this layer to plot',caption='Data error',style=wx.ICON_EXCLAMATION) 2650 return 2642 2651 Obj.SetCellValue(Xi,5,'') 2643 2652 G2plt.PlotLayers(G2frame,Layers,[Yi,Xi,],plotDefaults) … … 2678 2687 try: 2679 2688 vals = [int(val)-1 for val in vals] 2689 if not all([0 <= val < len(Names) for val in vals]): 2690 raise ValueError 2680 2691 except ValueError: 2681 plotSeq.SetValue('Error in string '+ vals)2682 plotSeq.SetValue('')2692 plotSeq.SetValue('Error in string '+plotSeq.GetValue()) 2693 return 2683 2694 G2plt.PlotLayers(G2frame,Layers,vals,plotDefaults) 2684 2695 -
trunk/GSASIIplot.py
r2165 r2167 5814 5814 atNames = [atom[0] for atom in Layers['Layers'][layer]['Atoms']] 5815 5815 atTypes = [atom[1] for atom in Layers['Layers'][layer]['Atoms']] 5816 XYZ = np.array([atom[ 3:6] for atom in Layers['Layers'][layer]['Atoms']])5816 XYZ = np.array([atom[2:5] for atom in Layers['Layers'][layer]['Atoms']]) 5817 5817 if '-1' in Layers['Layers'][layer]['Symm']: 5818 5818 atNames += atNames … … 5844 5844 XYZ = newXYZ 5845 5845 Bonds = FindBonds(AtTypes,XYZ) 5846 5847 def OnPlotKeyPress(event): 5848 if event.GetKeyCode() > 255: 5849 return 5850 keyCode = chr(min(255,event.GetKeyCode())) 5851 dx = 0. 5852 dy = 0. 5853 dz = 0. 5854 if keyCode == 'L': 5855 Page.labels = not Page.labels 5856 Draw('labels') 5857 return 5858 if len(laySeq) != 2: 5859 return 5860 Trans = Layers['Transitions'] 5861 Yi,Xi = laySeq 5862 if keyCode == 'X': 5863 dx = 0.001 5864 if event.shiftDown: 5865 dx *= -1. 5866 elif keyCode == 'Y': 5867 dy = 0.001 5868 if event.shiftDown: 5869 dy *= -1. 5870 elif keyCode == 'Z': 5871 dz = 0.001 5872 if event.shiftDown: 5873 dz *= -1. 5874 Trans[Yi][Xi][1] += dx 5875 Trans[Yi][Xi][2] += dy 5876 Trans[Yi][Xi][3] += dz 5877 Draw('shift') 5846 5878 5847 5879 def OnMouseDown(event): … … 5897 5929 V = np.inner(Bmat,G2mth.prodQVQ(G2mth.invQ(Q),V)) 5898 5930 Tx,Ty,Tz = defaults['viewPoint'][0] 5899 Tx += V[0]*0.1 5900 Ty += V[1]*0.1 5901 Tz += V[2]*0.1 5931 delt = 0.01 5932 Tx += V[0]*delt 5933 Ty += V[1]*delt 5934 Tz += V[2]*delt 5902 5935 defaults['viewPoint'][0] = np.array([Tx,Ty,Tz]) 5903 5936 … … 6011 6044 aspect = float(VS[0])/float(VS[1]) 6012 6045 Zclip = 500.0 6046 Tx,Ty,Tz = defaults['viewPoint'][0] 6013 6047 Q = defaults['Quaternion'] 6014 6048 SetBackground() … … 6029 6063 glMultMatrixf(matRot.T) 6030 6064 glMultMatrixf(A4mat.T) 6065 glTranslate(-Tx,-Ty,-Tz) 6031 6066 RenderUnitVectors(0.,0.,0.) 6032 6067 radius = 0.2 … … 6037 6072 RenderSphere(x,y,z,radius,color) 6038 6073 RenderBonds(x,y,z,Bonds[iat],0.05,color) 6039 RenderLabel(x,y,z,' '+AtNames[iat],matRot) 6040 if Page.context: Page.canvas.SetCurrent(Page.context) # wx 2.9 fix 6074 if Page.labels: 6075 RenderLabel(x,y,z,' '+AtNames[iat],matRot) 6076 # if Page.context: Page.canvas.SetCurrent(Page.context) # wx 2.9 fix 6041 6077 Page.canvas.SwapBuffers() 6042 6078 … … 6052 6088 Page = G2frame.G2plotNB.nb.GetPage(plotNum) 6053 6089 Page.views = False 6090 Page.labels = False 6054 6091 view = False 6055 6092 altDown = False 6093 Page.Choice = (' key press','l: shift left','r: shift right','d: shift down','u: shift up', 6094 't: toggle labels',) 6095 Page.keyPress = OnPlotKeyPress 6056 6096 Page.SetFocus() 6057 6097 Font = Page.GetFont() … … 6061 6101 Page.canvas.Bind(wx.EVT_MIDDLE_DOWN, OnMouseDown) 6062 6102 Page.canvas.Bind(wx.EVT_MOTION, OnMouseMove) 6103 Page.canvas.Bind(wx.wx.EVT_KEY_UP, OnPlotKeyPress) 6063 6104 Page.canvas.Bind(wx.EVT_SIZE, OnSize) 6064 6105 Page.camera['position'] = defaults['cameraPos'] -
trunk/GSASIIpwd.py
r2166 r2167 1819 1819 df.write('NONE\n') 1820 1820 for ia,atom in enumerate(layer['Atoms']): 1821 [name,atype, Q,x,y,z,frac,Uiso] = atom1821 [name,atype,x,y,z,frac,Uiso] = atom 1822 1822 if '-1' in layer['Symm'] and [x,y,z] == [0.,0.,0.]: 1823 1823 frac /= 2.
Note: See TracChangeset
for help on using the changeset viewer.