[ 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/