Digital Workshop

Welcome to the Digital Workshop Message Boards
It is currently December 23rd, 2024, 2:13 am

All times are UTC [ DST ]




Post new topic Reply to topic  [ 61 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
 Post subject:
PostPosted: May 1st, 2008, 11:13 pm 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Stephen,

You've indeed managed to "open a can of worms" with this dilemma of a batch of straight lines. :P

I'm at the edge of familiar ground. I too am not into VB and the deeper developer tools. At this point, help or suggestions for "alternatives" will have to come from Mack and the deeper knowledge pool. Maybe start with what your objectives are, the target age group of users, whether this is for a game or play or what-use for the drawings... do they need to be saved/printed etc. There's a few different things out there with Java in webpages, perhaps some google apps, meeting/whiteboard tools. (mix-license issues aside --- GPL/opensource vs. one's one pub).

BTW, when I played with cloning a bit, I couldn't get just one clone. Seemed to spawn many clones as the clone action I had was still tied to live mouse movement. Interesting 'fan' effects (radial lines). But not helpful here.

_________________
_good things come to those who wait(0)_


Top
 Profile  
 
 Post subject:
PostPosted: May 1st, 2008, 11:28 pm 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Lar_123

I've been working on this pedigree drawing tool for a couple of years, on and off. The line drawing is the last item needing improvement.

This family tree diagram tool is part of a larger genetics/family health history eLearning piece given away to students (college/university level when I guest lecture a class for academic colleagues). The eLearning materials, plus family tree diagramming can be used by adults to create a visual health history that they can take to their physician visits to improve prevention and care.

Creating a family tree diagram to visually record one's family health history is a work that extends over several sessions. New information is discovered, data already recorded is found to be inaccaurate and needing deletion or updating. So, ability to save and reload the latest drawn diagram (as well as copy, print) is essential, as is ability to edit it in runtime.

Current line drawing, absent any breakthrough with the v6 drawing tools, unfortunately, is awkward: makes the tool less than user-friendly. The user has to left and right and double left or double right click, use arrow or number key additional modifiers to scale cloned lines and rotate them to fit between (connect) diagram symbols in the family tree. So, I continue to try to improve this one area.

One of these days, either a breakthrough or I'll stop from exhaustion. :)

Thanks for your continued interest and help.

Kind Regards,

_________________
Stephen


Top
 Profile  
 
 Post subject:
PostPosted: May 1st, 2008, 11:54 pm 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Now I remember you had raised questions about that.

Still, would be good to get a 'visual example'... simple starting sketch, and what a user might add to it.

I did an experiment pub some time ago. Drag and drop, draw a line connecting. Move dropped object to other zone and redraw the line there. I did not have in-mind building a tree structure though, just matching relationships. Not easily getting configuration "recorded" as data either.

I think I also drew lines to Listboxes. But I don't think you can select multiple items in an Opus Listbox.

Quote:
One of these days, either a breakthrough or I'll stop from exhaustion. Smile
Or, pass on the conditioning to your offspring.

_________________
_good things come to those who wait(0)_


Top
 Profile  
 
 Post subject:
PostPosted: May 2nd, 2008, 12:40 am 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Lar_123

One thing I don't lack: images of what pedigrees and genograms look like. Here are a few.

As you can see, the drawing capability needs to be robust to create these type of diagrams.


You do not have the required permissions to view the files attached to this post.

_________________
Stephen


Top
 Profile  
 
 Post subject:
PostPosted: May 2nd, 2008, 1:20 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Stephen,

That's quite an undertaking. :shock: I'd be tempted to buy a tool for CAD/electronics and replace the widget library.:wink: I'd bet there are some related open-source license tools where you could customize the library and redistribute (still preserving your library copyright). Don't know what you'd have for a manifest, data-trail, database.

In Opus, if you have the users picking and placing the 'people objects', then modifying the attributes of those should be easy. As you've stated, the 'connector lines' are the challenge... could those be pick and place also? Standard shapes and spacing up to ~6 siblings? (you had a prior thread on connecting objects/calculating position... did you give up on that? That would have been the equivalent of 'vector gadgets', whereas latest draw-line is more seeming like a 'bitmap result'?)

I wish you luck and progress with this. It is reaching new ground for Opus.

Larry

thanks for the real-world pics... quite enlightening.

_________________
_good things come to those who wait(0)_


Top
 Profile  
 
 Post subject:
PostPosted: May 2nd, 2008, 4:21 am 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Thanks, Larry, for your thoughts.

At this point, with some help along the way from forum colleagues and DW support, I gotten the Opus program pretty far along. The people symbols are capable, via transparency scripting, of showing up to 8 color quadrants (symbolizing and tracking health conditions), keyed to the user's legend for their family's health. Symbols are cloned, dragged and dropped, display characteristics saved for re-opening. Even encryption to protect health sensitive data on the user's machine as well as should they wish to send the data to another family member with the program to facilitate family researching.

Lines are cloned, dragged and dropped also. But with most triggers used up for cloning, dragging, other needed actions, line scaling (lengthening, shortening to fit between and connect shapes) and rotating to get the proper angle are unfortunately awkward. That's where I had hoped the v6 drawing tools could smooth out line drawing: place the mouse at one shape's edge, draw the connecting line, save, similar to other shapes, to be easily re-opened for later editing. If only the v6 line drawing...

Yes, I guess it "pushes the envelope" for Opus: either making a unique and challenging use or attemption to reach an impossible "bridge too far" (full of quotes these days). :lol:

I'm eternally hopeful that a suggestion will come, pointing to a solution, or a breakthrough using the v6 drawing tools or, perhaps, DW's extending their functionality in an update...

Again, thanks for your ideas. I'll try to keep at it.

Kind Regards,

_________________
Stephen


Top
 Profile  
 
 Post subject:
PostPosted: May 2nd, 2008, 6:49 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Stephen,

I find it an intriguing effort.

Quote:
But with most triggers used up
Are you saying you've used the Ctrl+Left Mouse and Alt+Right Mouse, etc? Wow!!, those are going to be some busy fingers.

Quote:
line scaling (lengthening, shortening to fit between and connect shapes) and rotating to get the proper angle are unfortunately awkward.
Have you tried using MouseWheel? For scaling, skewing, or rotating a Frame containing 'connector'.
Or a Keypressed trigger (eg. Alt+R.Arrow for SkewH by+5% in 0.1 secs.). Sorry, if that's redundant and you've been over that already. Again, this assumes more of shapes and objects, not live draw.


Quote:
Yes, I guess it "pushes the envelope" for Opus: either making a unique and challenging use or attemption to reach an impossible "bridge too far" (full of quotes these days).

Just think of all those 'early folks' who twisted ASCII or line-char sets to "illustrate" something or generate tables.

Cheers,
Larry

_________________
_good things come to those who wait(0)_


Top
 Profile  
 
 Post subject:
PostPosted: May 2nd, 2008, 12:44 pm 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Larry

I regret that I wasn't clear about using up triggers. I've used up the standard ones, like left or right click and double-click. This leaves using click plus modifiers (for example, mouse over plus right arrow key, etc.), which I have used.

The issue is awkwardness: I believe the combination of using scaling/rotating via these click plus modifier triggers provide less than optimal experiences for users. For example, to get a cloned line to repeatedly rotate by a +5 angle (say the user needs the line to get to 45 degrees), they mouse over and simultaneously hold the right arrow key down. If they go too many degrees, then it's mouse over while holding the left arrow key, etc. And variations on this for lengthening or shortening the line to fit it between 2 dropped shapes, where there can be 30, 50 or more shapes in the diagram needing connecting lines of varying lengths at varying angles.

Diagram drawing tools on the market generally feature a far smoother experience: click the line button in the tool palette, draw a line via mouse down from the edge of one shape to the next. Drag it, use a grab handle to stretch, shorten, rotate it. Smooth and easy.

So, the current line drawing works, but quite awkwardly, and with, I suspect, more effort that most would want to do. I'd like to get it to the point that drawing is as simple, responsive and user-friendly as described for other drawing tools. :)

You mention the mouse wheel. That presents an interesting option. I'm not familiar with using it in Opus. How could it be used?

Kind Regards,

_________________
Stephen


Top
 Profile  
 
 Post subject:
PostPosted: May 3rd, 2008, 1:12 am 
Offline

Joined: November 11th, 2004, 4:05 am
Posts: 636
Location: Christchurch, NZ
Stephen wrote:
And variations on this for lengthening or shortening the line to fit it between 2 dropped shapes, where there can be 30, 50 or more shapes in the diagram needing connecting lines of varying lengths at varying angles..............
..............
Diagram drawing tools on the market generally feature a far smoother experience: click the line button in the tool palette, draw a line via mouse down from the edge of one shape to the next. Drag it, use a grab handle to stretch, shorten, rotate it. Smooth and easy............

Opus will struggle to process the amount of math required quickly enough to run a pub like this with many dynamic variable length lines.
Been there -- Done that.
If you do consider using another application to do your project with -- C# (for example) has a lot of program code and help available.
There are other programming environments that might look easier to use, but you can't beat a programming application that has a good selection of books available and an active user community with the programming skills to help you along.

I don't think Opus was designed for projects like this.

Paul


Top
 Profile  
 
 Post subject:
PostPosted: May 3rd, 2008, 4:12 am 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Paul

Thanks for your ideas. I have been looking at REALbasic to possibly create a drawing utility for my eLearning project, but it will take a while to learn enough to even try. Meanwhile, I am still hoping to improve on the Opus tool: maybe enough to get smooth, user-friendly line drawing thereby saving myself a long road ahead with RB.

I've experimented with another and different line drawing route in Opus and am attaching a sample .imp. At present, while it works, I would like to cut down on the steps to clone and position the line between the dragged and dropped shapes in the canvas. If only the line can be cloned and moved in one step to position between the 2 shapes using the mouse to identify each shape's edge. I'm just not able to figure out the complete scripting, though at least the maths are working. The goal would be to provide the user the opportunity to clone as many lines as needed to connect many shapes, ideally in a "point and click" one-step process for each. I've tried a variety of actions but one or another item fails to work or conflicts.

Any help would be appreciated.

Kind Regards,


You do not have the required permissions to view the files attached to this post.

_________________
Stephen


Top
 Profile  
 
 Post subject:
PostPosted: May 4th, 2008, 12:48 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Stephen,

I sure think you can get there AND achieve a way the user can easily create their illustration. ( I'm skeptical about Opus draw line/point tools doing that. I would think pick and place of a line object and possibly a composite line object would go far. )

Anyway,
Quote:
You mention the mouse wheel. That presents an interesting option. I'm not familiar with using it in Opus. How could it be used?

At first it seems a little bit of a challenge, but with a little practice and play you can get the hang of it. Not 'enough' information in the manual or help files to explain "what's going on"... but the command examples there are clear.

I've attached a sample pub you can play with.

Quote:
If only the line can be cloned and moved in one step to position between the 2 shapes using the mouse to identify each shape's edge. ...at least the maths are working.

Have you looked at GetDisplayData()? Maybe that's the "maths" you refer to. [Edit: okay, I see your sample, uses that]. You should not have to burden the User with specific 'edges'. Opus gives so many options... I would think of the sybling connector as a Group-object. Or perhaps a Frame with set lines (horiz. scaling would not throw off geometries). Just some thoughts.

Cheers,
Larry

[Edit: I just added a note inside the pub that the Lock/Unlock button does not work to "relock". Minor issue for 'play' purposes.]


You do not have the required permissions to view the files attached to this post.

_________________
_good things come to those who wait(0)_


Last edited by Lar_123 on May 4th, 2008, 4:55 am, edited 2 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: May 4th, 2008, 3:00 am 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Larry

Thank you for these fascinating examples and interesting ideas. It will take some time to fully digest them and see how they can be adapted.

My initial impression is that you've taken Opus to new heights of creativity with these extraordinary uses of animation and the mouse wheel. :)

Kind Regards,

_________________
Stephen


Top
 Profile  
 
 Post subject:
PostPosted: May 4th, 2008, 5:05 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Thanks for the kind words Stephen.

Hope it gives you some extra tools and options.
( I added a note in the pub... see 'edit' above)
I played with your latest sample a bit. Was able to put sibling lines as a set in a Frame, clone and drag that to work area. But I haven't worked out how to ScaleH() that clone.

Can't think about it now. Clones boggle my mind. (you don't have a symbol for clone in your geneology kit?). :lol:

_________________
_good things come to those who wait(0)_


Top
 Profile  
 
 Post subject:
PostPosted: May 4th, 2008, 10:26 am 
Offline
Godlike
Godlike

Joined: November 12th, 2005, 1:56 am
Posts: 1474
Location: SFBay Area
Opus: OpusPro v9.0x, & Evol.
OS: Vista32
System: Core 2 duo 2Ghz, RAM 3GB, Nvidia Go 7700 - laptop
Stephen

Getting back to "which line is selected" for deleting etc. I got 'interested' and thought I might have use for a more generalized solution for a case like that.

I posted a new topic, as the problem is pretty basic... until you get to 100 objects... or get to working with clones. So here is a generalized way to have a user click on something and then you have the Obj Name identified, to pass to other operations.
viewtopic.php?p=13670#13670

You could perhaps stick with a more direct approach however with your lines/clones. On a MouseClick, call a function and pass the clone name. Function will apply a Flare to the line. Have to use eval() command to take name of the clone within the function.... something like this
Code:
// call this function from a mouseclick on the clone
// e.g.   highlight_thisOne( this.GetName() )
// and in page script object...
//
//
function highlight_thisOne( calledFROM )
{
var tempname = calledFROM ;
var operation1 =   tempname + "." + "SetFlare( flareparameters )" ;
eval( operation1 )
}  //end funct.
//
// something like the next 2 lines might be included w/i function
// wait(1)
// eval( operation that removes flare )
//  my 'syntax' for the operation1 string may be 'off'... need tweaking
// fill-in your own Flare parms



p.s. I'm staying in-touch on this as I'm learning about clones from you and your project. Thx.

_________________
_good things come to those who wait(0)_


Top
 Profile  
 
 Post subject:
PostPosted: May 4th, 2008, 3:36 pm 
Offline
Godlike
Godlike

Joined: November 11th, 2004, 1:18 pm
Posts: 1213
Location: New York
Opus: Opus Pro 9.75
OS: Windows 10 Pro 64 bit
System: Core i7, 16G RAM, Nvidia 640GT (desktop), plus Windows 10 and Android tablets
Hi Larry

Again, thanks for these many helpful ideas.

A word about the current family tree tool: there's a shapes palette with squares (male symbol), circles (female symbol) and several lines (symbolizing marriage, parent-child descent, conflict, etc.--see previous images zip folder for genogram and pedigree symbols). The user can right-click on any symbol in the palette and it will be cloned to a spot just above the diagram's canvas, from where it can be dragged onto the diagram and dropped. Symbol clones are named in the initial cloning operation and their display characteristics are saved for re-loading and editing at subsequent re-boots of the program. The tools works very well and smoothly except the line piece.

Because cloning is right-click and dragging/dropping left mouse down, the lines (which are a finite length and angle) are awkwardly lengthened or shortened and + or - rotated using double-right or left clicks by the user to fit them between shape symbols at a variety of distances and angles on the canvas.

If I can figure out a way to set up a tool that the user can employ to either (1) draw straight lines (solid, dotted, some with arrow-ends, etc.) between the shapes or (2) position cloned lines from one shape's edge to another, I'd be "home free." Since the current tool can do this with awkward effort, a critical improvement would be to accomplish this in a smooth, user-friendly single effort. For example, click the 2 shapes' edges and a cloned line (selected previously for style, for example, solid, dotted, dashed, etc.) is pasted between the 2, connecting them. And, any improvment must retain the already existing ability to be named, saved and re-opened and edited upon re-load.

One of the unsolved problems is that the shapes themselves are multiframes holding and cycling through 4 quadrants of color vectors which can be left-clicked to advance (allows the user to choose colors to symbolize different health conditions). So, clicking at the edge of a shape to get the mouse pos as part of pasting a cloned line between it and a second shape risks accidentally advancing the multiframe and getting the wrong color to display. Ugh! So, I need to be able to disable/enable actions if I am using the same triggers, or instead one of action, I'll get both.

One experiment I am trying, so far unsuccessfully, is to re-use triggers like left clcik and left double-click to define the shapes' edges and clone/paste connecting lines is some means via function calls and disabling/enabling the canvas frame cloning/pasting actions. Haven't figured this out yet, but it may be fruitful.

I'll attach the latest working .imp. Perhaps, you can suggest a way to get this model working better.

(Some reading this may be prompted to say that this is too complex. But, while challenging, I also think it can be done.)

Any ideas will be appreciated.

Hope this gives you some ideas about cloning.

Kind Regards,


You do not have the required permissions to view the files attached to this post.

_________________
Stephen


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 61 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 44 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group