Ah, good.

>What wasn't clear from Bob's explanation is how to map properties 
>onto these isosurfaces, ala the MEP which Jmol computers from partial 
>charge information.  I have separate grid of data (identical grid 
>points, of course) which I want to map onto my isosuface as a color 
>gradient.  Is this currently possible?  Bob?
>
>  
>

"identical grid points, of course"  -- this is totally unnecessary. Jmol 
does not use the same grid points, because that is the rare, special 
case. Instead, it determines the surface, then reads the second set of 
grid points and interpolates a data value from the second set.

The typical Jmol command would be

   isosurface molecular map MEP

this would

1) create a monochromic molecular surface -- pretty much at the VDW radii.
2) create a grid based on partial charges contained in the file
3) map that grid as MEP onto the first surface.

Now, you say you have the two cube data sets. OK, if these were in 
external files, we would just say:

isosurface "file1" map "file2"

but they are not in two files. So, what you need to do is use that 
interface I described earlier. Sounds like you have been able to use 
auxiliary data with the "jmolSurfaceInfo" ? Then what you need to do is 
also add a "JmolMappedDataInfo" set just like it, I think. (Haven't 
tried it -- figured I would leave that to you ;) Here's the code from 
Eval.java. It is reading the

  isosurface "" map ""

command -- so both file names are empty, indicating this is in 
auxiliaryInfo already.

      case Token.string:
        propertyName = surfaceObjectSeen || planeSeen ? "mapColor" : 
"getSurface";
        surfaceObjectSeen = true;
        /*
         * a file name, optionally followed by an integer file index.
         * OR empty. In that case, if the model auxiliary info has the
         * data stored in it, we use that. There are two possible 
structures:
         *
         * jmolSurfaceInfo
         * jmolMappedDataInfo
         *
         * Both can be present, but if jmolMappedDataInfo is missing,
         * then jmolSurfaceInfo is used by default.
         *
         */
        String filename = (String) token.value;
        if (filename.length() == 0) {
          if (surfaceObjectSeen || planeSeen)
            propertyValue = viewer.getModelAuxiliaryInfo(modelIndex, 
"jmolMappedDataInfo");
          if (propertyValue == null)
            propertyValue  = viewer.getModelAuxiliaryInfo(modelIndex, 
"jmolSurfaceInfo");
          if (propertyValue != null)
            break;


Thus, I think if you have set up auxiliaryInfo with both of these 
structures, then the simple command

viewer.script("isosurface \"\" \"\" ")

should display a mapped dataset. You can add parameters to adjust the 
cutoffs and coloration to your liking.

Bob



>Thanks again,
>JR Schmidt
>
>
>-------------------------------------------------------------------------
>Take Surveys. Earn Cash. Influence the Future of IT
>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>opinions on IT & business topics through brief surveys -- and earn cash
>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>_______________________________________________
>Jmol-developers mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/jmol-developers
>  
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Jmol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to