[ ofset-Bugs-drgeo-851093 ] Macro-Script feature

"SourceForge.net" <[email protected]> Sat, 29 Nov 2003 02:58:37 -0800
Newsgroups gmane.comp.graphics.dr-geo
Message-ID <[email protected]>
Bugs-drgeo item #851093, was opened at 2003-11-29 10:53
Message generated for change (Comment added) made by hilaire
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=530554&aid=851093&group_id=13320

Category: Feature
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Hilaire Fernandes (hilaire)
Assigned to: Hilaire Fernandes (hilaire)
Summary: Macro-Script feature

Initial Comment:
Is it possible to create points and things from a guile
script (NOT a figure script that would be evaluated,
but rather a script that is created in an
already-existing figure?

I want to implement geometric inversion, so i want to
make new points/lines/circles based on already-existing
points/lines/circles. 

What would be the way to do that? (I'd rather not to
construction macros with loci for this)

Marcel Birrthelmer <marcel-aE3gVXIT7zoqDJ6do+/[email protected]>

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

>Comment By: Hilaire Fernandes (hilaire)
Date: 2003-11-29 10:58

Message:
Logged In: YES 
user_id=14191

This would be a very powerful tool for the users. I had a
similar idea, but I'm not sure how it should be integrated
into the user interface.
Dr. Geo could offer a second side pane (like the one with
the object list which is there now). In that side pane,
there should be a list with all available tools: Built-in
tools, macro constructions and Scheme macros.

When the user selects one of these buttons/list items, it
becomes the "active" tool and works much like the current
construction tools work (i.e. point & click to select the
input parameters).

> In short a macro-script could be a Scheme function (+
helper functions
> as lambda functions) expecting as arguments references
toward other
> objects, then when evalulated the macro-script will
produce interesting
> side effect as the creation of new objects in an existing
figure. The
> macro-script will be evaluate only once, as the
macro-construction.

Like (beware, broken Lisp ahead)

(define trisection (x, y)
   (translate x (scale (Vector y x) 0.33))
   (translate x (scale (Vector y x) 0.66))
)

?

That's how I would imagine it: This function would calculate
two points between x and y (which must be points) so that
d(x,p1) = d(p1,p2) =d(p2,y).

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

Comment By: Hilaire Fernandes (hilaire)
Date: 2003-11-29 10:55

Message:
Logged In: YES 
user_id=14191

Yes, that sounds exactly like what I was thinking of. In
terms of GUI implementation, I'd like to see something
flexible, with a variable number of parameters. I.e. click
the macro button, select any number of objects, click 'Run',
and it'll perform the given script on all objects. 

This would be particularly useful for broad-scope
transformations (i.e. inversion of the entire plane).

Also, I'd still be very much in favor of making objects in
the tree (to the left of the drawable area) clickable in the
same manner as their 2D representations, so that to make a
circle, for example, i could select 2 points from the list
instead of on the drawing area.

marcel

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

Comment By: Hilaire Fernandes (hilaire)
Date: 2003-11-29 10:55

Message:
Logged In: YES 
user_id=14191

What you are talking about look's like "macro-script" this
the kind of feature which can be added in the future of DrGeo. 

I undersand it as a mixt of the macro-constrction and the
DrGeo Scheme Figure (DSF) features. The DSF could be
immeditly  reused to implment the macro-script.

In short a macro-script could be a Scheme function (+ helper
functions as lambda functions) expecting as arguments
references toward other objects, then when evalulated the
macro-script will produce interesting side effect as the
creation of new objects in an existing figure. The
macro-script will be evaluate only once, as the
macro-construction.


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

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=530554&aid=851093&group_id=13320


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/