Changeset 936 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
May 30, 2013 9:05:36 AM (10 years ago)
Author:
vondreele
Message:

more MC/SA stuff
further drawing optimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r934 r936  
    12071207        FillAtomsGrid(Atoms)
    12081208        event.StopPropagation()
     1209        G2plt.PlotStructure(G2frame,data)
    12091210       
    12101211    def OnAtomViewAdd(event):
     
    12171218        FillAtomsGrid(Atoms)
    12181219        event.StopPropagation()
     1220        G2plt.PlotStructure(G2frame,data)
    12191221               
    12201222    def AtomAdd(x,y,z,El='H',Name='UNK'):
     
    12341236        if 'Atoms' in data['Drawing']:           
    12351237            DrawAtomAdd(data['Drawing'],atomData[-1])
    1236             G2plt.PlotStructure(G2frame,data)
    12371238
    12381239    def OnAtomInsert(event):
     
    12401241        FillAtomsGrid(Atoms)
    12411242        event.StopPropagation()
     1243        G2plt.PlotStructure(G2frame,data)
    12421244       
    12431245    def OnAtomViewInsert(event):
     
    12481250            FillAtomsGrid(Atoms)
    12491251        event.StopPropagation()
    1250        
    1251     def OnRBAppend(event):          #unfinished!
    1252         rbData = G2frame.PatternTree.GetItemPyData(   
    1253             G2gd.GetPatternTreeItemId(G2frame,G2frame.root,'Rigid bodies'))
    1254         general = data['General']
    1255         atomData = data['Atoms']
    1256         Amat,Bmat = G2lat.cell2AB(general['Cell'][1:7])
    1257         rbNames = {}
    1258         for rbVec in rbData['Vector']:
    1259             if rbVec != 'AtInfo':
    1260                 rbNames[rbData['Vector'][rbVec]['RBname']] = ['Vector',rbVec]
    1261         for rbRes in rbData['Residue']:
    1262             if rbRes != 'AtInfo':
    1263                 rbNames[rbData['Residue'][rbRes]['RBname']] = ['Residue',rbRes]
    1264         if not rbNames:
    1265             print '**** ERROR - no rigid bodies defined ****'
    1266             return
    1267         dlg = wx.SingleChoiceDialog(G2frame.dataFrame,'Select','Rigid body',rbNames.keys())
    1268         if dlg.ShowModal() == wx.ID_OK:
    1269             sel = dlg.GetSelection()
    1270             rbname = rbNames.keys()[sel]
    1271             rbType,rbId = rbNames[rbname]
    1272             RB = rbData[rbType][rbId]
    12731252       
    12741253    def OnAtomMove(event):
     
    40314010                Obj = event.GetEventObject()
    40324011                model = Indx[Obj.GetId()]
    4033                 model['MolCent'] = Obj.GetValue()
     4012                model['MolCent'][1] = Obj.GetValue()
     4013                if model['MolCent'][1]:
     4014                    G2mth.SetMolCent(model,RBData)               
    40344015                G2plt.PlotStructure(G2frame,data)
    40354016           
     
    40494030                rbsizer1.Add(posVal,0,wx.ALIGN_CENTER_VERTICAL)
    40504031            molcent = wx.CheckBox(MCSA,-1,label=' Use mol. center? ')
    4051             molcent.SetValue(model['MolCent'])
     4032            molcent.SetValue(model['MolCent'][1])
    40524033            molcent.Bind(wx.EVT_CHECKBOX,OnMolCent)
    40534034            Indx[molcent.GetId()] = model
     
    43184299            RB = rbData[rbType][rbId]
    43194300        body = {'name':RB['RBname']+'('+str(len(data['MCSA']['Models']))+')','RBId':rbId,'Type':rbType,
    4320             'Pos':[[0.,0.,0.],[False,False,False],[[0.,1.],[0.,1.],[0.,1.]]],'Ovar':'','MolCent':False,
     4301            'Pos':[[0.,0.,0.],[False,False,False],[[0.,1.],[0.,1.],[0.,1.]]],'Ovar':'','MolCent':[[0.,0.,0.],False],
    43214302            'Ori':[[1.,0.,0.,0.],[False,False,False,False],[[-180.,180.],[-1.,1.],[-1.,1.],[-1.,1.]]]}
    43224303        if rbType == 'Residue':
     
    43354316        data['MCSA'] = {'Models':[{'Type':'MD','Coef':[1.0,False,[0.,3.],],'axis':[0,0,1]}],'Results':[],'AtInfo':{}}
    43364317        G2plt.PlotStructure(G2frame,data)
    4337         UpdateMCSA()           
    4338                        
     4318        UpdateMCSA()
     4319       
     4320    def OnMCSAmove(event):
     4321        general = data['General']
     4322        Amat,Bmat = G2lat.cell2AB(general['Cell'][1:7])
     4323        xyz,aTypes = G2mth.UpdateMCSAxyz(Bmat,data['MCSA'])
     4324        for iat,atype in enumerate(aTypes):
     4325            x,y,z = xyz[iat]
     4326            AtomAdd(x,y,z,atype,Name=atype+'(%d)'%(iat+1))           
     4327        G2plt.PlotStructure(G2frame,data)
     4328                   
    43394329################################################################################
    43404330##### Pawley routines
     
    45614551                mag,x,y,z,d = mapPeaks[ind]
    45624552                AtomAdd(x,y,z,'H',Name='M '+'%d'%(int(100*mag/peakMax)))
     4553            G2plt.PlotStructure(G2frame,data)
    45634554   
    45644555    def OnPeaksClear(event):
     
    48264817            G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomAdd, id=G2gd.wxID_ATOMSEDITADD)
    48274818            G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomViewAdd, id=G2gd.wxID_ATOMSVIEWADD)
    4828             G2frame.dataFrame.Bind(wx.EVT_MENU, OnRBAppend, id=G2gd.wxID_RBAPPEND)
    48294819            G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomInsert, id=G2gd.wxID_ATOMSEDITINSERT)
    48304820            G2frame.dataFrame.Bind(wx.EVT_MENU, OnAtomViewInsert, id=G2gd.wxID_ATOMVIEWINSERT)
     
    49154905            G2frame.dataFrame.Bind(wx.EVT_MENU, OnMCSAaddRB, id=G2gd.wxID_ADDMCSARB)
    49164906            G2frame.dataFrame.Bind(wx.EVT_MENU, OnMCSAclear, id=G2gd.wxID_CLEARMCSARB)
     4907            G2frame.dataFrame.Bind(wx.EVT_MENU, OnMCSAmove, id=G2gd.wxID_MOVEMCSA)
    49174908            UpdateMCSA()                       
    49184909            wx.CallAfter(G2plt.PlotStructure,G2frame,data)
Note: See TracChangeset for help on using the changeset viewer.