Changeset 1930 for trunk/GSASIIphsGUI.py
- Timestamp:
- Jul 16, 2015 1:37:20 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r1928 r1930 1571 1571 if 'C' in neigh[0] or 'N' in neigh[0]: 1572 1572 nH = 4-len(neigh[1][0]) 1573 bonds = dict(neigh[1][0])1573 bonds = {item[0]:item[1:] for item in neigh[1][0]} 1574 1574 nextName = '' 1575 1575 if len(bonds) == 1: … … 1577 1577 for bond in bonds: 1578 1578 if 'C' in neigh[0]: 1579 if 'C' in bond and bonds[bond] < 1.42:1579 if 'C' in bond and bonds[bond][0] < 1.42: 1580 1580 nH -= 1 1581 1581 break 1582 elif 'O' in bond and bonds[bond] < 1.3:1582 elif 'O' in bond and bonds[bond][0] < 1.3: 1583 1583 nH -= 1 1584 1584 break 1585 elif 'O' in neigh[0] and 'C' in bonds and bonds[bond] < 1.3:1585 elif 'O' in neigh[0] and 'C' in bonds and bonds[bond][0] < 1.3: 1586 1586 nH -= 1 1587 1587 break … … 1595 1595 Neigh.append(neigh) 1596 1596 if Neigh: 1597 HydIds = {} 1597 1598 mapError = False 1598 1599 dlg = G2gd.AddHatomDialog(G2frame,Neigh,data) … … 1607 1608 continue 1608 1609 Hxyz = G2mth.AddHydrogens(AtLookUp,generalData,atomData,AddHydIds[ineigh]) 1609 for X in Hxyz:1610 for iX,X in enumerate(Hxyz): 1610 1611 Nat += 1 1611 1612 AtomAdd(X[0],X[1],X[2],'H','H(%d)'%(Nat)) 1613 Id = data['Atoms'][-1][cia+8] 1614 HydIds[Id] = [iX,AddHydIds[ineigh]] 1612 1615 if mapError: 1613 1616 G2frame.ErrorDialog('Add H atom error','Adding O-H atoms requires delt-F map') 1614 1617 SetupGeneral() 1618 data['General']['HydIds'] = HydIds 1619 G2frame.dataFrame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True) 1615 1620 FillAtomsGrid(Atoms) 1616 1621 dlg.Destroy() … … 1618 1623 else: 1619 1624 wx.MessageBox('No candidates found',caption='Add H atom Error',style=wx.ICON_EXCLAMATION) 1625 1626 def OnHydAtomUpdate(event): 1627 Error = '' 1628 generalData = data['General'] 1629 cx,ct,cs,cia = generalData['AtomPtrs'] 1630 atomData = data['Atoms'] 1631 AtLookUp = G2mth.FillAtomLookUp(atomData,cia+8) 1632 HydIds = data['General']['HydIds'] 1633 for HId in HydIds: 1634 hydIds = HydIds[HId] 1635 num = hydIds[0] 1636 Hxyz = G2mth.AddHydrogens(AtLookUp,generalData,atomData,hydIds[1]) 1637 try: 1638 data['Atoms'][AtLookUp[HId]][cx:cx+3] = Hxyz[num] 1639 except KeyError: 1640 Error += 'Hydrogen atom not in atom list - ignored\n' 1641 continue 1642 FillAtomsGrid(Atoms) 1643 G2plt.PlotStructure(G2frame,data) 1644 if Error: 1645 wx.MessageBox(Error,caption=' H atom update Error',style=wx.ICON_EXCLAMATION) 1620 1646 1621 1647 def OnAtomMove(event): … … 6262 6288 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomViewInsert, id=G2gd.wxID_ATOMVIEWINSERT) 6263 6289 G2frame.dataFrame.Bind(wx.EVT_MENU, OnHydAtomAdd, id=G2gd.wxID_ADDHATOM) 6290 G2frame.dataFrame.Bind(wx.EVT_MENU, OnHydAtomUpdate, id=G2gd.wxID_UPDATEHATOM) 6264 6291 G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomMove, id=G2gd.wxID_ATOMMOVE) 6265 6292 G2frame.dataFrame.Bind(wx.EVT_MENU, AtomDelete, id=G2gd.wxID_ATOMSEDITDELETE) … … 6272 6299 G2frame.dataFrame.Bind(wx.EVT_MENU, OnDistAnglePrt, id=G2gd.wxID_ATOMSPDISAGL) 6273 6300 G2frame.dataFrame.Bind(wx.EVT_MENU, OnIsoDistortCalc, id=G2gd.wxID_ISODISP) 6301 if 'HydIds' in data['General']: 6302 G2frame.dataFrame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,True) 6303 else: 6304 G2frame.dataFrame.AtomEdit.Enable(G2gd.wxID_UPDATEHATOM,False) 6274 6305 for id in G2frame.dataFrame.ReImportMenuId: #loop over submenu items 6275 6306 G2frame.dataFrame.Bind(wx.EVT_MENU, OnReImport, id=id)
Note: See TracChangeset
for help on using the changeset viewer.