From: John Stone (johns_at_ks.uiuc.edu)
Date: Fri Sep 01 2006 - 17:03:37 CDT

Hi,
  Picking is available for graphics objects starting with VMD 1.8.5.
I've attached an example script that shows how they can be picked
and reacted to...

Generally speaking, the stuff that would be most beneificial to
implement as built-in graphics commands are things that you'd generate
many many instances of in order to draw something useful (which would
be very slow otherwise), e.g. stuff composted of lots of spheres,
triangles, etc.

I've been planning on adding mesh primitives (which VMD already has
internally) which would make rendering of surfaces (used by the
Intersurf, Intervor, and Virtual DNA plugins) much faster and reduce
memory use etc.

I don't know what sort of parametric surfaces you have in mind, but
I wrote an example in the VMD script library that does this:
  http://www.ks.uiuc.edu/Research/vmd/script_library/scripts/3dparplot/

(though the color table code is now out of date... I'll have to update that)

Splines might be a good choice...

  John

On Fri, Sep 01, 2006 at 05:52:51PM -0400, Axel Kohlmeyer wrote:
> On Fri, 1 Sep 2006, Jan Saam wrote:
>
> JS> Hi John,
> JS>
> JS> Here are my two cents:
> JS> It would be nice to have an arrow, boxes and some sort of parametric
> JS> surfaces.
>
> yep, but at least for arrows, boxes (good point, i'll add that,
> and square) and alike, i would expect you can usually go
> without having a graphics version. if those are scripted,
> the bottleneck should be elsewhere.
>
> JS> And splines; I could use splines,too. (I know that VMD is no CAD program
> JS> but you were asking...)
> JS>
> JS> Also it would be nice if materials would be object specific, mot
> JS> molecule specific.
>
>
> JS> Further a 3D grid maybe even with rulers would be nice.
>
> something like that i have actually seen on some of the
> plugin/script pages linked from the VMD homepage...
>
>
> axel.
>
> JS> But what I would like most is if one could pick and move objects so that
> JS> one does not have to use dummy atoms. Consequently it would also be nice
> JS> to be able to transform objects using the trans/rot matrices.
> JS>
> JS> Jan
> JS>
> JS> John Stone wrote:
> JS> > Going a step further, if people have a need for some of these
> JS> > additions to run very fast, and they'd get used by a lot of
> JS> > people's analysis scripts/plugins/etc, I'm willing to consider
> JS> > creating new low-level drawing commands in VMD to boost performance
> JS> > if necessary...
> JS> >
> JS> > John
> JS> >
> JS> > On Fri, Sep 01, 2006 at 10:59:13PM +0200, Jan Saam wrote:
> JS> >
> JS> >> Hi Axel,
> JS> >>
> JS> >> Good idea!
> JS> >> Not checking what you have collected already I'm sending a file
> JS> >> containing 2 or 3 such commands.
> JS> >>
> JS> >> Grüße aus der Heimat,
> JS> >> Jan
> JS> >>
> JS> >> Axel Kohlmeyer wrote:
> JS> >>
> JS> >>> hi everybody,
> JS> >>>
> JS> >>> as many of you might know, the 'draw' command in VMD can be extended via
> JS> >>> providing procedures of the name vmd_draw_XXX, which would be turned into
> JS> >>> a draw XXX command. the general idea is to provide an option to
> JS> >>> overide the
> JS> >>> internal graphics command and intergrate compound objects built from the
> JS> >>> povided primitives. there is one example in the user's guide and i've
> JS> >>> started
> JS> >>> building some more, while at the same time making them as similar as
> JS> >>> possible
> JS> >>> to the internal graphics commands (and thus the default draw commands).
> JS> >>> the result is currently at:
> JS> >>> http://biocore.ks.uiuc.edu/biocore/biofs/VMD%20(Public)/src/rpm/vmd_draw_lib.tcl
> JS> >>>
> JS> >>> and can be used by copying it into $VMDDIR/scripts/init.d/ or using the
> JS> >>> contributed rpm(s).
> JS> >>>
> JS> >>> i'm currently looking for additional implementations of those kind of
> JS> >>> compound
> JS> >>> draw objects, so that i know what is used and needed and that we can have
> JS> >>> a reliable and consistent library of those scripts that could be
> JS> >>> shipped with
> JS> >>> vmd at some point in time and that script or plugin writer can depend on
> JS> >>> (and thus do not have to reinvent that wheel over and over again).
> JS> >>> don't worry, if your draw extension is not written as elaborately as the
> JS> >>> ones provided in the library so far, i'm more interested to see what
> JS> >>> other
> JS> >>> people want/need and some kind of prototype implementation.
> JS> >>>
> JS> >>> best regards,
> JS> >>> axel.
> JS> >>>
> JS> >>>
> JS> >> --
> JS> >> ---------------------------
> JS> >> Jan Saam
> JS> >> Institute of Biochemistry
> JS> >> Charite Berlin
> JS> >> Monbijoustr. 2
> JS> >> 10117 Berlin
> JS> >> Germany
> JS> >>
> JS> >> +49 30 450-528-446
> JS> >> saam_at_charite.de
> JS> >>
> JS> >
> JS> >
> JS>
> JS>
>
> --
> =======================================================================
> Axel Kohlmeyer akohlmey_at_cmm.chem.upenn.edu http://www.cmm.upenn.edu
> Center for Molecular Modeling -- University of Pennsylvania
> Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
> tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425
> =======================================================================
> If you make something idiot-proof, the universe creates a better idiot.

-- 
NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078