Changeset 748
- Timestamp:
- Sep 1, 2012 11:23:07 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIgrid.py
r746 r748 47 47 48 48 [ wxID_ATOMSEDITADD, wxID_ATOMSEDITINSERT, wxID_ATOMSEDITDELETE, wxID_ATOMSREFINE, 49 wxID_ATOMSMODIFY, wxID_ATOMSTRANSFORM, wxID_ATOMS TESTADD, wxID_ATONTESTINSERT,49 wxID_ATOMSMODIFY, wxID_ATOMSTRANSFORM, wxID_ATOMSVIEWADD, wxID_ATOMVIEWINSERT, 50 50 wxID_RELOADDRAWATOMS,wxID_ATOMSDISAGL, 51 51 ] = [wx.NewId() for item in range(10)] … … 523 523 self.AtomsMenu.Append(menu=MyHelp(self,helpType='Atoms'),title='&Help') 524 524 self.AtomEdit.Append(id=wxID_ATOMSEDITADD, kind=wx.ITEM_NORMAL,text='Append atom', 525 help=' Inserted as an H atom')526 self.AtomEdit.Append(id=wxID_ATOMS TESTADD, kind=wx.ITEM_NORMAL,text='Append testpoint',527 help=' Inserted as an H atom')525 help='Appended as an H atom') 526 self.AtomEdit.Append(id=wxID_ATOMSVIEWADD, kind=wx.ITEM_NORMAL,text='Append view point', 527 help='Appended as an H atom') 528 528 self.AtomEdit.Append(id=wxID_ATOMSEDITINSERT, kind=wx.ITEM_NORMAL,text='Insert atom', 529 529 help='Select atom row to insert before; inserted as an H atom') 530 self.AtomEdit.Append(id=wxID_ATO NTESTINSERT, kind=wx.ITEM_NORMAL,text='Insert testpoint',530 self.AtomEdit.Append(id=wxID_ATOMVIEWINSERT, kind=wx.ITEM_NORMAL,text='Insert view point', 531 531 help='Select atom row to insert before; inserted as an H atom') 532 532 self.AtomEdit.Append(id=wxID_ATOMSEDITDELETE, kind=wx.ITEM_NORMAL,text='Delete atom', -
trunk/GSASIIphsGUI.py
r747 r748 946 946 generalData = data['General'] 947 947 atomData = data['Atoms'] 948 DData = data['Drawing'] 948 949 Items = [G2gd.wxID_ATOMSEDITINSERT, G2gd.wxID_ATOMSEDITDELETE, G2gd.wxID_ATOMSREFINE, 949 G2gd.wxID_ATOMSMODIFY, G2gd.wxID_ATOMSTRANSFORM, G2gd.wxID_ATO NTESTINSERT]950 G2gd.wxID_ATOMSMODIFY, G2gd.wxID_ATOMSTRANSFORM, G2gd.wxID_ATOMVIEWINSERT] 950 951 if atomData: 951 952 for item in Items: … … 953 954 else: 954 955 for item in Items: 955 G2frame.dataFrame.AtomsMenu.Enable(item,False) 956 956 G2frame.dataFrame.AtomsMenu.Enable(item,False) 957 Items = [G2gd.wxID_ATOMVIEWINSERT, G2gd.wxID_ATOMSVIEWADD] 958 if data['Drawing']['showABC']: 959 for item in Items: 960 G2frame.dataFrame.AtomsMenu.Enable(item,True) 961 else: 962 for item in Items: 963 G2frame.dataFrame.AtomsMenu.Enable(item,False) 964 957 965 AAchoice = ": ,ALA,ARG,ASN,ASP,CYS,GLN,GLU,GLY,HIS,ILE,LEU,LYS,MET,PHE,PRO,SER,THR,TRP,TYR,VAL,MSE,HOH,UNK" 958 966 Types = [wg.GRID_VALUE_STRING,wg.GRID_VALUE_STRING,wg.GRID_VALUE_CHOICE+": ,X,XU,U,F,FX,FXU,FU",]+ \ … … 1160 1168 DrawAtomsReplaceByID(data['Drawing'],atomData[r],ID) 1161 1169 FindBondsDraw() 1162 1170 1163 1171 def AtomTypeSelect(event): 1164 1172 r,c = event.GetRow(),event.GetCol() … … 1201 1209 else: 1202 1210 Atoms.ClearSelection() 1203 Atoms.SelectRow(r,True) 1211 Atoms.SelectRow(r,True) 1204 1212 1205 1213 def ChangeSelection(event): … … 1275 1283 event.StopPropagation() 1276 1284 1277 def OnAtom TestAdd(event):1285 def OnAtomViewAdd(event): 1278 1286 try: 1279 1287 drawData = data['Drawing'] 1280 x,y,z = drawData[' testPos'][0]1288 x,y,z = drawData['viewPoint'][0] 1281 1289 AtomAdd(x,y,z) 1282 1290 except: … … 1308 1316 event.StopPropagation() 1309 1317 1310 def OnAtom TestInsert(event):1318 def OnAtomViewInsert(event): 1311 1319 if 'Drawing' in data: 1312 1320 drawData = data['Drawing'] 1313 x,y,z = drawData[' testPos'][0]1321 x,y,z = drawData['viewPoint'][0] 1314 1322 AtomAdd(x,y,z) 1315 1323 FillAtomsGrid() … … 1540 1548 'vdwScale':0.67,'ellipseProb':50,'sizeH':0.50,'unitCellBox':False, 1541 1549 'showABC':True,'selectedAtoms':[],'Atoms':[],'Rotation':[0.0,0.0,0.0,[]], 1542 'bondList':{}, 'testPos':[[-.1,-.1,-.1],[0.0,0.0,0.0],[0,0]]}1550 'bondList':{},} 1543 1551 try: 1544 1552 drawingData = data['Drawing'] … … 2537 2545 2538 2546 line2Sizer = wx.BoxSizer(wx.HORIZONTAL) 2539 showABC = wx.CheckBox(dataDisplay,-1,label=' Show testpoint?')2547 showABC = wx.CheckBox(dataDisplay,-1,label=' Show view point?') 2540 2548 showABC.Bind(wx.EVT_CHECKBOX, OnShowABC) 2541 2549 showABC.SetValue(drawingData['showABC']) … … 4199 4207 G2frame.dataFrame.SetMenuBar(G2frame.dataFrame.AtomsMenu) 4200 4208 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomAdd, id=G2gd.wxID_ATOMSEDITADD) 4201 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtom TestAdd, id=G2gd.wxID_ATOMSTESTADD)4209 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomViewAdd, id=G2gd.wxID_ATOMSVIEWADD) 4202 4210 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomInsert, id=G2gd.wxID_ATOMSEDITINSERT) 4203 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtom TestInsert, id=G2gd.wxID_ATONTESTINSERT)4211 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomViewInsert, id=G2gd.wxID_ATOMVIEWINSERT) 4204 4212 G2frame.dataFrame.Bind(wx.EVT_MENU, AtomDelete, id=G2gd.wxID_ATOMSEDITDELETE) 4205 4213 G2frame.dataFrame.Bind(wx.EVT_MENU, AtomRefine, id=G2gd.wxID_ATOMSREFINE) -
trunk/GSASIIplot.py
r740 r748 2426 2426 newxy = event.GetPosition() 2427 2427 page = getSelection() 2428 if event.ControlDown() and drawingData['showABC']:2429 if event.LeftIsDown():2430 SetTestRot(newxy)2431 elif event.RightIsDown():2432 SetTestPos(newxy)2433 elif event.MiddleIsDown():2434 SetTestRotZ(newxy)2435 x,y,z = drawingData['testPos'][0]2436 G2frame.G2plotNB.status.SetStatusText('moving test point %.4f,%.4f,%.4f'%(x,y,z),1)2437 Draw()2438 2428 2439 2429 if event.Dragging() and not event.ControlDown(): … … 2526 2516 if key in ['C']: 2527 2517 drawingData['viewPoint'] = [[.5,.5,.5],[0,0]] 2528 drawingData['testPos'] = [[-.1,-.1,-.1],[0.0,0.0,0.0],[0,0]]2529 2518 drawingData['Rotation'] = [0.0,0.0,0.0,[]] 2530 2519 SetViewPointText(drawingData['viewPoint'][0]) … … 2615 2604 SetViewPointText([Tx,Ty,Tz]) 2616 2605 2617 def SetTestPos(newxy):2618 Tx,Ty,Tz = drawingData['testPos'][0]2619 anglex,angley,anglez,oldxy = drawingData['Rotation']2620 if not len(oldxy): oldxy = list(newxy)2621 Rx = G2lat.rotdMat(anglex,0)2622 Ry = G2lat.rotdMat(angley,1)2623 Rz = G2lat.rotdMat(anglez,2)2624 dxy = list(newxy-oldxy)+[0,]2625 dxy = np.inner(Rz,np.inner(Ry,np.inner(Rx,dxy)))2626 Tx += dxy[0]*0.0012627 Ty -= dxy[1]*0.0012628 Tz += dxy[2]*0.0012629 drawingData['Rotation'][3] = list(newxy)2630 drawingData['testPos'][0] = Tx,Ty,Tz2631 2632 def SetTestRot(newxy):2633 Txyz = np.array(drawingData['testPos'][0])2634 oldxy = drawingData['testPos'][2]2635 Ax,Ay,Az = drawingData['testPos'][1]2636 Vxyz = np.array(drawingData['viewPoint'][0])2637 Dxyz = np.inner(Amat,Txyz-Vxyz)2638 dxy = list(newxy-oldxy)+[0,]2639 Ax += dxy[1]*0.012640 Ay += dxy[0]*0.012641 Rx = G2lat.rotdMat(Ax,0)2642 Ry = G2lat.rotdMat(Ay,1)2643 Dxyz = np.inner(Ry,np.inner(Rx,Dxyz))2644 Dxyz = np.inner(Bmat,Dxyz)+Vxyz2645 drawingData['testPos'][1] = [Ax,Ay,Az]2646 drawingData['testPos'][2] = newxy2647 drawingData['testPos'][0] = Dxyz2648 2649 def SetTestRotZ(newxy):2650 Txyz = np.array(drawingData['testPos'][0])2651 oldxy = drawingData['testPos'][2]2652 Ax,Ay,Az = drawingData['testPos'][1]2653 Vxyz = np.array(drawingData['viewPoint'][0])2654 Dxyz = np.inner(Amat,Txyz-Vxyz)2655 dxy = list(newxy-oldxy)+[0,]2656 Az += (dxy[0]+dxy[1])*.012657 Rz = G2lat.rotdMat(Az,2)2658 Dxyz = np.inner(Rz,Dxyz)2659 Dxyz = np.inner(Bmat,Dxyz)+Vxyz2660 drawingData['testPos'][1] = [Ax,Ay,Az]2661 drawingData['testPos'][2] = newxy2662 drawingData['testPos'][0] = Dxyz2663 2664 2606 def SetRotation(newxy): 2665 2607 anglex,angley,anglez,oldxy = drawingData['Rotation'] … … 2912 2854 RenderBox() 2913 2855 if drawingData['showABC']: 2914 x,y,z = drawingData['testPos'][0] 2915 # if altDown: 2916 # G2frame.G2plotNB.status.SetStatusText('moving test point %.4f,%.4f,%.4f'%(x,y,z),1) 2917 # else: 2918 # G2frame.G2plotNB.status.SetStatusText('test point %.4f,%.4f,%.4f'%(x,y,z),1) 2856 x,y,z = drawingData['viewPoint'][0] 2919 2857 RenderUnitVectors(x,y,z) 2920 2858 Backbones = {}
Note: See TracChangeset
for help on using the changeset viewer.