Changeset 1938
- Timestamp:
- Jul 21, 2015 9:50:12 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r1936 r1938 1518 1518 1519 1519 def OnAtomInsert(event): 1520 AtomInsert(0,0,0) 1521 FillAtomsGrid(Atoms) 1522 event.StopPropagation() 1523 G2plt.PlotStructure(G2frame,data) 1520 indx = Atoms.GetSelectedRows() 1521 if indx: 1522 AtomInsert(indx[0],0,0,0) 1523 FillAtomsGrid(Atoms) 1524 event.StopPropagation() 1525 G2plt.PlotStructure(G2frame,data) 1524 1526 1525 1527 def OnAtomViewInsert(event): … … 1599 1601 for ineigh,neigh in enumerate(Neigh): 1600 1602 AddHydIds[ineigh].append(neigh[2]) 1603 loc = AtLookUp[AddHydIds[ineigh][0]]+1 1601 1604 if 'O' in neigh[0] and (not len(mapData['rho']) or not 'delt-F' in mapData['MapType']): 1602 1605 mapError = True … … 1604 1607 Hxyz,HU = G2mth.AddHydrogens(AtLookUp,generalData,atomData,AddHydIds[ineigh]) 1605 1608 for iX,X in enumerate(Hxyz): 1609 AtomInsert(loc+iX,X[0],X[1],X[2],'H','H(%d)'%(Nat)) 1610 data['Atoms'][loc+iX][cia+1] = HU[iX] 1611 Id = data['Atoms'][loc+iX][cia+8] 1612 HydIds[Id] = [iX,AddHydIds[ineigh]] 1606 1613 Nat += 1 1607 AtomAdd(X[0],X[1],X[2],'H','H(%d)'%(Nat)) 1608 data['Atoms'][-1][cia+1] = HU[iX] 1609 Id = data['Atoms'][-1][cia+8] 1610 HydIds[Id] = [iX,AddHydIds[ineigh]] 1614 AtLookUp = G2mth.FillAtomLookUp(atomData,cia+8) 1615 print Id,HydIds[Id] 1611 1616 if mapError: 1612 1617 G2frame.ErrorDialog('Add H atom error','Adding O-H atoms requires delt-F map') … … 1614 1619 data['General']['HydIds'].update(HydIds) 1615 1620 G2frame.dataFrame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True) 1621 data['Drawing']['Atoms'] = [] 1622 UpdateDrawAtoms() 1616 1623 FillAtomsGrid(Atoms) 1617 1624 dlg.Destroy() … … 1633 1640 Hxyz,HU = G2mth.AddHydrogens(AtLookUp,generalData,atomData,hydIds[1]) 1634 1641 try: 1642 if data['Atoms'][AtLookUp[HId]][ct] != 'H': 1643 raise KeyError 1635 1644 data['Atoms'][AtLookUp[HId]][cx:cx+3] = Hxyz[num] 1636 data['Atoms'][ -1][cia+1] = HU[num]1645 data['Atoms'][AtLookUp[HId]][cia+1] = HU[num] 1637 1646 except KeyError: 1638 1647 delList.append(HId) 1639 1648 continue 1640 for HId in delList: #clear out deleted H-atom s1649 for HId in delList: #clear out deleted H-atom pointers 1641 1650 del HydIds[HId] 1651 if not len(HydIds): 1652 G2frame.dataFrame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False) 1642 1653 data['Drawing']['Atoms'] = [] 1643 1654 UpdateDrawAtoms() … … 1706 1717 return atomInfo 1707 1718 1708 def AtomInsert(x,y,z): 1709 indx = Atoms.GetSelectedRows() 1710 if indx: 1711 indx = indx[0] 1712 atomData = data['Atoms'] 1713 generalData = data['General'] 1714 Ncol = Atoms.GetNumberCols() 1715 E,SGData = G2spc.SpcGroup(generalData['SGData']['SpGrp']) 1716 Sytsym,Mult = G2spc.SytSym([0,0,0],SGData) 1717 atId = ran.randint(0,sys.maxint) 1718 if generalData['Type'] == 'macromolecular': 1719 atomData.insert(indx,[0,'UNK','','UNK','UNK','',x,y,z,1,Sytsym,Mult,'I',0.10,0,0,0,0,0,0,atId]) 1720 elif generalData['Type'] == 'nuclear': 1721 atomData.insert(indx,['UNK','UNK','',x,y,z,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0,atId]) 1722 elif generalData['Type'] in ['modulated','magnetic']: 1723 atomData.insert(indx,['UNK','UNK','',x,y,z,1,Sytsym,Mult,0,'I',0.01,0,0,0,0,0,0,atId,[],[],SSdefault]) 1724 SetupGeneral() 1719 def AtomInsert(indx,x,y,z,El='H',Name='UNK'): 1720 atomData = data['Atoms'] 1721 generalData = data['General'] 1722 Ncol = Atoms.GetNumberCols() 1723 E,SGData = G2spc.SpcGroup(generalData['SGData']['SpGrp']) 1724 Sytsym,Mult = G2spc.SytSym([0,0,0],SGData) 1725 atId = ran.randint(0,sys.maxint) 1726 if generalData['Type'] == 'macromolecular': 1727 atomData.insert(indx,[0,Name,'',Name,El,'',x,y,z,1,Sytsym,Mult,'I',0.10,0,0,0,0,0,0,atId]) 1728 elif generalData['Type'] == 'nuclear': 1729 atomData.insert(indx,[Name,El,'',x,y,z,1,Sytsym,Mult,'I',0.01,0,0,0,0,0,0,atId]) 1730 elif generalData['Type'] in ['modulated','magnetic']: 1731 atomData.insert(indx,[Name,El,'',x,y,z,1,Sytsym,Mult,0,'I',0.01,0,0,0,0,0,0,atId,[],[],SSdefault]) 1732 SetupGeneral() 1725 1733 1726 1734 def AtomDelete(event): … … 1740 1748 del atomData[ind] 1741 1749 if 'Atoms' in data['Drawing']: 1750 Atoms.ClearSelection() 1742 1751 DrawAtomsDeleteByIDs(IDs) 1752 data['Drawing']['Atoms'] = [] 1753 UpdateDrawAtoms() 1743 1754 wx.CallAfter(FillAtomsGrid,Atoms) 1744 1755 G2plt.PlotStructure(G2frame,data)
Note: See TracChangeset
for help on using the changeset viewer.