If you use IupCanvas you can draw the axis yourself. In fact you have
to draw everything by yourself in this case.
Do you have a TODO whish list? Christmas was only a month ago but like we
say here. "Natal é quando um homem quiser"
Using IupPlot, you don't need to. But as I mentioned you are then
limited to the features provided by IupPlot.
About the diagonal, depends. If your line is composed of just two
points far away from each other I think the line will not be picked
because the >internal pick in IupPlot is just for samples of the dataset.
A segment pick can be implement by the application inside the
callbacks. This is not complicated and it can be available in future
versions. >Contributions are welcome...
Yes, I think we only need to compute the distance (in pixels) from a
point to a line and consider a successful pick when that distance is
smaller than a threshold. I may come to it if I reach that point of need.
Obrigado
Best,
Scuri
On Wed, Jan 21, 2015 at 5:53 PM, Joaquim Luis <[email protected]> wrote:
The replacement for IupPPlot is IupPlot. Is much more flexible are
richer.
Sim, I know. But the IupPlot version of that image doesn't show the
edited point. That's why I picked the IupPPlot one.
If instead of using an IupCanvas you use IupPlot, then things get
a little simpler, but not as flexible.
You should take a look at the IupPlot documentation first to check if
it fits your needs. In this case it already has a pick implemented
when you >>>click near a sample of a dataset.
I did skim the docs but it will take a while until I manage to get
something.
But this discussion brings me to another question I had. Like you saw
in the screenshots of Mirone, most of times I'm dealing with referenced
>>material (grids and images) in which case I really need to display a
set of axes. From my brief understanding of IUP I would have to use
IupPlot >>anyway to display the axes no?
About pick, that really depends on your data structure. But there
is no interpolation, just tests usually like x1 > x < x2. This is
how Matlab/IupPlot >>>actually does that.
Hmm, but that in my square canvas example with a diagonal line would
mean that any clicked point, no matter where (except perhaps the
borders) >>would trigger that condition!
Best,
Scuri
On Wed, Jan 21, 2015 at 3:19 PM, <[email protected]> wrote:
Ai António, you are scaring me.
The entity in Matlab is something not related to the drawing
itself. So
it is something that your application will have to store somehow, so
later
you will be able to do a pick operation. Matlab simplifies a lot the
process of creating an application. In a regular toolkit your will
need a
data structure where your maps and data sets are stored.
I was somehow expecting a thing like this (saw wht you did with the
linked lists in cdtest.c)
The in IUP the
button_cb callback will be called when the user click with the mouse
in the
IupCanvas, then you will need to translate the screen coordinates in
map
coordinates, then search in your database for an entity that is
nearest to
that coordinate, that is called "pick" in computer graphics
applications.
That's the horrible part. Do you mean that if for example I draw two
diagonal lines in a square canvas and than click exactly on the
midle, I'll have >>>>to interpolate to all pixels of my screen
between the two vertex of each line and see if my cliked point falls
in the neighborhood of those >>>>interpolated lines (and pick the one
at the top?). And now multiply this to all vertex of all possible
polylines existing in my drawing?
But such kind of things must have been solved many times before?
I was expecting that the image in the IupPPlot example (attached) was
done with some kind of point-click editing.
I don't have Matlab installed here any more but I saw that you did
a lot
of work on your application. To implement that without Matlab it
will take
a lot more work, but it will be very interesting.
Don't tell me. For some years I've been searching for a replacement
to Matlab ... and within my reach. I'm stuck to 32 bits and by no
means want >>>>to embrace the modern Matlab with all that OOP shit.
IUP seamed an excellent candidate but this is trully scary.
Cumprimentos
Joaquim
P.S. you can play with Mirone stand-alone version. No need for Matlab.
Best,
Scuri
On Wed, Jan 21, 2015 at 2:11 PM, <[email protected]> wrote:
Hi again,
OK, I can draw lines with cdCanvasLine() but I doubt assaulted me.
The
lines I see on the screen are raster or vectorial?
I will be needing to associate callbacks to certain actions that
should only be displayed when a user clicks on a line (or a point,
or
polygon, or ...). In Matlab one do that by associating a line
property
called UIContextMenu that in its turn let us declare callback
functions for different tasks.
In or this to work, the lines must be vectorial entities that one
can
select with a mouse click, hence my first question
How can we do that with IUP?
For an an example to what I want to do see for example this
screeshot
http://w3.ualg.pt/~jluis/mirone/images/datasets.jpg
Thanks and excuse if the answer is in some part of the manuals that
I
didn't find yet.
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn,
VA.
GigeNET is offering a free month of service with a new server in
Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely
compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in
Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely
compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users