Feature Requests item #3013441, was opened at 2010-06-08 16:15
Message generated for change (Comment added) made by hansonr
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=379136&aid=3013441&group_id=23629

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Interface Improvements
Group: None
Status: Open
Priority: 5
Private: No
Submitted By: David Koes (dkoes)
Assigned to: Nobody/Anonymous (nobody)
Summary: selection of isosurfaces

Initial Comment:
For my application I need to be able to select isosurfaces (mostly spheres) and 
for the selected surface to be the one on top in the current view.  I've 
attached the diff of my code that enables this feature with the current svn 
snapshot.  There are some changes to navigation by surfaces that are necessary 
to support both modes. It would be really great if this feature could be rolled 
into the official Jmol source.

Thanks, -Dave

----------------------------------------------------------------------

>Comment By: Bob Hanson (hansonr)
Date: 2010-06-10 11:25

Message:
for this:

-    if (viewer.getNavigationMode() && viewer.getNavigateSurface() 
-        && (shape = shapes[JmolConstants.SHAPE_ISOSURFACE]) != null && 
+    if ((shape = shapes[JmolConstants.SHAPE_ISOSURFACE]) != null && 
         (pt = shape.checkObjectClicked(x, y, modifiers, bsVisible)) !=
null)

I'd rather tie this into 

set drawPicking

same as we have now:

set drawHover

shows isosurface points upon hovering.

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2010-06-10 11:16

Message:
-    bind(SINGLE_CLICK+ALT+LEFT, ActionManager.ACTION_pickIsosurface);     

+    bind(SINGLE_CLICK+LEFT, ActionManager.ACTION_pickIsosurface);      


You need to set the binding yourself for this specialized application. I
don't think it's appropriate to be generally picking isosurface points.
With a large isosurface this could be VERY time intensive.


----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2010-06-10 11:15

Message:
I don't think this is going to work:

-    if (isBound(action, ACTION_pickAtom) || isBound(action,
ACTION_pickPoint)
-        || isDragSelected) {
+    if (nearestAtomIndex >= 0 && (isBound(action, ACTION_pickAtom) ||
isBound(action, ACTION_pickPoint)
+        || isDragSelected)) {
  
       atomPicked(nearestAtomIndex, nearestPoint, isDragSelected ? 0 :
action);

because we need to enter that routine for some draw picking (set
drawPicking)

I suggest (having renamed that method to make it more clear:

      if (tokType != Token.isosurface)
        atomOrPointPicked(nearestAtomIndex, nearestPoint, isDragSelected ?
0 : action);


----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2010-06-10 10:50

Message:
sorry -- I should read more carefully!

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2010-06-10 10:45

Message:
Oh, also, I need to see changes to development branch, not 11.8. Nothing
new is going into 11.8. 

Thanks.

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2010-06-10 10:43

Message:
define "the one on top" please.  A few comments would be nice so I could
understand what you are after there in the code. Question:

-    if (isBound(action, ACTION_pickAtom) || isBound(action,
ACTION_pickPoint)
-        || isDragSelected) {
+    if (nearestAtomIndex >= 0 && (isBound(action, ACTION_pickAtom) ||
isBound(action, ACTION_pickPoint)
+        || isDragSelected)) {


Isn't nearestAtomIndex == -1 when a draw atom is picked in the mode

set picking draw

?


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=379136&aid=3013441&group_id=23629

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Jmol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to