Changeset 2451


Ignore:
Timestamp:
Aug 25, 2016 3:10:53 PM (5 years ago)
Author:
vondreele
Message:

Add target atom type selection to sphere of enclosure

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIgrid.py

    r2450 r2451  
    330330    :param general: general data (includes drawing data)
    331331    :param atoms: drawing atoms data
     332    :param indx: list of selected atoms (may be empty)
    332333   
    333334    '''
     
    341342        self.Sphere = 1.0
    342343        self.centers = []
     344        self.atomTypes = [[item,True] for item in self.General['AtomTypes']]
    343345       
    344346        self.Draw()
     
    356358                pass
    357359            radius.SetValue('%.3f'%(self.Sphere))
     360           
     361        def OnAtomType(event):
     362            Obj = event.GetEventObject()
     363            id = Ind[Obj.GetId()]
     364            self.atomTypes[id][1] = Obj.GetValue()
    358365       
    359366        self.panel.Destroy()
     
    384391        sphereSizer.Add(radius,0,WACV)
    385392        mainSizer.Add(sphereSizer,0,WACV)
     393        mainSizer.Add(wx.StaticText(self.panel,label=' Target selected atoms:'),0,WACV)
     394        atSizer = wx.BoxSizer(wx.HORIZONTAL)
     395        Ind = {}
     396        for i,item in enumerate(self.atomTypes):
     397            atm = wx.CheckBox(self.panel,label=item[0])
     398            atm.SetValue(item[1])
     399            atm.Bind(wx.EVT_CHECKBOX, OnAtomType)
     400            Ind[atm.GetId()] = i
     401            atSizer.Add(atm,0,WACV)
     402        mainSizer.Add(atSizer,0,WACV)
    386403       
    387404        OkBtn = wx.Button(self.panel,-1,"Ok")
     
    402419       
    403420    def GetSelection(self):
    404         return self.centers,self.Sphere
     421        used = []
     422        for atm in self.atomTypes:
     423            if atm[1]:
     424                used.append(str(atm[0]))
     425        return self.centers,self.Sphere,used
    405426
    406427    def OnOk(self,event):
  • trunk/GSASIIphsGUI.py

    r2450 r2451  
    41814181        try:
    41824182            if dlg.ShowModal() == wx.ID_OK:
    4183                 centers,radius = dlg.GetSelection()
     4183                centers,radius,targets = dlg.GetSelection()
    41844184                for orig in centers:
    41854185                    xyzA = np.array(orig)
    41864186                    for atomB in atomData[:numAtoms]:
     4187                        if atomB[ct] not in targets:
     4188                            continue
    41874189                        xyzB = np.array(atomB[cx:cx+3])
    41884190                        Uij = atomB[cuij:cuij+6]
Note: See TracChangeset for help on using the changeset viewer.