Changeset 521 for trunk/GSASIIplot.py


Ignore:
Timestamp:
Mar 15, 2012 3:10:29 PM (10 years ago)
Author:
vondreele
Message:

fourier maps & contouring - limiting sphere

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIplot.py

    r520 r521  
    22802280    if 'Map' in generalData:
    22812281        mapData = generalData['Map']
    2282         contLevel = drawingData['contourLevel']*mapData['rhoMax']
    2283         if 'delt-F' in mapData['MapType']:
    2284             rho = ma.array(mapData['rho'],mask=(np.abs(mapData['rho'])<contLevel))
    2285         else:
    2286             rho = ma.array(mapData['rho'],mask=(mapData['rho']<contLevel))
    2287         indx = np.array(ma.nonzero(rho)).T
    2288         steps = 1./np.array(rho.shape)
    2289         rhoXYZ = indx*steps
    22902282    cx,ct,cs = drawingData['atomPtrs']
    22912283    Wt = np.array([255,255,255])
     
    27182710        glPopMatrix()
    27192711       
    2720     def RenderMap(rhoXYZ,indx,rho,cLevel):
     2712    def RenderMap(rho,rhoXYZ,indx,Rok):
     2713        cLevel = drawingData['contourLevel']
    27212714        for i,xyz in enumerate(rhoXYZ):
    2722             x,y,z = xyz
    2723             I,J,K = indx[i]
    2724             alpha = 1.0
    2725             if cLevel < 1.:
    2726                 alpha = (abs(rho[I,J,K])/mapData['rhoMax']-cLevel)/(1.-cLevel)
    2727             if rho[I,J,K] < 0.:
    2728                 RenderSmallSphere(x,y,z,0.1*alpha,Rd)
    2729             else:
    2730                 RenderSmallSphere(x,y,z,0.1*alpha,Bl)
     2715            if not Rok[i]:
     2716                x,y,z = xyz
     2717                I,J,K = indx[i]
     2718                alpha = 1.0
     2719                if cLevel < 1.:
     2720                    alpha = (abs(rho[I,J,K])/mapData['rhoMax']-cLevel)/(1.-cLevel)
     2721                if rho[I,J,K] < 0.:
     2722                    RenderSmallSphere(x,y,z,0.1*alpha,Rd)
     2723                else:
     2724                    RenderSmallSphere(x,y,z,0.1*alpha,Bl)
    27312725                           
    27322726    def Draw():
     2727        if 'Map' in generalData:
     2728            mapData = generalData['Map']
     2729            contLevel = drawingData['contourLevel']*mapData['rhoMax']
     2730            if 'delt-F' in mapData['MapType']:
     2731                rho = ma.array(mapData['rho'],mask=(np.abs(mapData['rho'])<contLevel))
     2732            else:
     2733                rho = ma.array(mapData['rho'],mask=(mapData['rho']<contLevel))
     2734            indx = np.array(ma.nonzero(rho)).T
     2735            steps = 1./np.array(rho.shape)
     2736            rhoXYZ = indx*steps
     2737            radius = drawingData['mapSize']**2
     2738            view = np.array(drawingData['viewPoint'][0])
     2739            Rok = np.sum(np.inner(Amat,rhoXYZ-view).T**2,axis=1)>radius
    27332740        Ind = GetSelectedAtoms()
    27342741        VS = np.array(Page.canvas.GetSize())
     
    28662873#        glDisable(GL_BLEND)
    28672874        if len(rhoXYZ):
    2868             RenderMap(rhoXYZ,indx,rho,drawingData['contourLevel'])
     2875            RenderMap(rho,rhoXYZ,indx,Rok)
    28692876        if Backbone:
    28702877            RenderBackbone(Backbone,BackboneColor,bondR)
Note: See TracChangeset for help on using the changeset viewer.